reklama
reklama
reklama
reklama
reklama
reklama
© Pixabay
Technologie |

Technologia Embedded Vision

Embedded Vision Systems – rozwój nowoczesnych systemów wizyjnych wspieranych przez zaawansowane algorytmy rozpoznawania obrazu.

Projektujesz elektronikę? Zarezerwuj 4 października 2018 roku na największą w Polsce konferencję dedykowaną projektantom, Evertiq Expo Kraków 2018. Przeszło 60 producentów i dystrybutorów komponentów do Twojej dyspozycji, ciekawe wykłady i świetna, twórcza atmosfera. Jesteś zaproszony, wstęp wolny: kliknij po szczegóły. © Evertiq
Obraz jest najprawdopodobniej najbogatszym źródłem pozyskiwania informacji z otoczenia. Naukowcy i inżynierowie od kilku dziesięcioleci próbują zrozumieć i wykorzystać technologie przechwytywania obrazu. W tym celu opracowali różne algorytmy dla systemów wizyjnych, pozwalając maszynom na "widzenie". Pierwsze prawdziwe komercyjne aplikacje, powszechnie znane jako Machine Vision (MV), analizowały szybko poruszające się obiekty, w celu weryfikacji oraz kontroli produktów w procesach wytwórczych. Szybko zachodzące zmiany w technologii, które wpłynęły przede wszystkim na poprawę wydajności przetwarzania, redukcję zużycia energii, opracowanie lepszych przetworników obrazu i nowych algorytmów oraz na rozwój uczenia maszynowego, wymagały nowego podejścia do zagadnienia. Idealnym rozwiązaniem okazało się połączenie systemów wbudowanych z wizją komputerową, co doprowadziło do powstania wbudowanych systemów wizyjnych – Embedded Vision Systems. W nadchodzących latach przewiduje się jeszcze większy rozwój wbudowanych technologii wizyjnych, w tym tych przeznaczonych do pracy w warunkach słabego oświetlenia, do obrazowania w wysokiej rozdzielczości lub do zaawansowanych aplikacji opartych na specjalnie opracowanych silnikach przetwarzania. Dzięki temu, już niedługo na rynku pojawi się więcej produktów przeznaczonych dla szerokiej gamy aplikacji konsumenckich, motoryzacyjnych, przemysłowych, a także związanych z opieką zdrowotną czy automatyką domową.

Nowy trend

Internet przedmiotów (IoT) z dnia na dzień zmienia przemysł elektroniczny. Już niedługo IoT spowoduje połączenie miliardów urządzeń ze sobą. Celem IoT jest uczynienie urządzeń inteligentnymi i dostępnymi dla użytkowników na całym świecie. Urządzenia uznajemy za inteligentne zazwyczaj wtedy, gdy znacznie ułatwiają nam życie. Jednym z przykładów jest automatyczne rozpoznawanie mieszkańca za pomocą wideodomofonu i umożliwienie wejścia tylko tej osobie do budynku.
Embedded Vision to połączenie dwóch światów: sprzętu i oprogramowania. Znalezienie idealnego i wydajnego rozwiązania łączącego te zagadnienia nie jest prostym zadaniem.
Ogólnie można przyjąć, że urządzenia są tym bardziej użyteczne, im głębiej wchodzą w interakcję ze światem zewnętrznym, a rejestrowane informacje posiadają wysoki stopniem szczegółowości: rejestrują wiele informacji i mogą pomóc w interakcji z otaczającym je środowiskiem. Klasycznym przykładem jest robotyka, dziedzina nauki, która od samego początku wykorzystuje w swoich aplikacjach czujniki obrazu. Czujniki obrazu, czyli dane wejściowe do systemu, są ”oczami” robota i mogą na przykład z wysoką wydajnością sterować silnikami urządzenia - wyjściem systemu. Ponadto, szybki postęp w uczeniu maszynowym za pomocą splotowych sieci neuronowych CNN (Convolutional Neural Networks) i innych technologii sieci neuronowych, umożliwi jeszcze większy rozwój samouczących się inteligentnych systemów wizyjnych.

Wyzwania

Wbudowane systemy wizyjne niosą ze sobą ogromny potencjał dla prawie każdej branży na rynku elektronicznym. Wraz z pojawiającymi się ulepszeniami sprzętu i oprogramowania będzie on jeszcze wzrastał. Zanim to jednak nastąpi, konieczne jest pokonanie wielu wyzwań przy opracowywaniu wbudowanej aplikacji wizyjnej dla całego systemu. Stawiając na pierwszym miejscu jakość obrazu, ”surowe” dane (RAW), niezależnie od tego czy jest to wideo czy nieruchomy obraz, będą musiały zostać zoptymalizowane i odpowiednio przetworzone. Jeżeli na przykład jakość wykonania obiektywu nie jest wystarczająco dobra, wpłynie ona negatywnie na cały proces przetwarzania obrazu. W dodatku ilość przechwyconych danych może być olbrzymia, szczególnie w przypadku obrazów wideo o wysokiej rozdzielczości i zastosowania przetwarzania w czasie rzeczywistym. W tym celu wiele aplikacji do zaawansowanego obrazowania wymaga użycia równoległych systemów przetwarzania lub dedykowanych układów, takich jak GPU, procesory DSP, FPGA lub FPU. Wbudowane systemy wizyjne są często ograniczane ze względu na koszty, rozmiary, czy zużycie energii, podczas gdy zaawansowany system przetwarzania wymaga ogromnej mocy obliczeniowej i dużego nakładu pracy, co w rezultacie może okazać się zbyt drogim i energochłonnym rozwiązaniem. Co ważne, system wbudowany zaprojektowano do pracy w rzeczywistych warunkach, które ciągle się zmieniają, tak jak warunki oświetlenia, pozycja czy orientacja. W takich sytuacjach kluczowe znaczenie ma wdrożenie wyspecjalizowanych algorytmów wizyjnych do sterowania danymi. Poleganie tylko na symulacjach nie sprawdzi się. Wymagane są testy w świecie rzeczywistym, które mogą być bardzo czasochłonne. Dotyczy to w szczególności aplikacji przeznaczonych na rynek motoryzacyjny, dla systemów bezpieczeństwa i rozwiązań dla robotyki.

Systemy wizyjne

Wbudowane systemy wizyjne składają się z różnych elementów, które można zintegrować na wiele sposób. Przede wszystkim jednak zawierają systemy obrazowania, przetwarzania i wizji komputerowej. Rysunek 1. Standardowy schemat wbudowanego systemu wizyjnego, © Avnet Na wejściu do systemu znajdują się czujniki obrazu CMOS lub CCD – dwie obecnie wiodące technologie do rejestracji obrazów. Podczas gdy technologia CCD gwarantuje lepszą jakość całości, rozwój w ciągu ostatniej dekady technologii CMOS, doprowadził do zatarcia powstałej przez ten czasu luki w różnicy jakości. Poza możliwościami rejestracji przy słabym oświetleniu, poprawiono jakość obrazu, zmniejszono zużycie energii i obniżono koszty, co sprawiło, że wzrosło wykorzystanie czujników CMOS, w porównaniu do matryc CCD. Technologia CMOS cały czas ewoluuje, zmniejszając rozmiary piksela, zwiększając rozdzielczość optyczną, szybkość przetwarzania oraz pasmo przepustowości. Ponadto coraz bardziej dostępne stają się układy i moduły o niewielkich rozmiarach, co w coraz większym stopniu wpływa na tworzenie kompaktowych rozwiązań z dwiema kamerami. Takie systemy pozwalają na implementacje stereowizji, która przyczynia się do skompensowania zniekształceń, uzyskania głębi, poprawy zakresu dynamiki i zwiększenia ostrości obrazu. Wybór procesora musi być określony przez takie aspekty, jak wydajność w czasie rzeczywistym, zużycie energii, jakość obrazu i złożoność algorytmu. Zauważyć można ciągłą poprawę algorytmów przetwarzania i wizji, a także zwiększenie integracji w zakresie jednoczesnej lokalizacji i mapowania (SLAM) dla aplikacji przeznaczonych dla samochodów, robotów i dronów. Wymagane jest również użycie lokalnej pamięci do porównywania obrazów lub przechowywania danych do przyszłych analiz. Przechowywanie niektórych informacji lub wszystkich przechwyconych danych obrazu, w pamięci ulotnej, jak i nieulotnej, jest powszechnie stosowane w systemach wizyjnych. Wyspecjalizowane algorytmy wizyjne są również kluczowym elementem systemu, wykorzystywane na przykład do sterowania sygnałem wejściowym – wzmacnianie kolorów i poprawiania obrazu – poprawa wykrywania obiektów. Od czasu wprowadzenia kilku lat temu otwartej biblioteki OpenCV do przetwarzania obrazu, proces opracowywania i wdrażania algorytmów zmienił się radykalnie. OpenCV zawiera kod źródłowy napisany w języku C i C ++ z funkcjami, które wspierają aplikacje do cyfrowej obróbki obrazu, ułatwiając tym samym uruchamianie algorytmów na wbudowanych procesorach. Wiele firm oferuje rozwiązania do przetwarzania obrazu i wideo oparte na OpenCV lub podobnych bibliotekach, a nawet na całych platformach programistycznych, tzw. frameworkach, dla wielu różnych aplikacji. Producenci układów również implementują dedykowane biblioteki, tak aby ulepszyć oferowane przez nich produkty o wbudowane przetwarzanie obrazu. Kolejnym, coraz ważniejszym elementem, szczególnie w dobie rozwoju internetu rzeczy, jest łączność – przewodowa lub bezprzewodowa, w zależności od aplikacji i jej wymagań. Następnie, wdrożenie oprogramowania do analizy algorytmicznej na serwery oparte na chmurze. Podsumowując, najważniejsze aby wybrać odpowiednie elementy dla systemu i aplikacji, i dopiero wtedy przejść do dopracowywania wszystkich tych części, w tym sprzętu, oprogramowania i algorytmów. Nie zawsze jest to jednak takie łatwe. Dodatkowo ze względu na złożoność wbudowanego systemu do rozpoznawania obrazów, producenci żeby szybko wprowadzić projekty muszą często korzystać z zaawansowanych narzędzi, tak aby zminimalizować koszty powstania systemu, skrócić czas wdrożenia i zmniejszyć ryzyko porażki.

Rozwiązania kompletne

Firma Avnet Silica ma bogate doświadczenie w pomaganiu klientom w celu opracowania wbudowanych systemów wizyjnych. W swojej ofercie posiada praktycznie wszystkie elementy niezbędne do stworzenia kompletnego systemu wizyjnego, w tym zoptymalizowanego sprzętu i oprogramowania, sterowników i aplikacji. Biblioteka podzespołów obejmuje różne bloki elementów począwszy od czujnika obrazu lub modułu kamery na wejściu, aż po dedykowany sprzęt, w tym procesory, pamięci i komponenty mocy, które są potrzebne do spełnienia wysokich wymagań procesów przetwarzania i minimalizacji zużycia energii. Wszystkie te bloki posiadają wsparcie środowiska programistycznego, zawierającego narzędzia programistyczne, oprogramowanie sterownika kamery, przykładowe projekty aplikacji referencyjnych oraz obszerny know-how dotyczący oprogramowania do przetwarzania obrazu i algorytmów. Rysunek 2. Wbudowane rozwiązania rozpoznawania wizyjnego, © Avnet Oprócz pomocy w opracowywaniu w pełni niestandardowych rozwiązań pomagających klientom w projektowaniu ich wbudowanych platform i systemów wizyjnych, Avnet Silica posiada również szeroką gamę gotowych rozwiązań. Takim przykładem jest bardzo elastyczny zestaw ewaluacyjny PicoZed opracowany na module SoM (System-on-Module) i oparty o programowalny układ SoC Xilinx Zynq-7000. Zestaw PicoZed idealnie nadaje się do aplikacji rozpoznawania wizyjnego w maszynach. Wyposażono go we wszystkie niezbędne złącza, układy, kable, moduł kamery, oprogramowanie i elementy IP konieczne do rozwoju niestandardowych aplikacji wideo. Obsługuje reVISION, rekonfigurowalny stos sprzętowej akceleracji zoptymalizowany do obliczeń i aplikacji uczenia maszynowego. Stos zawiera zasoby dla platformy, algorytmu i rozwoju aplikacji, ma przyspieszone sprzętowo funkcje OpenCV i obsługuje najbardziej popularne sieci neuronowe. Rysunek 3. Zestaw ewaluacyjny PicoZed Avnet Silica kontynuuje rozwój i dodaje kolejne produkty do szerokiego zestawu gotowych aplikacji, umożliwiając kluczowym klientom szeroki wybór zaawansowanych i wbudowanych systemów rozpoznawania wizyjnego.

reklama
reklama
Załaduj więcej newsów
April 15 2024 11:45 V22.4.27-2
reklama
reklama