• Nie Znaleziono Wyników

Generowanie deskryptorów przez algorytm uczenia maszynowego

W dokumencie W POLITECHNIKA POZNAŃSKA (Stron 90-109)

6. Wyznaczanie pozycji obiektów przy użyciu uczenia maszynowego

6.2. Generowanie deskryptorów przez algorytm uczenia maszynowego

Architektura sieci neuronowej została dostosowana do zadania generowania deskryptorów dla wszystkich punktów w chmurze. Jako bazy do implementacji użyto kodu realizującego segmentację punktów z oficjalnego repozytorium autorów publikacji. Usunięto ostatnie warstwy sieci, odpowiadające za klasyfikację poszczególnych punktów, a dodano warstwę konwolucyjną z liniową funkcją aktywacji, transformującą cechy sieci do K-wymiarowych deskryptorów. Zastosowano 4 bloki próbkowania i grupowania punktów, przy liczbie przetwarzanych punktów na grupę kolejno 1024, 256, 64 i 16. Dalej użyto 4 bloki propagacji cech, dzięki czemu zachowana jest liczba punktów na wejściu i na wyjściu sieci. Schemat wymiarów danych sieci przedstawiono na rys. 6.1.

Błękitnymi strzałkami zaznaczono na nim połączenia skrótowe, które stanowią dodatkowe źródło danych przy propagacji cech. Na czerwono zaznaczono tylko współrzędne punktów, mające wymiar 3, dalsza wielkość jest to wymiar cechy. Każdy tensor ma również wymiar wzdłuż wymiaru warstw.

Oznacza on, że jednocześnie przetwarzane jest kilka chmur punktów.

Rys. 6.1. Wymiary danych przy przetwarzaniu przez wypracowaną sieć

Architektura przypomina nieco strukturą autoenkoder, czyli sieć, w której stopniowo zmniejsza się wymiary geometryczne (w tym przypadku liczbę punktów), a zwiększa głębokość, wymiar cech.

Następnie liczba punktów jest odtwarzana przez kolejne bloki propagacji. Finalnie na wyjściu uzyskuje się tą samą liczbę punktów i ich współrzędne, co na wejściu, przy czym każdemu punktowi przypisany jest dodatkowo wektor 16 cech, stanowiący lokalny deskryptor punktu.

Deskryptor ten zawiera jednocześnie informacje globalne z kompaktowej, ale głębokiej reprezentacji uzyskanej po 4 blokach próbkowania i grupowania, ale również cechy lokalne, które trafiły przez połączenia skrótowe. Długość deskryptora została ustalona eksperymentalnie. Nie zauważono, że zwiększanie długości deskryptora poprawiałoby wyniki, natomiast widoczny był wzrostu czasu dopasowywania chmur punktów.

6.2.1 Sieci syjamskie

Uczenie deskryptorów punktów realizowane jest przy pomocy dwóch bliźniaczych sieci, które przetwarzają dwie reprezentację jednej sceny. Technikę tę stosuje się zarówno w obrazach płaskich [127], jak i w chmurach punktów [86]. Istotą metody sieci syjamskich jest założenie, że deskryptory w odpowiadających sobie punktach powinny być identyczne, a odległość pomiędzy parami deskryptorów punktów określonymi jako odmienne, powinna być większa od założonego progu d.

Odległości pomiędzy deskryptorami są mierzone jako odległość w metryce euklidesowej. Na etapie uczenia trzeba dostarczyć do algorytmu dwie chmury punktów oraz zależności pomiędzy nimi, to jest wskazanie, które pary punktów w obu chmurach odpowiadają sobie, a które pary nie wskazują na jeden punkt w reprezentacji. Schematycznie przedstawiono to na rys. 6.2.

Para identycznych sieci, których wagi są połączone, przetwarza dwie reprezentacje jednego obiektu. Zadane są zależności dodatnie, pomiędzy odpowiadającymi sobie punktami, zaznaczone na

Rys. 6.2. Uczenie podobieństwa przy użyciu układu sieci syjamskich

zielono i ujemne, pomiędzy punktami w innych punktach obiektu, zaznaczone na czerwono. Sieci przekształcają chmurę punktów do reprezentacji, w której każdy punkt jest opisany przez deskryptor zawierający informację o lokalnej geometrii i kontekście. Dla każdej pary punktów, dla której zdefiniowana jest zależność, oblicza się odległość w przestrzeni deskryptora. Sumaryczny błąd sieci składa się z odległości pomiędzy odpowiadającymi sobie punktami oraz miary podobieństwa pomiędzy punktami opisanymi ujemną zależnością. Wartość błędu służy później do optymalizacji wag sieci przy użyciu wstecznej propagacji błędu i metody iteracyjnego gradientu.

6.2.2 Przygotowanie danych uczących

Ze względu na ogrom pracy niezbędny do przygotowania zbioru danych zawierającego modele obiektów, ich rzeczywiste reprezentacje w różnorodnych scenach i informacje o ich położeniu w przestrzeni względem sensora, trudno jest znaleźć publiczne dane tego typu. Istniejące zbiory jak LINEMOD [31] lub T-LESS [34] są stosunkowo niewielkie. Liczby obiektów i scen nie są wystarczające do nauczenia złożonej architektury, którą zaprojektowano. Z tych powodów zrezygnowano z uczenia sieci pod nadzorem, to jest z utworzonymi przez człowieka etykietami definiującymi zależności pomiędzy punktami w chmurach punktów, a zdecydowano się generować etykiety w sposób automatyczny, co w literaturze znane jest jako uczenie słabo nadzorowane (ang. weakly supervised).

Jako bazę użyto zbioru danych 3dscan [30]. Wytypowano 10 najszerzej reprezentowanych klas ze statycznymi obiektami i ruchem kamery, co przełożyło się na 2256 sekwencji RGB-D. Sceny przedstawiają różnorodne miejsca i obiekty, jednak tylko dla niewielkiej ich części autorzy zbioru danych dostarczają rekonstrukcje w postaci siatek. Dla reszty scen opracowano rekonstrukcje w postaci chmur punktów, przez przetworzenie zbioru obrazów i map głębi przez ciąg algorytmów wprowadzony w [128] i zaimplementowany w bibliotece Open3D [129]. Ze względu na dużą nadmiarowość danych i długi czas przetwarzania, za wystarczające uznano przetwarzanie jedynie pierwszych 100 klatek sekwencji. Czas przetwarzania dalej ograniczano przez wprowadzenie przetwarzania wielowątkowego, a i tak przetworzenie całego zbioru zajęło kilkadziesiąt godzin pracy komputera. Efektem przetworzenia, obok wynikowej chmury punktów, jest zbiór transformacji określających położenie rekonstrukcji z pojedynczej klatki RGB-D względem bazowego układu współrzędnych finalnej rekonstrukcji (rys. 6.3).

Przetestowano kilka sposobów generowania danych uczących. Jednym ze sposobów było wycinanie fragmentów chmur punktów z dwóch różnych reprezentacji i nakładanie ich na siebie na podstawie mnożenia transformacji. Punkty znajdujące się blisko siebie stanowiły przykłady pozytywne dla sieci, a punkty, które nie posiadały bliskich sąsiadów w drugiej chmurze punktów łączono losowo i stanowiły przykłady negatywne. Innym pomysłem było losowe wybieranie punktów na finalnej rekonstrukcji i sprawdzanie, czy rzuty tego punktu są spójne z chmurami wygenerowanymi z pojedynczych reprezentacji RGB-D. Jeżeli wybrany punkt po rzutowaniu leżał blisko zarówno jednej jak i drugiej chmury punktów, to był wybierany jako przykład pozytywny.

Brak zgodności występował zwykle na powierzchniach częściowo zasłoniętych, półprzezroczystych lub na krawędziach gdzie występował nagły przeskok głębi. Punkty te łączono losowo i stanowiły przykłady negatywne.

Przetestowano też metodę czerpiącą korzyści ze wskazania na reprezentacjach punktów charakterystycznych. Na etapie przygotowania danych uczących ładowana jest finalna reprezentacja wygenerowana na podstawie sekwencji obrazów i map głębi, sama sekwencja oraz graf zawierający znane transformacje geometryczne pomiędzy położeniami kamery w trakcie pobierania poszczególnych klatek w sekwencji. Dla każdej sekwencji wybierane jest losowo 100 par klatek, pomiędzy którymi znana jest transformacja geometryczna. Dla każdej z dwóch reprezentacji RGB-D w parze generuje się chmurę punktów, ogranicza się jej wymiar zachowując jedynie losowych 4096 punktów i sprowadza do wspólnego układu współrzędnych. Obliczana jest rozdzielczość

Rys. 6.3. Finalna rekonstrukcja sceny i transformacje pojedynczych reprezentacji RGB-D

chmury punktów, będąca średnią odległością punktu do najbliższego sąsiada w chmurze. Dla pierwszej reprezentacji RGB-D wyznacza się punkty kluczowe, czyli punkty charakterystyczne, o unikatowej geometrii, które powinny być łatwo rozróżnialne od innych punktów w przestrzeni reprezentacji. Niestety, istniejące algorytmy wyszukiwania punktów kluczowych w chmurach punktów [53] wciąż nie radzą sobie w wystarczającym stopniu z szumem i punktami odstającymi pojawiającymi się danych uzyskanych z ogólnodostępnych kamer 3D. Zdecydowano się na wykrywanie punktów kluczowych na obrazie i w mapie głębi przy użyciu metody ORB [130].

Konieczna jest weryfikacja, przedstawiona na rys. 6.4, i sprawdzenie, czy wygenerowane punkty kluczowe odpowiadają rzeczywistym punktom w przestrzeni.

Procedura ta polega na rzutowaniu wybranych punktów na pełną rekonstrukcję sceny przy użyciu algorytmów śledzenia promieni [131]. Następnie sprawdza się, czy w danym punkcie przestrzeni, znajdują się także punkty obu częściowych reprezentacji wygenerowanych na podstawie wybranych klatek. Ten etap polega na przekształceniu każdej reprezentacji częściowej do drzewa k-wymiarowego i poszukiwaniu najbliższego sąsiada dla współrzędnych punktu kluczowego. Jeżeli taki punkt znajduje się w promieniu mniejszym niż 3 rozdzielczości chmury, dany punkt stawał się przykładem pozytywnej zależności. Zbiór zależności negatywnych generowano losowo, wybierano parę punktów na dwóch częściowych rekonstrukcjach i sprawdzano, czy odległość jest kilkukrotnie większa od rozdzielczości chmury. Liczba przykładów negatywnych jest równa liczbie przykładów pozytywnych i zmienia się w zależności od liczby znalezionych i zweryfikowanych punktów kluczowych. Dla pozostałych punktów zależność nie jest określona i nie są używane w trakcie uczenia sieci neuronowej. Wszystkie obliczenia są stosunkowo czasochłonne, dlatego wykonuje się je przed rozpoczęciem procesu uczenia. Na etapie uczenia, odpowiednie dane, zawierające parę chmur punktów z częściowych reprezentacji oraz

Rys. 6.4. Rzutowanie punktów kluczowych na chmury punktów

zależności pomiędzy nimi, są ładowane z plików i mogą być wprost przekazywane do przetwarzania przez algorytm uczenia maszynowego.

6.2.3 Uczenie sieci

Sieć neuronowa generuje deskryptory dla obu chmur, realizując funkcję f przekształcającą zbiór punktów X = {P1, P2,…,Pn}, P∈ℝ3na zbiór deskryptorów Y = {y1, y2,…,yn}, y ∈ℝ16. Na etapie uczenia przetwarzane są jednocześnie dwie chmury XI i XII. Każdemu punktowi pierwszej chmury przypisana jest zależność mająca postać pary {ki, idi}, gdzie k ∈{−1,0, 1} , 1 – relacja pozytywna, -1 – relacja negatywna, a 0 oznacza brak określonej relacji. Identyfikator id∈{0, 1, ..., n} to pozycja punktu w drugiej chmurze, którego dotyczy zależność. Odległość pomiędzy deskryptorami jest obliczana według metryki Manhattan (metryka poziomu 1). Funkcja kary stanowiąca podstawę wag sieci składa się z dwóch składników. Dla pozytywnych relacji:

L1=∀ (i, ki=1)

‖f ( XI)if (XII)ID

i1 (6.1)

Dla negatywnych relacji określa się margines, to jest minimalna odległość jaka powinna dzielić dwa deskryptory, które odpowiadają różnym punktom. W uczeniu opracowanej sieci zastosowano margines m=1,0.

L2=∀ (i ,ki=−1)

max (m−‖f ( XI)i−f (XII)ID

i1,0) (6.2)

L=L1+L2 (6.3)

Funkcja kary dąży do zera, gdy deskryptory dla odpowiadających sobie punktów są identyczne, a przy zależności negatywnej, odległość pomiędzy deskryptorami, jest większa niż założony próg m.

Proces uczenia sieci trwa około 12 godzin, co odpowiada 80-krotnemu przetworzeniu całego zbioru danych. Na jednej karcie graficznej przetwarzane jest jednocześnie 7 par chmur punktów, liczba ta wynika z ilości dostępnej pamięci. Większa ilość wsadu, czyli większa liczba jednocześnie przetwarzanych chmur punktów w jednym przejściu, z których obliczana jest jedna wartość funkcji kary, stabilizuje proces uczenia i zmniejsza ryzyko wystąpienia nagłego wzrostu gradientów aktualizujących wagi. Wagi optymalizowane są metodą Adam [132] ze współczynnikiem uczenia równym 0,001. Wykres wartości funkcji kary w trakcie uczenia przedstawiono na rys. 6.5. Spadek i stabilizacja sugeruje prawidłowy przebieg procesu.

W celu walidacji procesu uczenia, sieć była testowana na zadaniu dopasowywania chmur punktów. Z opracowanego zbioru wydzielono część scen, które służyły jedynie do testowania, na ich podstawie nie aktualizowano wag sieci. Częściowe reprezentacje z jednego zdjęcia i mapy głębi dopasowywano metodą FGR i RANSAC do zrekonstruowanej z całej sekwencji chmury punktów.

Dla porównania, przy użyciu tych samych danych i metody dopasowywano klasyczne deskryptory FPFH. Miarą dopasowania jest udział punktów w dopasowanej chmurze, które mają najbliższego sąsiada w finalnej reprezentacji w promieniu mniejszym niż 1,5 rozdzielczości chmury punktów.

Wyniki przedstawia tabela 6.1.

Tabela 6.1. Wyniki dopasowywania częściowych chmur punktów przy użyciu deskryptorów

FPFH RANSAC

sieć RANSAC FPFH FGR

sieć FGR

Dopasowanie F 0,840 0,994 0,726 0,864

Czas na scenę 4,00 s 3,45 s 0,077 s 0,123 s

Wytrenowane deskryptory wyraźnie lepiej radzą sobie z dopasowywaniem niekompletnej chmury punktów powstałej na podstawie jednego obrazu i mapy głębi. Różnice w czasie przetwarzania wynikają z jednej strony z dłuższego przetwarzania przez sieć przy generowaniu deskryptorów, ale krótszego czasu dopasowywania. Deskryptor generowany przez sieć ma długość jedynie 16 elementów, podczas gdy klasyczny FPFH składa się z 33 elementów na punkt. Zaletą opracowanego rozwiązania jest możliwość stosowania tych samych algorytmów do wstępnego przetwarzania i dopasowywania chmur punktów. Jedyną różnicą jest podmiana funkcji generującej deskryptory.

Rys. 6.5. Wykres wartości funkcji kary w procesie uczenia wygładzony średnią kroczącą

6.3. Weryfikacja rozwiązania

6.3.1 Testy deskryptorów generowanych przez sieć neuronową

Zbiór UWA [32] zawiera 5 modeli, które dopasowywano do 50 scen i weryfikowano poprawność metody na podstawie dostarczonych ze zbiorem macierzy transformacji. Zarówno modele, jak i sceny zadane są dobrej jakości chmurami punktów i nie ma potrzeby rekonstrukcji z sekwencji RGB-D. Rozpoznawane w testach modele zaprezentowano w tabeli 6.2.

Tabela 6.2. Modele zbioru UWA [32]

chef T-Rex parasaurolophus chicken

Wysoka jakość przy zachowaniu charakterystyki danych trójwymiarowych, polegającej na obecności zasłonięć obiektów i niepełności analizowanych powierzchni, sprawiają, że zbiór dobrze nadaje się do weryfikacji systemu wyznaczania położenia obiektów w przestrzeni pracy robota przemysłowego. Przeprowadzono na tym zbiorze testy pozwalające wyznaczyć skuteczność poszczególnych deskryptorów, generowanych przez zdefiniowany przez człowieka algorytm FPFH i sieć neuronową uczącą się na zbiorze danych. Zbiór ten posłużył do wyboru optymalnego modelu i techniki uczenia sieci neuronowej.

Test polegał na wyznaczeniu położenia każdego z modeli w scenie testowej zbioru danych.

Obliczenia przebiegały po próbkowaniu chmur punktów przy pomocy reprezentacji wokselowej o wymiarze 5 mm. Deskryptory dopasowywano algorytmem RANSAC przy stałych parametrach dla każdego wariantu algorytmu. Miarą jakości przetworzenia zbioru jest współczynnik sukcesu.

Jest to udział scen, w których udało się prawidłowo znaleźć wybrany model. Prawidłowa lokalizacja jest zdefiniowana, jako wygenerowanie transformacji, której odległość do transformacji prawdziwej, danej przez autora zbioru danych, jest nie większa niż Δ tT=20 mm oraz Δ RT=7,5 °.

Różnica obrotów jest obliczana jako obrót względem centroidy modelu, a nie względem początku układu współrzędnych, czyli względem kamery. Błąd detekcji obliczany jest według wzorów:

R|=arccostr(RTpr

Rpr, tpr - macierz obrotu i wektor przesunięcia prawdziwe, dostarczone ze zbiorem danych, Rdet, tdet - macierz obrotu i wektor przesunięcia wygenerowane przez algorytm

FPFH 33 0,92 0,89 0,91 0,81 0,88 3,00

Fragmenty chmur,

gęste zależności 16 0,46 0,18 0,42 0,31 0,34 3,10

Fragmenty chmur,

gęste zależności 32 0,52 0,20 0,49 0,40 0,40 3,21

Fragmenty chmur,

gęste zależności 128 0,46 0,20 0,49 0,27 0,35 3,51

Pełne chmury, kluczowe zależności

16 0,18 0,04 0,09 0,06 0,09 3,08

Testy wykazały, że w tym zadaniu wyznaczania położenia modeli w chmurach punktów, klasyczne deskryptory FPFH sprawdzały się lepiej, od tych wygenerowanych przez nauczoną sieć.

Można również zauważyć, że wielkość deskryptora, to jest liczba elementów wektorów opisujących każdy punkt w chmurze nie wpływa znacząco na skuteczność rozwiązania. Do dalszych testów wybrana została sieć generująca 32-elementowe deskryptory. Duże znaczenie ma natomiast sposób uczenia sieci neuronowej. Test wykazał, że najlepszą skuteczność uzyskano dla uczenia na mniejszych fragmentach chmur punktów, przy definiowaniu zależności dla wszystkich punktów.

Uczenie na pełnych chmurach o większej liczbie punktów, ale dla mniejszej liczbie zdefiniowanych zależności, jedynie w punktach charakterystycznych, przyniosło zdecydowanie gorsze rezultaty.

Czas przetwarzania wynika przede wszystkim z czasu dopasowywania i jest zbliżony dla wszystkich metod. Można zauważyć korelację pomiędzy liczbą cech deskryptora, a czasem przetwarzania, jednak znaczenie jej nie jest bardzo istotne. Do dalszych testów wybrano sieć

generującą 32 cechy, ze względu na najlepszą skuteczność pośród metod uczonych. Na rysunku 6.6 przedstawiono histogramu błędów przesunięcia i obrotu generowane przez system dla deskryptorów FPFH i najskuteczniejszej sieci neuronowej.

Czerwone pionowe linie oznaczają progi, które definiują prawidłowe zlokalizowanie obiektu.

Próbki, znajdujące się na prawo od progu odcięcia uznawane są nieprawidłowe. Zauważyć można, że system oparty na deskryptorach nie ma problemu z dokładnym dopasowaniem obiektów, a jedynie z detekcjami odstającymi, w których przyjęta została nieprawidłowa zależność pomiędzy punktami i uzyskano całkowicie nieprawidłową transformację, daleką od wartości prawdziwej.

LINEMOD [31] jest zbiorem, w którym przedstawione jest wiele niewielkich obiektów na palecie, więc jest spójny z zadaniem analizy otoczenia obiektów w otoczeniu robota przemysłowego. Niestety zastosowane przez autorów urządzenie charakteryzuje się niską rozdzielczością, co sprawia, że jakość reprezentacji jest stosunkowo niska. Modele wraz z nazwami nadanymi przez autorów zbioru przedstawiono w tabeli. 6.4.

Tabela 6.4. Modele w zbiorze LINEMOD [31]

Ape Bench Vise

Bowl Cam Can Cat Cup Drill Duck Box Glue Hole Punch

Iron Lamp Phone

W celu poprawy możliwości określania pozycji niewielkich obiektów na podstawie reprezentacji o ograniczonej liczbie punktów, opracowano nową metodę, inspirowaną [72], ale dostosowaną do scenariusza w którym konieczne jest dopasowywanie zadanych modeli

Rys. 6.6. Rozkłady błędów przesunięcia i obrotu

trójwymiarowych na podstawie deskryptorów w celu uzyskania pełnej macierzy transformacji pomiędzy modelem, a sceną.

Metoda polega na opracowaniu dodatkowej sieci neuronowej pełniącej rolę detektora operującego na obrazach płaskich, a następnie wycinaniu zlokalizowanych na obrazie fragmentów i dopasowywania chmury punktów na podstawie deskryptorów. Pierwszy etap pozwala na szybką lokalizację obiektu, ale na podstawie obrazu płaskiego nie jest możliwe precyzyjne określenie położenia obiektów w przestrzeni. Detekcja na obrazie zawęża pole poszukiwania modelu, pozwala skrócić czas obliczeń i zwiększyć dokładność poprzez ograniczenie liczby wyników fałszywie dodatnich w trakcie przetwarzania trójwymiarowej chmury punktów. Jednocześnie trzeba pamiętać, że detektor nie jest idealny i wielu przypadkach sam może dawać wyniki fałszywie dodatnie lub pomijać obiekty. Mimo to, finalnie połączenie dwóch algorytmów okazuje się być skuteczniejsze od przetwarzania jedynie chmur punktów. Metodę hybrydową, przetwarzającą jednocześnie reprezentację płaską i trójwymiarową przedstawiono na rys. 6.7.

Rys. 6.7. Hybrydowe wyznaczanie położenia obiektów w reprezentacjach RGB-D

Detektor operujący na obrazie płaskim został nauczony z samokontrolą, to znaczy, że etykiety opisujące położenie poszczególnych obiektów utworzone zostały automatycznie, bez udziału człowieka. W losowe zdjęcia z publicznego zbioru COCO wrysowywano obiekty ze zbioru LINEMOD przy dowolnym ich położeniu i orientacji kątowej. Jedyne 2000 syntetycznych spreparowanych obrazów wystarczyło, żeby nauczyć sieć neuronową opartą o architekturę Mask-RCNN [133], wstępnie uczoną lokalizacji obiektów ze zbioru COCO. Sieć charakteryzuje się jednoczesnym generowaniem nie tylko prostokątów okalających każde wystąpienie obiektu, ale również maski detekcji, dlatego zachowany jest kształt rozpoznawanych elementów. Jest to kluczowe w kolejnym etapie, kiedy poszczególne punkty detekcji z obrazu płaskiego są rzutowane na trójwymiarową chmurę punktów. Uzyskuje się jedynie niewielki wycinek, do którego należy dopasować tylko jeden model, gdyż znana jest przewidywana klasa obiektu. Znaczenie zwiększyło to skuteczność i skróciło czas przetwarzania chmur punktów przy użyciu klasycznego deskryptora FPFH, jak i przy własnej sieci neuronowej do generowania deskryptorów.

Przetwarzano dane testowe zbioru w postaci sekwencji z kamery 3D. Ze względu na długość sekwencji, przetwarzano co 10 zdjęcie ze zbioru testowego, jednak w każdym teście są to te same zdjęcia. Rekonstrukcja chmury punktów do której dopasowywano modele następowała z pojedynczego obrazu i mapy głębi, nie tworzono chmury punktów z sekwencji pewnej długości ze względu na obawę o możliwość przesunięcia punktów i utratę dostarczonych przez autorów zbioru pozycji bazowych modeli. Ze względu na niską jakość rekonstruowanych siatek i tym samym niepewność dostarczonych przez autorów pozycji obiektów oraz niewielki wymiar fizyczny obiektów, zmieniono kryteria oceny dopasowania. Nadal badane jest przesunięcie liniowe i obrót, jak w przypadku zbioru LINEMOD, lecz progi zostały ustawione na odpowiednio kt = 25 mm oraz kR = 15°. Odległość pomiędzy detekcją, a wartością prawdziwą mniejsza od zadanych wartości progowych skutkuje oznaczeniem próbki jako wynik prawdziwe pozytywny PP. Odległość większa od zadanych wartości progowych oznacza wyniki fałszywie pozytywny FP. Jednocześnie brak prawidłowego dopasowania modelu do sceny traktowany jest jako wynik fałszywie negatywny FN.

Porównanie pomiędzy klasami jest możliwe przez użycie miar agregujących wyniki. Precyzja rozumiana jest jako stosunek wyników prawdziwie pozytywnych do wszystkich detekcji, a uzysk jako stosunek prawdziwie pozytywnych wyników do wszystkich próbek. Miara F1 to średnia harmoniczna tych wartości. W tabelach 6.5 i 6.6 przedstawiono wyniki przetwarzania przez opracowany system danych ze zbioru LINEMOD. Przedstawiają one wyniki dla hybrydowego systemu przy użyciu dwóch różnych typów deskryptorów, zdefiniowanego przez człowieka (FPFH) i automatycznie uczonego (własna sieć neuronowa).

Tabela 6.5. Wyniki systemu dopasowującego modele do scen zbioru LINEMOD na podstawie deskryptora FPFH

Model PP FP FN Precyzja Uzysk Miara F1

Ape 19 35 105 0,35 0,15 0,21

Bench Vise 85 21 37 0,80 0,70 0,75

Bowl 4 118 120 0,03 0,03 0,03

Hole Punch 52 55 72 0,49 0,42 0,45

Iron 98 16 18 0,86 0,84 0,85

Lamp 90 25 33 0,78 0,73 0,76

Phone 61 16 64 0,79 0,49 0,60

Średnio 0,51 0,37 0,41

Tabela 6.6. Wyniki systemu dopasowującego na podstawie deskryptora wygenerowanego przez własną sieć neuronową na zbiorze LINEMOD

Model PP FP FN Precyzja Uzysk Miara F1

Ape 13 41 111 0,24 0,10 0,15

Bench Vise 63 43 59 0,59 0,52 0,55

Bowl 4 118 120 0,03 0,03 0,03

Hole Punch 44 63 80 0,41 0,35 0,38

Iron 51 63 65 0,45 0,44 0,44

Lamp 57 58 66 0,50 0,46 0,48

Phone 48 29 77 0,62 0,38 0,48

Średnio 0,32 0,22 0,25

Wyniki okazują się zadowalające, zwłaszcza dla obiektów większych takich jak żelazko (Iron) lampa (Lamp) i wiertarka (Drill). Większa rozdzielczość zdjęcia i map głębi pozwoliłby na uzyskanie podobnych wyników również dla mniejszych wymiarowo modeli. Dla części modeli

Wyniki okazują się zadowalające, zwłaszcza dla obiektów większych takich jak żelazko (Iron) lampa (Lamp) i wiertarka (Drill). Większa rozdzielczość zdjęcia i map głębi pozwoliłby na uzyskanie podobnych wyników również dla mniejszych wymiarowo modeli. Dla części modeli

W dokumencie W POLITECHNIKA POZNAŃSKA (Stron 90-109)