Połączenie wizji maszynowej i głębokiego uczenia zapewni firmom doskonałe wyniki operacyjne, jak i wskaźniki ROI (zwrotu z inwestycji). Wychwycenie różnic pomiędzy tradycyjnym systemem wizyjnym a głębokim uczeniem oraz zrozumienie sposobu, w jaki te technologie się uzupełniają, zamiast konkurować ze sobą lub się zastępować, jest kluczowe dla maksymalizowania zysków z inwestycji. Poniższy artykuł pomoże to zrozumieć.
W ciągu ostatniej dekady doświadczyliśmy bardzo różnorodnych zmian i ulepszeń technologicznych obejmujących: urządzenia przenośne … big data… sztuczną inteligencję (AI)… Internet Rzeczy… robotykę… blockchain … druk 3D… widzenie maszynowe…. We wszystkich tych przypadkach nowatorskie rozwiązania zostały opracowane w laboratoriach R&D, mając na celu poprawę codziennego życia.
Inżynierowie lubią wprowadzać i adaptować technologie do swoich wymagających środowisk i surowych ograniczeń. Strategiczne planowanie w zakresie wprowadzenia i wykorzystania niektórych lub wszystkich wspomnianych technologii będzie mieć kluczowe znaczenie dla branży produkcyjnej.
Skupmy się na sztucznej inteligencji, a w szczególności na analizie obrazu opartej o głębokie uczenie wykorzystujące przykłady. W połączeniu z tradycyjną wizją maszynową opartą o reguły może ona pomóc robotom montażowym zidentyfikować dobre części, pomóc w wykryciu obecności/braku części lub niewłaściwego montażu na produkcie oraz szybciej określić, czy wystąpiły problemy. Wszystkie te operacje są wykonywane z wysoką precyzją.
Czym właściwie jest głębokie uczenie?
Nie zagłębiając się w szczegóły przyjrzymy się jednostkom GPU. Procesory graficzne (GPU, graphics processing units) gromadzą w jednym układzie scalonym (chipie) tysiące relatywnie prostych rdzeni przetwarzających dane. Ich architektura przypomina sieci neuronowe, co pozwala wdrażać wielowarstwowe, inspirowane biologicznie, „ głębokie” sieci neuronowe naśladujące działanie ludzkiego mózgu.
Rys. 1 – Pierwsze różnice pomiędzy tradycyjnym maszynowym systemem wizyjnym a głębokim uczeniem obejmują: 1. Proces rozwoju ( programowanie tool-by-tool oparte o reguły vs. uczenie wykorzystujące przykłady); 2. Inwestycje sprzętowe ( głębokie uczenie wymaga większych nakładów na przetwarzanie i magazynowanie danych). 3. Przypadki zastosowania automatyki produkcyjnej
Korzystając z takiej architektury, głębokie uczenie pozwala na rozwiązywanie konkretnych zadań bez wyraźnego, ukierunkowanego programowania. Innymi słowy, klasyczne aplikacje komputerowe zostały zaprogramowane przez ludzi po kątem specyfiki danego zadania, natomiast głębokie uczenie wykorzystuje dane (obrazy, rozmowy, teksty, liczby…) i „trenuje” je za pomocą sieci neuronowych. Począwszy od podstawowych zależności logicznych opracowanych w początkowej fazie szkolenia, sieci neuronowe stale ulepszają swoją wydajność w miarę otrzymywania nowych danych.
Głębokie uczenie opiera się o wykrywanie różnic: stale poszukuje zmian i nieregularności w zestawie danych. Jest czułe i reaktywne na nieprzewidywalne defekty. Ludzie w sposób naturalny robią to dobrze. Systemy komputerowe oparte o sztywne programowanie nie są w tym najlepsze (ale w odróżnieniu od inspektorów na liniach produkcyjnych komputery nie męczą się, stale wykonując te same czynności).
W codziennym życiu typowe zastosowania systemów opartych o głębokie uczenie to rozpoznawanie twarzy (w celu odblokowania komputera lub identyfikacji ludzi na zdjęciach)… silniki rekomendacji (w serwisach strumieniujących muzykę/filmy lub podczas zakupów w sklepach e-commerce), filtrowanie spamu w e-mailach… diagnostyka chorób … wykrywanie nadużyć na kartach kredytowych…
Technologia głębokiego uczenia generuje bardzo dokładne wyniki wyjściowe w oparciu o przetworzone dane wykorzystane do szkolenia. Jest stosowana do przewidywania wzorców, wykrywania zmian i anomalii oraz podejmowania kluczowych decyzji biznesowych. Ta sama technologia przechodzi teraz do zaawansowanych praktyk produkcyjnych w zakresie kontroli jakości i innych przypadków zastosowań opartych na ocenie.
Rozwiązania głębokiego uczenia, wdrożone do odpowiednich typów aplikacji fabrycznych, w połączeniu z maszynowymi systemami wizyjnymi zwiększają zyski z produkcji (szczególnie w porównaniu do inwestycji w inne rozwijające się technologie, których spłacenie może zająć lata).
W jaki sposób głębokie uczenie uzupełnia systemy wizji maszynowej?
Systemy wizyjne opierają się na cyfrowym czujniku umieszczonym wewnątrz kamery przemysłowej o specjalnej optyce. System uzyskuje obrazy, które są przesyłane do komputera PC. Specjalistyczne oprogramowanie przetwarza, analizuje i dokonuje pomiarów różnych charakterystyk obrazu w celu podjęcia odpowiedniej decyzji. Systemy widzenia maszynowego funkcjonują niezawodnie ze spójnymi i właściwie wyprodukowanymi częściami. Ich działanie polega na stopniowym filtrowaniu danych z wykorzystaniem algorytmów opartych o reguły.
Na linii produkcyjnej system widzenia maszynowego oparty o zasady może kontrolować setki lub nawet tysiące części na minutę, zachowując przy tym wysoką precyzję. Jest to bardziej ekonomiczne rozwiązanie niż nadzór oparty o personel techniczny. Wynik wyjściowy przetworzonych danych opiera się o programowe, wykorzystujące reguły podejście do rozwiązywania problemów z inspekcją wizyjną obiektów.
W hali fabrycznej tradycyjny system widzenia maszynowego oparty o reguły to optymalne rozwiązanie do: wskazywania/naprowadzania (pozycja, orientacja), identyfikacji (kody kreskowe, kody data matrix, oznaczenia, znaki, litery…), pomiaru (porównywanie odległości z określonymi wartościami), kontroli (wady i inne problemy, takie jak brakująca plomba bezpieczeństwa, uszkodzona część…).
Widzenie maszynowe oparte o reguły doskonale radzi sobie ze znanym zestawem zmiennych: czy dana część jest czy jej brakuje? Jak daleko dokładnie ten obiekt znajduje się od tamtego? Gdzie robot musi wziąć daną część? Tego typu zadania są łatwe do wdrożenia na linii montażowej w kontrolowanym środowisku. Ale co się dzieje, gdy sprawy przestają być tak jednoznaczne?
W tego typu przypadkach do gry wkraczają systemy głębokiego uczenia, które:
• rozwiązują problemy zbyt trudne dla programów wykorzystujących algorytmy oparte o reguły,
• wykrywają defekty na mylących tłach oraz zmiany w wyglądzie części,
• utrzymują działania aplikacji i ponowne uczenie na podstawie nowych danych w warunkach hali fabrycznej,
• adaptują nowe przykłady bez konieczności przeprogramowania głównych sieci/algorytmów.
Typowy przykład z branży produkcyjnej: szukanie rys na ekranach urządzeń elektronicznych. Defekty te całkowicie różnią się w zakresie wielkości, zasięgu, lokalizacji i występowania na różnych tłach w zależności od ekranu. Biorąc pod uwagę te zmienne, głębokie uczenie wskaże różnice pomiędzy dobrymi a wadliwymi częściami. Co więcej, uczenie sieci na nowym celu (na przykład innym rodzaju ekranu) jest tak proste, jak stworzenie nowego zestawu zdjęć referencyjnych.
Rys. 2 – Typowy przykład z praktyki produkcyjnej: szukanie defektów różniących się wielkością, zasięgiem, lokalizacją oraz występowaniem na zmiennych powierzchniach o zróżnicowanych tłach.
Kontrolowanie podobnych wizualnie części o złożonych fakturach powierzchni i różnicach w wyglądzie stanowi poważne wyzwanie dla tradycyjnych maszynowych systemów wizyjnych opartych o reguły. „Funkcjonalne” usterki wpływające na użyteczność niemal zawsze są odrzucane, ale „kosmetyczne” anomalie mogą nie zostać wykryte, w zależności od potrzeb i preferencji producenta. Co więcej – standardowe systemy widzenia maszynowego mają trudności w odróżnieniu od siebie tego typu defektów.
Ze względu na liczne zmienne, które mogą być trudne do wyodrębnienia (oświetlenie, zmiany koloru, krzywizna lub pole widzenia) niektóre przypadki detekcji defektów są niezwykle trudne do zaprogramowania i rozwiązania za pomocą tradycyjnych maszynowych systemów wizyjnych. W tym zakresie systemy głębokiego uczenia przynoszą inne odpowiednie narzędzia.
W skrócie: tradycyjne systemy widzenia maszynowego działają niezawodnie ze spójnymi i dobrze wyprodukowanymi częściami, a aplikacje stają się coraz trudniejsze do zaprogramowania wraz ze wzrostem biblioteki wyjątków i defektów. W przypadku złożonych sytuacji, wymagających ludzkiego sposobu widzenia w połączeniu z prędkością i niezawodnością komputera, głębokie uczenie okazuje się naprawdę przełomową opcją.
Rys 3 – W porównaniu do tradycyjnych maszynowych systemów wizyjnych głębokie uczenie jest: 1. Zaprojektowane do trudnych aplikacji 2. Łatwiejsze do konfiguracji 3. Odporne na zmiany
Korzyści systemów wizyjnych opartych o głębokie uczenie oferowane dla produkcji przemysłowej
Widzenie maszynowe oparte o ustalone reguły i analiza obrazu wykorzystująca głębokie uczenie uzupełniają się nawzajem zamiast konkurować ze sobą w przypadku wprowadzania narzędzi do automatyzacji produkcji następnej generacji. W niektórych zastosowaniach, takich jak pomiary, tradycyjne maszynowe systemy wizyjne wciąż będą preferowanym i ekonomicznym wyborem.
W przypadku złożonych kontroli, obejmujących szerokie odchylenia i nieprzewidywalne defekty – zbyt liczne i skomplikowane do programowania i zarządzania za pomocą tradycyjnych systemów widzenia maszynowego – narzędzia oparte o głębokie uczenie oferują doskonałą alternatywę.
Więcej informacji na temat rozwiązań wykorzystujących głębokie uczenie można znaleźć na stronie www.cognex.com/ViDi-deep-learning
Źródło: Congex