SYSTEM WIZYJNY ROBOTA KLASY LINEFOLLOWER



Podobne dokumenty
Wizja maszynowa w robotyce i automatyzacji Kod przedmiotu

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

zna wybrane modele kolorów i metody transformacji między nimi zna podstawowe techniki filtracji liniowej, nieliniowej dla obrazów cyfrowych

Implementacja filtru Canny ego

Przetwarzanie obrazów rastrowych macierzą konwolucji

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Diagnostyka procesów

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

Reprezentacja i analiza obszarów

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 8 AiR III

E-I2G-2008-s1. Informatyka II stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Interpretacja gestów dłoni w sekwencji obrazów cyfrowych. autor: Karol Czapnik opiekun: prof. dr hab. Włodzimierz Kasprzak

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Przetwarzanie obrazów wykład 4

Akademia Górniczo-Hutnicza

Temat Zasady projektowania naziemnego pomiaru fotogrametrycznego. 2. Terenowy rozmiar piksela. 3. Plan pomiaru fotogrametrycznego

Diagnostyka obrazowa

Algorytmy Laplacian of Gaussian i Canny ego detekcji krawędzi w procesie analizy satelitarnych obrazów procesów atmosferycznych.

i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Diagnostyka obrazowa

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Przetwarzanie obrazu

Filtracja obrazu operacje kontekstowe

Reprezentacja i analiza obszarów

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

Filtracja obrazu operacje kontekstowe

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 2 AiR III

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 10 AiR III

Detekcja kodów kreskowych w obrazach za pomocą filtrów gradientowych i transformacji morfologicznych

Gimp Grafika rastrowa (konwersatorium)

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Analiza obrazów - sprawozdanie nr 3

46 Olimpiada Biologiczna

46 Olimpiada Biologiczna

Automatyka i Robotyka II stopień ogólno akademicki

Elektronika i Telekomunikacja I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Projektowanie naziemnego pomiaru fotogrametrycznego. Dokładność - specyfikacja techniczna projektu

Przetwarzanie obrazów wykład 7. Adam Wojciechowski

Przetwarzanie obrazu

PRZEWODNIK PO PRZEDMIOCIE

Techniki uczenia maszynowego nazwa przedmiotu SYLABUS

Złożoność obliczeniowa zadania, zestaw 2

Widzenie komputerowe (computer vision)

Przetwarzanie obrazu

Analiza obrazu. wykład 1. Marek Jan Kasprowicz Uniwersytet Rolniczy Marek Jan Kasprowicz Analiza obrazu komputerowego 2009 r.

Raport. Bartosz Paprzycki UMK 2009/2010

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

Wydział Inżynierii Środowiska i Geodezji Katedra Fotogrametrii i Teledetekcji Katedra Geodezji Rolnej, Katastru i Fotogrametrii

SEGMENTACJA OBRAZU Wprowadzenie

Egzamin / zaliczenie na ocenę*

WideoSondy - Pomiary. Trzy Metody Pomiarowe w jednym urządzeniu XL G3 lub XL Go. Metoda Porównawcza. Metoda projekcji Cienia (ShadowProbe)

POBR Projekt. 1 Cel projektu. 2 Realizacja. 3 Zastosowany algorytm. Celem projektu było rozpoznanie logo firmy Sun Microsystems.

wiczenie 15 ZGINANIE UKO Wprowadzenie Zginanie płaskie Zginanie uko nie Cel wiczenia Okre lenia podstawowe

Technologie informacyjne - wykład 12 -

dr inż. Piotr Odya dr inż. Piotr Suchomski

Obraz jako funkcja Przekształcenia geometryczne

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Laboratorium LAB1. Moduł małej energetyki wiatrowej

KARTA PRZEDMIOTU. W5/1;W16/1 W5 Zna podstawowe metody przetwarzania wstępnego EP WM K_W9/3; obrazów barwnych.

AutoCAD Mechanical - Konstruowanie przekładni zębatych i pasowych. Radosław JABŁOŃSKI Wydział Mechaniczny Technologiczny Politechnika Śląska, Gliwice

Metody komputerowego przekształcania obrazów

MatliX + MatliX MS. Urządzenie do wizyjnej kontroli wymiarów oraz kontroli defektów powierzchni

Programowanie systemów wizyjnych Cognex. Podstawowe pojęcia oraz środowisko Spreadsheet

Laboratorium Optyki Falowej

Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie. Projekt. z przedmiotu Analiza i Przetwarzanie Obrazów

Scenariusz lekcji Ozobot w klasie: Spacer losowy po układzie współrzędnych

PODZIAŁ PODSTAWOWY OBIEKTYWÓW FOTOGRAFICZNYCH

Metody kodowania wybranych cech biometrycznych na przykładzie wzoru naczyń krwionośnych dłoni i przedramienia. Mgr inż.

STATYCZNA PRÓBA ROZCIĄGANIA

PRZEWODNIK PO PRZEDMIOCIE

ScrappiX. Urządzenie do wizyjnej kontroli wymiarów oraz kontroli defektów powierzchni

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 1 AiR III

KONWERSJA OBRAZÓW CYFROWYCH DO POSTACI ZBIORÓW UCZĄCYCH DLA POTRZEB MODELOWANIA NEURONOWEGO

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 3 AiR III

Detekcja punktów zainteresowania

PL B BUP 26/ WUP 04/07 RZECZPOSPOLITA POLSKA (12) OPIS PATENTOWY (19)PL (11) (13) B1

Analiza obrazu. wykład 4. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

POPRAWIANIE JAKOŚCI OBRAZU W DZIEDZINIE PRZESTRZENNEJ (spatial image enhancement)

Wyznaczanie trójkątów widoczności na skrzyżowaniu dwóch dróg

Akademia Górniczo-Hutnicza

KARTA PRZEDMIOTU. Techniki przetwarzania sygnałów, D1_3

Grafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38

ROZWIĄZANIA WIZYJNE PRZEMYSŁOWE. Rozwiązania WIZYJNE. Capture the Power of Machine Vision POZYCJONOWANIE IDENTYFIKACJA WERYFIKACJA POMIAR DETEKCJA WAD

Kultywator rolniczy - dobór parametrów sprężyny do zadanych warunków pracy

Techniki animacji komputerowej

PhoeniX. Urządzenie do wizyjnej kontroli wymiarów oraz kontroli defektów powierzchni

Analiza i przetwarzanie obrazo w

Marcin Wilczewski Politechnika Gdańska, 2013/14

KRYTERIA OCENY PARAMETRÓW KÓŁ POJAZDÓW POWYPADKOWYCH

SquezeeX. Urządzenie do wizyjnej kontroli wymiarów oraz kontroli defektów powierzchni

Projekt stałej organizacji ruchu

CECHY BIOMETRYCZNE: ODCISK PALCA

Rozszerzony konspekt przedmiotu Inteligentne maszyny i systemy

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Anemometria obrazowa PIV

WYZNACZENIE CHARAKTERYSTYK STATYCZNYCH PRZETWORNIKÓW POMIAROWYCH

Transkrypt:

SYSTEM WIZYJNY ROBOTA KLASY LINEFOLLOWER Projekt z cyfrowego przetwarzania obrazów i sygnałów Autor: Grzegorz Biziel Prowadzący: mgr inż. Łukasz Małek Termin: wtorek parzysty 13:15 27 stycznia 2010

1 Problem Rozwój techniki mikroprocesorowej oraz podnosząca się jakość przetworników obrazu pozwala na rozwiązywanie nowej puli problemów przy pomocy systemów wizyjnych. Postawionym zadaniem było zaprojektowanie algorytmu systemu wizyjnego dla robota klasy linefollower wydobywającego z obrazu z przed robota ścieżkę i przedstawiającego ją w zadanej parametryzacji. 2 Środowisko rozwoju algorytmu Środowiskiem rozwoju był systemu Linuks oraz biblioteka OpenCV. Algorytm ma docelowo działać na płytce uruchomieniowej BeagleBoard, ale tworzony był na platformie PC z uwagi na większą elastyczność pracy na komputerze stacjonarnym. Biblioteka OpenCV dostarczyła większość podstawowych operacji przetwarzania (strukturę przechowywania obrazu, konwersje przestrzeni kolorów, operacje morfologiczne, wydobcie krawędzi). Kod był rozwijany w języku C++. Urządzeniem do akwizycji obrazu została tania kamera USB firmy Apollo oparta o przetwornik CMOS i układ Z-Star ZC0301. 3 Algorytm 3.1 Wstęp Problemem postawionym przed algorytmem jest wydobycie z obrazu ścieżki, którą ma podążać robot. W tym celu musi wydobyć z obrazu parametry toru przy jednoczesnym odrzuceniu elementów, które mogą się pojawić w polu widzenia robota lub zdobyć informację o przeszkodach blokujących tor. W tym celu wykorzystano operacje morfologiczne oraz ocenę momentów geometrycznych. 3.2 Wydobycie krawędzi Podstawą dla wydobycia krawędzi z obrazu stał się jego charakter silny kontrast między czarną linią toru i białym tłem. W związku z tym procedura wydobycia krawędzi została oparta o obraz binarny uzyskiwany w drodze progowania. Próg jest wybierany na podstawie danych statystycznych z poprzedniego przebiegu etapu 3.3. Jedna z operacji filtracji następuje już w tym etapie. Z uwagi na charakter sylwetki toru można na tym etapie usunąć grupę zaburzeń, która jak okazało się w testach była dość kosztowna do usunięcia w kolejnych etapach. W celu usunięcia drobnych podłużnych elementów obraz jest filtrowany przez parokrotne wykonanie operacji morfologicznego zamknięcia. Z takiego obrazu kontury są wydobywane na drodze różnicy obrazu wydobytych sylwetek oraz sylwetek poddanych erozji tak zwana operacja Top Hat. Dużą zaletą użycia takiej procedury wydobycia krawędzi jest zapewnienie ciągłości konturu. 3.3 Wybór krawędzi Obraz dostarczony do systemu może być obciążony różnymi zaburzeniami. Robot może chwilowo stracić poprawną orientację względem toru, przy krańcach 1

pola widzenia mogą pojawić się inne przedmioty lub sam tor może być zablokowany przez jakąś przeszkodę. W celu poprawnego wyboru krawędzi zbudowano klasyfikator. W celu minimalizacji kosztów obliczeniowych klasyfikatora obraz został podzielony na makrobloki i to w obrębie poszczególnych makrobloków dokonywano klasyfikacji. W każdym z nich wyliczono statystyki niskich rzędów. Na podstawie przewidywanych cech toru i eksperymentów stworzono funkcję zamieniającą wartości momentów na kategorie bloków. W drodze przeglądania typów bloków z sąsiedztwa wytypowano obszary z przeszkodami. Kontury sklasyfikowane jako przeszkody zostały usunięte. Z pośród pozostałych krawędzi wybierane są te o największej długości z uwzględnieniem progu minimalnej długości, ponieważ ewentualne fałszywe kontury, które mogły przedostać się przez filtrację są związane z drobnymi przeszkodami lub zabrudzeniami. 3.4 Zmiana parametryzacji Dla wybranych z obrazu krawędzi dokonywana jest zmiana parametryzacji. Punkty składowe krzywych przenoszone są z układu odniesienia matrycy kamery do układu odniesienia krzyżującego się w punkcie na płaszczyźnie znajdującym się pionowo pod soczewką. Transformację wyprowadzono przy założeniu idealności zastosowanej optyki. Schemat ideowy sceny przedstawia rysunek 1. Na podstawie znanych kątów widzenia w pionie i poziomie oraz znanej wysokości soczewki i kąta pod jakim jest skierowana kamera zostały wyprowadzone wzory na odległość punktu od osi kamery. Rysunek 1: Pole widzenia kamery na płaszczyźnie toru i układ współrzędnych kamery 2

Rysunek 2: Schemat widzenia kamery wzdłuż jednej kolumny obrazu Dla jednej kolumny obrazu (rys. 2) odległość wyraża się jako iloczyn wysokości soczewki i tangensu części kąta widzenia dla danego piksela oraz kąta pola martwego przed kamerą (wzór 1). y p = tg(ψ H b H + ξ)h (1) Gdzie ψ to kąt pola widzenia w pionie, ξ kąt pola martwego przed kamerą (obszar niewidoczny), H wysokość obrazu w pikselach, b numer linii punktu na obrazie, a h to wysokość soczewki nad powierzchnią toru. Dodatkowo pomocniczo na potrzeby dalszych obliczeń wyliczana jest odległość od soczewki do danego punktu płaszczyźnie toru (wzór 2). k = h cos(ψ H b H + ξ) (2) Rysunek 3: Schemat widzenia kamery wzdłuż jednego wiersza obrazu Wykorzystując wcześniej wyliczone dane (wzór 2) można wyliczyć odległość od osi kierunku kamery (rys. 3) jako iloczyn k oraz tangens kąta odchylenia piksela od osi środkowej (wzór 3). x p = tg(ω 1 W 1 2 a )k (3) 2 W 1 2 3

Gdzie ω to kąt pola widzenia kamery w poziomie, W szerokość obrazu, a numer kolumny na obrazie. Ponieważ transformacja jest wykonywana dla niezmiennego kąta nachylenia kamery i jej wysokości, w związku z tym można było wyliczyć wartości dla wszystkich punktów na obrazie wcześniej i stworzyć look-up table transformacji pozwalającą usunąć powtarzające się obliczenia. Dodatkowo, aby zredukować ilość informacji o transformowanych krzywych są one aproksymowane łamanymi przy pomocy algorytmu Douglas a-peucker a. 3.5 Testy Na potrzeby testów zbudowano prostą podstawę zapewniający stałą wysokoć i nachylenie kamery względem podłoża (rys. 4). Przygotowano parę kart rozmiaru A4 z różnymi elementami potencjalnego toru prostymi stykającymi się pod kątem 45 lub 90 stopni oraz z odcinkiem krzywej Béziera (rys. 5). Rysunek 4: Podstawa kamery symulująca docelowy montaż (a) 90 o (b) 45 o (c) krzywa Béziera Rysunek 5: Plansze testowe Wyniki kilku prób dla plansz przedstawia rysunek 6. Pary rysunków przedstawiają źródłowy obraz z kamery oraz krawędzie w parametryzacji związanej z kamerą. Efekty przedstawiane są w postaci unormowanej. System radzi sobie z krzywymi łamanymi jak i gładkimi. Wykrywa również przeszkody (rys. 6d). Stojak zapewnił następujące parmetry pracy: długość pola martwego przed kamerą 103mm, wysokość soczewki nad powierzchnią toru 100mm, długość pola widzenia 230mm, szerokość pola widzenia w jego połowie 130mm. 4

(a) (b) (c) (d) Rysunek 6: Przykładowe wyniki 4 Wnioski Zbudowany system wizyjny dostarcza dobrej jakości informacji o trasie. W związku z niską rozdzielczością przetwornika da się zauważyć drobne błędy odwzorowania dla punktów odległych przy końcu pola widzenia. Reprezentacja krzywych gładkich jako łamanych daje zadowalające efekty przy znacznej redukcji ilości punktów opisujących krzywą. Przy doborze kamery do realizacji podjętego zadania trzeba wziąć pod uwagę możliwą rozdzielczość pracy ze względu na precyzję, ilość klatek na sekundę z uwagi na rozmycia związane z ruchem robota i jakość soczewki ograniczającą efektywne pole widzenia aberracjami sferycznymi. Ustawiając kąt nachylenia kamery do podłoża należy wziąć pod uwagę dostateczny zasięg pola widzenia z akceptowalną długością pola przed robotem, które zostanie wyłączone z analizy. Literatura [1] Gonzalez R., Woods R., Digital Image Processing. Prentice-Hall, New Jersey, 2nd Edition, 2002. [2] Malina W., Smiatacz M., Cyfrowe przetwarzanie obrazów. AOW EXIT, Warszawa, 2008. [3] Choraś R., KOMPUTEROWA WIZJA, Metody interpretacji i identyfikacji obiektów. AOW EXIT, Warszawa, 2005. [4] Dokumentacja biblioteki OpenCV http://opencv.willowgarage.com/wiki/ 5