Wkład technologii widzenia maszynowego w rozwój automatyzacji

Przez: Jody Muelaner

Widzenie maszynowe to zbiór technologii pozwalających zautomatyzowanym urządzeniom (przemysłowym lub innym) na zaawansowane zrozumienie ich bezpośredniego otoczenia na podstawie obrazów. Bez odpowiedniego oprogramowania obrazy cyfrowe byłyby dla systemów wizyjnych niczym więcej niż prostymi, odrębnymi zbiorami pikseli o różnych wartościach kolorów i intensywności odcieni. Widzenie maszynowe umożliwia komputerom (zwykle połączonym z urządzeniami sterującymi) wykrywanie krawędzi i kształtów na takich obrazach, a to z kolei pozwala na identyfikację wstępnie zdefiniowanych obiektów w ramach procedur przetwarzania na wyższym poziomie. Obrazy w tym kontekście nie muszą być ograniczone do fotografii wykonywanych w widmie światła widzialnego - mogą też obejmować obrazy uzyskane za pomocą promieniowania podczerwonego, laserowego, rentgenowskiego i sygnałów ultradźwiękowych.

Ilustracja przedstawiająca wykorzystanie widzenia maszynowego w bardziej zaawansowanych zastosowaniach robotycznychIlustracja 1: wzrasta powszechność wykorzystania widzenia maszynowego w bardziej zaawansowanych zastosowaniach robotycznych. (Źródło ilustracji: John6863373 | Dreamstime.com)

Jednym z dość powszechnych zastosowań widzenia maszynowego w warunkach przemysłowych jest identyfikacja określonej części w pojemniku zawierającym różne losowo rozłożone (pomieszane) części. W tym przypadku widzenie maszynowe może wspomóc pracę robotów montażu maszynowego w automatycznym wyborze właściwej części. Oczywiście rozpoznawanie takich części za pomocą informacji pochodzących z obrazowania byłoby stosunkowo proste, gdyby wszystkie były starannie ułożone i zorientowane na tacy w ten sam sposób. Jednak niezawodne algorytmy widzenia maszynowego mogą rozpoznawać obiekty znajdujące się w różnych odległościach od kamery (i dlatego mające różne rozmiary na czujniku obrazu), jak również w różnych orientacjach.

Najbardziej zaawansowane systemy widzenia maszynowego umożliwiły powstanie nowych projektów o znacznie bardziej wyrafinowanych możliwościach niż pobieranie z pojemnika - choć może nie tak znanych jak choćby systemy wykorzystywane w pojazdach autonomicznych.

Ilustracja przedstawiająca widzenie maszynowe pozwalające systemom na zaawansowane zrozumienie otoczeniaIlustracja 2: widzenie maszynowe pozwala systemom (przemysłowym lub innym) na zaawansowane zrozumienie otoczenia na podstawie obrazów. (Źródło ilustracji: Wikimedia)

Technologie związane z widzeniem maszynowym

Termin widzenie maszynowe jest czasem stosowany wyłącznie w odniesieniu do bardziej ugruntowanych i wydajnych matematycznych metod pozyskiwania informacji z obrazów. Natomiast termin wizja komputerowa zwykle oznacza bardziej nowoczesne i wymagające obliczeniowo systemy - w tym podejście typu czarna skrzynka, w którym stosuje się uczenie maszynowe lub sztuczną inteligencję (AI). Jednak widzenie maszynowe może również być terminem ogólnym obejmującym wszystkie metody zaawansowanego pozyskiwania informacji z obrazów. W tym kontekście teorie działania leżące u jego podstaw opisuje wizja komputerowa.

Technologie umożliwiające pozyskiwanie zaawansowanych znaczeń z obrazów. W środowisku naukowym takie technologie są często odróżniane od widzenia maszynowego. Jednak w sensie praktycznym wszystkie są różnymi sposobami osiągania widzenia maszynowego i w wielu przypadkach pokrywają się.

Cyfrowe przetwarzanie obrazów jest formą przetwarzania sygnałów cyfrowych obejmującą poprawę jakości, odtworzenie, kodowanie i kompresję obrazu. W porównaniu z analogowym przetwarzaniem obrazów zalety tej technologii obejmują minimalizację szumów i zniekształceń, a także dostępność znacznie większej liczby algorytmów. Jednym z wczesnych zastosowań poprawy jakości obrazu była korekta pierwszych wykonanych z bliska zdjęć powierzchni Księżyca. Wykorzystano do tego mapowanie fotogrametryczne, jak również filtry szumów i korektę zniekształceń geometrycznych wynikających z ustawienia aparatu względem powierzchni Księżyca.

Ilustracja przedstawiająca scalony kontroler DLPC350 firmy Texas InstrumentsIlustracja 3: scalony kontroler DLPC350 dostarcza wejściowe i wyjściowe sygnały wyzwalające służące do synchronizacji wyświetlanych wzorów z aparatem. Współpracuje on z cyfrowymi urządzeniami zbudowanymi z mikroluster (z ang. digital micromirror device, DMD) zaprojektowanymi w celu uzyskania trójwymiarowego widzenia maszynowego w urządzeniach przemysłowych, medycznych i zabezpieczających. W praktyce, zastosowania obejmują skanowanie 3D, jak również systemy metrologiczne. (Źródło ilustracji: Texas Instruments)

Cyfrowa poprawa jakości obrazu często polega na zwiększeniu kontrastu, a także wprowadzeniu korekty zniekształceń geometrii wynikających z kąta widzenia i zniekształceń obiektywu. Kompresja jest zwykle osiągana przez przybliżenie złożonego sygnału do kombinacji funkcji kosinusowych - rodzaj transformaty Fouriera znanej jako dyskretna transformacja kosinusowa lub DCT. Transformatę DCT najczęściej stosuje się w plikach JPEG. Podczas odtwarzania obrazu transformatę Fouriera można również wykorzystywać do usuwania szumu i rozmycia.

Fotogrametria wykorzystuje pewien rodzaj identyfikacji cech do otrzymywania pomiarów z obrazów. Pomiary te mogą zawierać informacje 3D, gdy wiele obrazów tej samej sceny zostało uzyskanych z różnych pozycji. Najprostsze systemy fotogrametryczne mierzą odległość pomiędzy dwoma punktami na obrazie z wykorzystaniem skali. Zwykle wymaga to umieszczenia w obrazie znanej skali odniesienia.

Wykrywanie cech pozwala komputerom na identyfikację krawędzi i narożników lub punktów na obrazie. Jest to niezbędny pierwszy krok w fotogrametrii oraz identyfikacji obiektów i ruchu. Funkcja detekcji obszarów może zidentyfikować obszary o krawędziach, które są zbyt gładkie, aby można było je wykryć.

Rozpoznawanie wzorów jest wykorzystywane do identyfikacji konkretnych obiektów. W najprostszym przypadku może to oznaczać poszukiwanie określonej, dobrze zdefiniowanej części mechanicznej na przenośniku.

Rekonstrukcja 3D określa trójwymiarową formę obiektów na podstawie obrazów 2D. Można to osiągnąć metodami fotogrametrycznymi, w których wysokość wspólnych cech (zidentyfikowanych na obrazach z różnych punktów obserwacji) jest określana przez triangulację. Rekonstrukcja 3D jest również możliwa przy użyciu pojedynczego obrazu 2D. W takim przypadku oprogramowanie interpretuje m.in. geometryczne zależności między krawędziami lub obszarami zaciemnienia.

Ilustracja przedstawiająca skanery 3D przechwytujące obrazy 2D obiektuIlustracja 4: skanery 3D przechwytują obrazy 2D obiektu, aby stworzyć jego trójwymiarowy model. W niektórych przypadkach modele cyfrowe są następnie wykorzystywane do drukowania kopii 3D. (Źródło ilustracji: Shenzhen Creality 3D Technology Co.)

Człowiek może z łatwością odtworzyć sześcian z prostej reprezentacji z użyciem linii, a sferę z cieniowanego okręgu. Cieniowanie pokazuje nachylenie powierzchni. Jednak proces takiego wnioskowania jest bardziej skomplikowany niż się wydaje, ponieważ cieniowanie jest parametrem jednowymiarowym, natomiast nachylenie występuje w dwóch wymiarach. Może to prowadzić do niejednoznaczności, czego dowodem jest sztuka przedstawiająca obiekty fizycznie niemożliwe.

Ilustracja przedstawiająca komputerowe określanie kształtu 3D elementu na podstawie obrazu 2DIlustracja 5: komputerowe określanie kształtu 3D elementu na podstawie obrazu 2D wiąże się z wieloma wyzwaniami.

Porządek zadań w widzeniu maszynowym

Wiele systemów widzenia maszynowego kolejno łączy powyższe techniki, zaczynając od operacji niskiego poziomu, a następnie przechodząc kolejno do operacji wyższych poziomów. Na najniższym poziomie wszystkie piksele obrazu są przechowywane jako dane o wysokiej przepustowości. Następnie każda operacja w sekwencji identyfikuje cechy obrazu i odzwierciedla wybrane informacje przy stosunkowo niewielkiej ilości danych.

Najpierw wykonywane są operacje niskiego poziomu poprawy wyraźności i odtwarzania obrazu, a następnie wykrywanie cech. W przypadku stosowania wielu czujników operacje niskiego poziomu mogą być wykonywane przez rozproszone procesy przypisane do poszczególnych czujników. Po wykryciu cech na poszczególnych obrazach mogą nastąpić pomiary fotogrametryczne wyższego poziomu - podobnie jak identyfikacja obiektów lub inne zadania opierające się na połączonych danych pochodzących z wielu obrazów i czujników.

Obliczenia bezpośrednie i algorytmy uczenia się

Obliczenia bezpośrednie w kontekście widzenia maszynowego to zbiór funkcji matematycznych zdefiniowanych ręcznie przez programistę. Przyjmują one dane wejściowe, np. wartości pikseli obrazu, aby uzyskać dane wyjściowe, jak współrzędne krawędzi obiektu. Natomiast algorytmy uczenia się nie są bezpośrednio pisane przez człowieka, a trenowane z użyciem przykładowych zestawów danych poprzez połączenie danych wejściowych z pożądanymi wynikami. Funkcjonują więc jak czarne skrzynki. W większości przypadków uczenia maszynowego tego typu do wykonywania obliczeń wykorzystuje się obecnie głębokie uczenie oparte na sztucznych sieciach neuronowych.

Ilustracja przedstawiająca czujniki obrazu serii iVu firmy Banner EngineeringIlustracja 6: czujniki obrazu z serii iVu mogą identyfikować przedmioty według typu, rozmiaru, położenia, orientacji i koloru. Komponenty widzenia maszynowego umożliwiają konfigurację i monitorowanie za pomocą zintegrowanego ekranu, zdalnego interfejsu człowiek-maszyna (HMI) lub komputera. Aparat, kontroler, obiektyw i oświetlenie są wstępnie zintegrowane. (Źródło ilustracji: Banner Engineering Corp.)

Proste uczenie maszynowe dla zastosowań przemysłowych jest często bardziej niezawodne i mniej wymagające obliczeniowo, jeśli opiera się na bezpośrednich obliczeniach. Oczywiście istnieją granice tego, co można osiągnąć za pomocą obliczeń bezpośrednich. Poza zasięgiem tej technologii jest na przykład zaawansowane rozpoznawanie wzorów wymagane do identyfikacji osób na podstawie twarzy, zwłaszcza w oparciu o materiał wideo z zatłoczonej przestrzeni publicznej. Z kolei z takimi zastosowaniami sprawnie radzi sobie uczenie maszynowe. Nic więc dziwnego, że uczenie maszynowe jest coraz częściej stosowane w operacjach widzenia maszynowego niższego poziomu, takich jak poprawa jakości obrazu, odtwarzanie i wykrywanie cech.

Doskonalenie podejść do nauczania (nie algorytmów)

Dojrzewanie technologii głębokiego uczenia pokazało, że to nie same algorytmy uczenia wymagają ulepszenia, a sposób ich uczenia. Jedna z takich ulepszonych procedur szkoleniowych jest nazywana wizją komputerową ukierunkowaną na dane. W tym przypadku system głębokiego uczenia przyjmuje bardzo duże zbiory treningowe złożone z tysięcy, milionów, a nawet miliardów obrazów, a następnie przechowuje informacje wynikowe, które jego algorytmy otrzymują z każdego obrazu. Algorytmy efektywnie uczą się poprzez ćwiczenie wypracowanych przykładów, a następnie sprawdzają w „księdze odpowiedzi”, czy doszły do właściwych wartości.

Istnieje pewna stara historia z początków cyfrowego rozpoznawania wzorców, opowiadana jako przestroga. Wojsko amerykańskie zamierzało wykorzystać widzenie maszynowe do rozpoznawania celów. Podczas demonstracji technologii przeprowadzonych przez kontrahentów identyfikacja czołgów produkcji amerykańskiej i rosyjskiej przebiegała niezawodnie. Na zdjęciach lotniczych dostawcy wszystkie czołgi zostały kolejno prawidłowo rozróżnione. Jednak podczas kolejnych testów z biblioteką zdjęć Pentagonu system udzielał samych błędnych odpowiedzi. Problem polegał na tym, że wszystkie zdjęcia dostarczone przez wykonawcę z branży wojskowej przedstawiały amerykańskie czołgi na pustyniach, a rosyjskie na zielonych polach. Zamiast rozpoznawać różne czołgi, system rozpoznawał różnokolorowe tła. Jaki z tego morał? Aby algorytmy uczenia się były użyteczne, muszą mieć dostęp do starannie dobranych danych treningowych.

Podsumowanie: technologie wizyjne dla zapewnienia bezpieczeństwa zrobotyzowanych gniazd produkcyjnych

Widzenie maszynowe przestało być technologią niszową. Najczęściej jest ono wdrażane w zastosowaniach przemysłowych. Tu największym postępem jest sposób, w jaki widzenie maszynowe uzupełnia teraz przemysłowe systemy bezpieczeństwa służące do uruchamiania alarmów lub wydawania komunikatów dźwiękowych, gdy personel wchodzi do strefy roboczej bez hełmu ochronnego, maski czy innego wymaganego sprzętu ochronnego. Widzenie maszynowe może również uzupełniać systemy informujące o zbyt małej odległości ludzi od ruchomych maszyn, np. wózków widłowych.

Te i podobne systemy widzenia maszynowego mogą niekiedy zastąpić sprzętową ochronę wokół robotów przemysłowych, zwiększając wydajność pracy. Mogą one również zastąpić lub ulepszyć systemy bezpieczeństwa oparte na barierach świetlnych, które zatrzymują maszyny, gdy pracownik wchodzi do gniazda produkcyjnego. W systemach wspomaganych przez widzenie maszynowe monitorujące przestrzeń fabryczną otaczającą gniazdo produkcyjne, prędkość robotów w gniazdach może być stopniowo zmniejszana w miarę zbliżania się ludzi.

Wraz z ewolucją projektów zakładów przemysłowych w kierunku stosowania robotów współpracujących i innych urządzeń w gniazdach produkcyjnych, które są bezpieczne dla pracowników zakładu (nawet podczas pracy tych urządzeń), te i inne systemy oparte na widzeniu maszynowym staną się znacznie bardziej powszechną częścią procesów fabrycznych.

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Informacje o autorze

Image of Dr. Jody Muelaner

Jody Muelaner

Dr Jody Muelaner jest inżynierem z doświadczeniem w projektowaniu od tartaków do urządzeń medycznych, zarządzaniem niepewnością w lotniczych systemach produkcyjnych oraz tworzeniu nowatorskich przyrządów laserowych. Publikował artykuły w licznych periodykach branżowych i rządowych … a także pisał raporty techniczne dla firm Rolls-Royce, SAE International oraz Airbus. Aktualnie jest szefem projektu mającego na celu opracowanie roweru elektrycznego, z którym można się zapoznać w witrynie betterbicycles.org. Jody Muelaner zajmuje się również technologiami dekarbonizacyjnymi.