Unchained Robotics company logo
Unchained Robotics company logo
OPUBLIKOWANE
July 6, 2022
AUTOR
Franziska Liebich
KATEGORIA
Industry News
TAGS
Automatisierung
Cameras
Machine Vision
Bildverarberitung
Przetwarzanie obrazu i kamery: Jak roboty uczą się widzieć - Unchained Robotics
Roboty w filmach science fiction są często wzorowane na ludziach. Dotyczy to ich wyglądu i sposobu interakcji z otoczeniem. Jest to jednak dalekie od rzeczywistości. Czy zmieni się to w przyszłości?

Roboty nie posiadają jednak żadnego z tych zmysłów. Niemniej jednak rozwój zmierza w kierunku robotów zdolnych do interakcji z otoczeniem i automatycznego reagowania na zmiany. Jak więc możemy nauczyć roboty postrzegania otoczenia? Lub w skrócie: jak roboty widzą?

Kiedy mówimy o "widzeniu", co mamy na myśli? Co musi się wydarzyć w danej osobie, aby mogła widzieć?

Nasze oczy zbierają światło odbijane przez otaczające nas obiekty. Kiedy światło trafia na siatkówkę, jest przekształcane w sygnały elektryczne i przesyłane do mózgu za pośrednictwem nerwu wzrokowego. Tam sygnały elektryczne są przetwarzane i interpretowane za pomocą naszych wspomnień. Następnie używamy wynikowego obrazu do poruszania się po świecie. Interpretacja zebranych danych jest naprawdę ważną częścią tego procesu.

Jednak w naturze istnieje również wiele innych rodzajów oczu, które umożliwiają różnym gatunkom widzenie, chociaż mózgi wielu zwierząt mają znacznie mniejszą moc obliczeniową. Jest to szczególnie prawdziwe na przykład w przypadku owadów. Zasadniczo więc możliwe jest umożliwienie "rodzaju" widzenia bez ogromnej mocy obliczeniowej ludzkiego mózgu - lub jego połowy.[i]
Jaki jest sens uczenia robota widzenia?
Ale dlaczego - skoro proces jest tak skomplikowany - tak bardzo chcemy uczyć roboty widzenia? Tylko po to, by zamienić science fiction w science fact? Roboty potrafią już robić imponujące rzeczy: na przykład mogą współpracować z ludźmi w fabrykach lub szybko dostarczać paczki w magazynie. [ii]
Ale jest też wiele rzeczy, których roboty nie mogą zrobić właśnie dlatego, że brakuje im zdolności widzenia. W robotyce przemysłowej wizualne sterowanie robotami w 2D i 3D pozwala na automatyzację procesów takich jak produkcja, montaż i przenoszenie materiałów w sposób bardziej elastyczny niż było to możliwe wcześniej. Biorąc pod uwagę rosnące znaczenie masowej personalizacji i wielkości partii, technologia ta jest niezwykle ważna.[iii]
Tradycyjne roboty przemysłowe opierają się na technologii, która ma już 60 lat i polegają na absolutnej precyzji, ponieważ maszyny nie wiedzą, co robią. Nie mogą skutecznie działać poza fabrykami, dla których zostały zbudowane. Nawet niewielkie odchylenia, na przykład w pozycji obiektów, które mają zostać przeniesione, mogą stanowić problem dla procesu.[iv]
Roboty, które potrafią rozpoznawać i interpretować procesy zachodzące w ich otoczeniu, byłyby również w stanie przejąć zadania, które obecnie są nadal obsługiwane przez ludzi. Byłoby to bardzo pomocne w wielu miejscach: w branżach, w których brakuje siły roboczej, w obszarach, które są nieatrakcyjne lub nawet niebezpieczne dla ludzi, w etapach pracy wymagających wysokiego poziomu koncentracji przez długi czas, a także w domu, a nawet na sali operacyjnej.[v]
Aby jeszcze bardziej zintegrować roboty z naszym życiem i pracą oraz w pełni wykorzystać ich potencjał, konieczny jest rozwój swoistego "zmysłu wzroku" - w najszerszym tego słowa znaczeniu. Bez niego nie będą one w stanie zrozumieć swojego otoczenia w odpowiednim kontekście.
Źródło: DENSO Robotics
Dlaczego tak trudno jest nauczyć roboty widzenia?
Jakie przeszkody należy pokonać, aby robot mógł postrzegać swoje otoczenie i prawidłowo je interpretować?
W kontekście przemysłowym, usunięcie części z pudełka, w którym wiele innych części leży w nieładzie, jest szczególnym wyzwaniem, ponieważ robot ma problemy z rozpoznawaniem nieposortowanych obiektów. W trakcie swojego życia ludzie uczą się rozpoznawać znaczenie obrazów, które widzą. Z drugiej strony, system przetwarzania obrazu robota prawidłowo identyfikuje obiekty tylko wtedy, gdy został wcześniej zaprogramowany lub przeszkolony. Twórcy systemów przetwarzania obrazu muszą zatem wiedzieć z wyprzedzeniem, co należy zrobić później, aby napisać odpowiedni algorytm.[vi]
Początki
Kamera cyfrowa może być używana do umożliwienia robotowi zbierania informacji o jego otoczeniu. Na początku lat sześćdziesiątych ludzie byli jeszcze przekonani, że wyodrębnianie informacji z obrazów z kamer będzie łatwe. Niestety, nie było to prawdą: w międzyczasie wokół tego problemu rozwinęły się całe dziedziny badań: "widzenie maszynowe" i "uczenie maszynowe" są tutaj szczególnie ważne[vii].
Zamiast mózgu, robot ma komputer, który przetwarza sygnały zebrane przez czujniki, a następnie wysyła polecenia do silników. Szczególnie pomocne są dane dotyczące obrazu i głębi, tj. kolory i odległości między kamerą a obiektem. Jednak robot powinien być w stanie nie tylko widzieć swoje otoczenie, ale także rozpoznawać znajdujące się w nim obiekty.
Musi zatem ustanowić połączenie między informacjami o kolorze a semantyką opisującą, co reprezentuje obraz. Obraz składa się z kilku milionów pikseli: kolorowych punktów o unikalnych kolorach, które są przechowywane jako liczby. Wszystkie te liczby muszą zostać przekonwertowane na informacje, które pokazują, co można zobaczyć na obrazie.[viii]
Wyzwania
Jedną z trudności jest konwersja dużych ilości zarejestrowanych informacji na proste, abstrakcyjne sygnały, które robot może zrozumieć. Jest to niezwykle wymagające z matematycznego punktu widzenia, a dodatkowo utrudnia je fakt, że wpływy zewnętrzne, takie jak pogoda i pora dnia, również odgrywają rolę. Ludzie potrafią rozpoznać takie informacje jako nieistotne i skoncentrować się na tym, co ważne. Roboty najpierw muszą się tego nauczyć - jest to długi i żmudny proces.[ix]
Informacje istotne dla rozpoznawania i rozumienia otoczenia to pozycja robota na mapie, pozycja 3D i orientacja otaczających go obiektów, ruch obiektów, rodzaj obiektu, możliwe formy interakcji (na przykład możliwość chwycenia obiektu), obszar, po którym można chodzić lub jeździć oraz przeszkody, a także struktura bezpośredniego otoczenia.[x]
W aplikacjach takich jak samojezdne samochody, kamery są uzupełniane przez inne czujniki. Mogą to być ultradźwięki, ale stosuje się również radar, sonar lub czujniki podczerwieni. Wszystkie te czujniki emitują fale - światło lub dźwięk - a następnie mierzą to, co odbija się od otoczenia. Chociaż zapewnia to obraz otoczenia, nie jest możliwe rozpoznanie, co jest czym. Robot - lub w tym przypadku samochód - nie może zrozumieć swojego otoczenia, ponieważ nie rozpoznaje różnych obiektów.
Ale musi nie tylko rozpoznać obiekty, ale także konsekwencje lub możliwe intencje, gdy obiekt się pojawi: jeśli piłka toczy się po drodze, dziecko może za nią pobiec. Samojezdny samochód powinien być w stanie to rozpoznać i odpowiednio zareagować.[xi]
Źródło: Media Print

Jakie modele są dostępne, aby pomóc robotom w rozpoznawaniu ich otoczenia?
Istnieją różne podejścia zaprojektowane, aby pomóc robotom postrzegać i rozpoznawać ich otoczenie. Niektóre z nich zostały już pokrótce wspomniane, ale tutaj zajmiemy się bardziej szczegółowo różnicami, zaletami i wadami.
Czujnik ultradźwiękowy
Prawdopodobnie najbardziej powszechnym sposobem rozpoznawania przeszkód jest użycie czujnika ultradźwiękowego lub echosondy: Głośnik emituje fale dźwiękowe o wysokiej częstotliwości. Rozchodzą się one i są odbijane, gdy napotkają przeszkodę. Powracające fale są rejestrowane przez mikrofon. Mierzony jest czas, w jakim fala pokonuje drogę tam i z powrotem.[xii]
Jak wspomniano powyżej, technologia ta ma jednak ten problem, że rozpoznaje tylko, że coś znajduje się przed nią - lub obok niej lub za nią. Nie jest ona jednak w stanie rozróżniać obiektów, a zatem może reagować tylko w bardzo ograniczonym zakresie.
LiDAR: Light Detection and Ranging
Bardzo podobną techniką jest wykrywanie otoczenia poprzez emitowanie fal świetlnych (zwykle światła podczerwonego) i mierzenie czasu potrzebnego na odbicie światła z powrotem. Istnieją trzy różne warianty tego typu czujników:

Czujniki emitujące pojedynczą wiązkę światła są najczęściej używane do pomiaru odległości do dużych obiektów (np. ścian, podłogi, sufitu)
Czujniki emitujące wiele wiązek światła jednocześnie są przydatne do unikania kolizji i wykrywania obiektów.
Czujniki obrotowe wytwarzają wiązkę światła podczas obrotu. Są one również wykorzystywane do wykrywania obiektów i unikania kolizji.[xiii]

Przechwycenie w ten sposób kilku milionów odległości we wszystkich kierunkach tworzy chmurę punktów, która umożliwia przybliżoną wizualizację otaczającej przestrzeni.
Jednak i tutaj pojawiają się problemy: powierzchnie odbijające światło nie wysyłają impulsów świetlnych z powrotem do czujnika, ale - zgodnie z zasadą "kąt padania = kąt odbicia" - w innym kierunku. Ponadto na pomiar może mieć wpływ mgła lub deszcz, ponieważ cząsteczki wody również przekierowują światło. Ponadto proces ten jest stosunkowo powolny, a urządzenia są bardzo drogie, ponieważ tworzony "obraz" opiera się wyłącznie na danych geometrycznych. Z drugiej strony ludzki wzrok rejestruje również kolor i teksturę. Jednak ceny również spadły w ostatnich latach.[xiv]
Źródło: Note Thanun via Unsplash.com

Kamery i przetwarzanie obrazu
Jak robot rozpoznaje, co znajduje się na obrazie z kamery? Kamera wideo jest używana do ciągłego nagrywania obrazów, które są przekazywane do komputera. Następnie algorytm wyszukuje na obrazach rzucające się w oczy elementy: Linie, interesujące punkty lub narożniki i pewne tekstury, które może śledzić z obrazu na obraz.
W zależności od tego, co robot zobaczy i powinien zrobić, opracowywane jest oprogramowanie, które rozpoznaje wzorce i pomaga robotowi zrozumieć, co jest wokół niego. Może ono tworzyć podstawową mapę środowiska podczas pracy robota lub próbować porównywać cechy, które rozpoznaje na obrazach ze swoją bazą danych, aby znaleźć to, czego szuka.
Ten rodzaj programowania sam w sobie nie jest wystarczająco niezawodny, aby zapobiec zderzeniu robota z czymś lub upadkowi. Jest on uzupełniony o modele opisane powyżej, aby uczynić go użytecznym.
W miarę jak otrzymujesz coraz więcej mocy obliczeniowej za coraz mniejsze pieniądze, technologia ta staje się obecnie użyteczna w prawdziwym życiu[xv]. Jednak wysiłek związany z uczeniem się jest nadal znaczny, ponieważ roboty wymagają więcej danych szkoleniowych niż ludzie. Niemieckie Centrum Aeronautyki i Przestrzeni Kosmicznej opracowało zatem proces, w którym sceny są symulowane, a nie przy użyciu rzeczywistych obrazów. Oznacza to, że informacje, których należy się nauczyć (np. typ obiektu) mogą być generowane bezpośrednio na komputerze. [xvi].

Nowy kierunek: uczenie maszynowe
Nowy kierunek badań przyjmuje nieco inne podejście: zamiast programować system, powinien on być w stanie się uczyć. Zainspirowani tym, jak naukowcy zakładają, że zwierzęta widzą, opracowują strukturę. Ta struktura systemu nie jest algorytmem, ale podstawą tego, co robot sam opracowuje - czego się uczy. Nazywa się to "uczeniem maszynowym", a fakt, że roboty uczą się, oznacza, że mogą również dzielić się zdobytą wiedzą: Oznacza to, że nie każdy robot musi zaczynać od zera. Zamiast tego mogą uzyskać dostęp do zbiorowej wiedzy innych robotów - na przykład za pośrednictwem chmury. Wówczas wystarczyłoby, aby jeden robot rozwiązał złożone zadanie, aby wszystkie inne roboty w sieci również się go nauczyły. Pomysł, który dla niektórych jest przerażający, a dla innych ekscytujący.[xvii]
Dalszy rozwój sprzętuJednym z problemów związanych z tą technologią są kwestie ochrony danych, dla których nie zdefiniowano jeszcze żadnych standardów ani zasad.[xix]
Fazit

Oprócz uczenia maszynowego, opracowywane są również nowe kamery, które mogą widzieć nawet lepiej niż ludzkie oczy: Nowa kamera, opracowana przez naukowców z Uniwersytetu Stanforda, jest wzorowana na oczach owadów: Posiada 200 000 niezwykle małych mikrosoczewek, które zbierają szczegółowe informacje o każdym odbieranym bodźcu świetlnym. Ta "fotografia pola świetlnego", lub fotografia obliczeniowa, jest w stanie uchwycić szersze pole widzenia niż ludzie i zebrać więcej informacji.[xviii]


Uczenie robotów widzenia to poważne wyzwanie. Jednocześnie jest to jednak pomysł, który może otworzyć wiele nowych obszarów zastosowań dla robotów i sprawić, że istniejące staną się bardziej wydajne.

Największym wyzwaniem jest sprawienie, by robot zrozumiał, co znajduje się w jego otoczeniu i czy powinien na to zareagować. A jeśli tak, to w jaki sposób. Uczenie maszynowe umożliwiło poczynienie ogromnych postępów w tej dziedzinie, a przetwarzanie obrazu i technologia kamer również uległy dalszemu rozwojowi.

Jednak różne rodzaje czujników są obecnie nadal łączone - zwłaszcza w samochodach autonomicznych - w celu skompensowania słabości poszczególnych systemów.
Dokąd zmierzamy?

Chcesz od razu rozpocząć tworzenie własnego rozwiązania automatyzacji? Odwiedź nasz konfigurator!
.

A może chcesz dowiedzieć się więcej o procesie integracji? Pobierz naszą bezpłatną białą księgę: "Integracja procesów: 5 kroków do automatyzacji"
Chcesz dowiedzieć się więcej o świecie robotyki? Być może zainteresują Cię inne artykuły:

10 zasad, których należy przestrzegać podczas automatyzacji
Jakie są kluczowe punkty, które należy wziąć pod uwagę podczas tworzenia rozwiązania do automatyzacji?
Studium przypadku: Integracja rozwiązania do paletyzacji w Media Print
Czym są coboty?
5 największych zalet cobotów

Referencje

  • [i] Roberts, Jonathan (22 grudnia 2015 r.): "Jak roboty 'widzą' świat?", https://phys.org/news/2015-12-robots-world.html.
  • [ii] Amin, Geet (24 czerwca 2019 r.): "Jak roboty postrzegają otaczający je świat", https://www.roboticsbusinessreview.com/news/how-robots-perceive-the-world-around-them/.
  • [iii] Kunze, Sariana (23 kwietnia 2019 r.): "Jak czujniki sprawiają, że ROboty czują, widzą i uczą się", https://www.elektrotechnik.vogel.de/wie-sensoren-roboter-fuehlen-sehen-und-lernen-lassen-a-820602.
  • [iv] Condie, Bill (01 października 2017 r.): "Making robots see. Uczenie maszynowe i głębokie sieci neuronowe pomagają robotykom tworzyć maszyny, które widzą swoje otoczenie. Bill COndie donosi", https://cosmosmagazine.com/technology/making-robots-see/.
  • [v] Roberts, Jonathan (22 grudnia 2015 r.): "Jak roboty 'widzą' świat?", https://phys.org/news/2015-12-robots-world.html.
  • [vi] Fischer, Teresa (30 stycznia 2020 r.): "Kiedy roboty uczą się widzieć", https://www.blog.kuka.com/2020/01/30/wenn-roboter-sehen-lernen/.
  • [vii] Roberts, Jonathan (22 grudnia 2015 r.): "Jak roboty 'widzą' świat?", https://phys.org/news/2015-12-robots-world.html.
  • [viii] Triebel, Rudolph (25 czerwca 2020 r.): ""Jak sztuczna inteligencja pomaga nam uczyć roboty "widzieć"", https://www.dlr.de/blogs/alle-blogs/wie-kuenstliche-intelligenz-uns-hilft-robotern-das-sehen-beizubringen.aspx.
  • [ix] Geiger, Andreas (2015): "Roboter lernen sehen", https://www.mpg.de/9922487/mpi-mf_jb_2015.
  • [x] Triebel, Rudolph (25 czerwca 2020 r.): ""Jak sztuczna inteligencja pomaga nam uczyć roboty "widzieć"", https://www.dlr.de/blogs/alle-blogs/wie-kuenstliche-intelligenz-uns-hilft-robotern-das-sehen-beizubringen.aspx.
  • [xi] Swain, Frank (25 sierpnia 2020 r.): "Robotyka: Jak maszyny widzą świat", https://www.bbc.com/future/article/20140822-the-odd-way-robots-see-the-world.
  • [xii] Wevolver (2019): "How do Robots 'See' in 3D?", https://www.hackster.io/news/how-do-robots-see-in-3d-7374737e7e99.
  • [xiii] Amin, Geet (24 czerwca 2019 r.): "Jak roboty postrzegają otaczający je świat", https://www.roboticsbusinessreview.com/news/how-robots-perceive-the-world-around-them/.
  • [xiv] Kell, Adam (08 sierpnia 2016 r.): "Tak widzą roboty", https://blog.cometlabs.io/this-is-how-robots-see-aa353b0cd857.
  • [xv] Roberts, Jonathan (22 grudnia 2015 r.): "Jak roboty 'widzą' świat?", https://phys.org/news/2015-12-robots-world.html.
  • [xvi] Triebel, Rudolph (25 czerwca 2020 r.): ""Jak sztuczna inteligencja pomaga nam uczyć roboty "widzieć"", https://www.dlr.de/blogs/alle-blogs/wie-kuenstliche-intelligenz-uns-hilft-robotern-das-sehen-beizubringen.aspx.
  • [xvii] Roberts, Jonathan (22 grudnia 2015 r.): "Jak roboty 'widzą' świat?", https://phys.org/news/2015-12-robots-world.html.
  • [xviii] Orns, Steven (17 listopada 2017 r.): "Zobaczyć świat oczami robota", https://www.sciencenewsforstudents.org/article/seeing-world-through-robots-eyes.
  • [xix] Fischer, Teresa (30 stycznia 2020 r.): "Kiedy roboty nauczą się widzieć", https://www.blog.kuka.com/2020/01/30/wenn-roboter-sehen-lernen/.
Finde den passenden Roboter
Erstelle deine Lösung
Porównaj (0/3)