Wysłano mnie tutaj z tego pytania w przepełnieniu stosu , przepraszam, jeśli pytanie jest zbyt szczegółowe i nie ma tu manier :)
Zadanie polega na znalezieniu szklanki z określonym płynem. Pokażę ci zdjęcia, a następnie opiszę to, co próbuję osiągnąć, i jak starałem się osiągnąć w opisie poniżej zdjęć.
Zdjęcia : (wydaje się, że potrzebuję co najmniej 10 reputacji, aby publikować zdjęcia i linki, więc linki będą musiały zrobić :( w przeciwnym razie możesz spojrzeć na pytanie o przepełnienie stosu)
Szczegółowy opis : Próbowałem zaimplementować algorytm, który wykryłby szkło o określonym kształcie w opencv (szkło może zostać przekształcone przez inny kąt strzału kamery / odległość). Będą też inne okulary o innych kształtach. Szkło, którego szukam, będzie również wypełnione kolorową cieczą, która odróżni go od szklanek zawierających inne kolory.
Do tej pory próbowałem użyć ekstraktora funkcji SIFT, aby znaleźć niektóre funkcje w szkle, a następnie dopasować je do innych zdjęć z umieszczoną w nim szkłem.
To podejście działało tylko w bardzo specyficznych warunkach, w których miałbym szkło w bardzo konkretnej pozycji, a tło przypominałoby obrazy edukacyjne. Problem polega również na tym, że szkło jest obiektem 3d i nie wiem, jak z niego wydobyć cechy (może kilka zdjęć pod różnymi kątami jest jakoś połączonych?).
Teraz nie wiem, jakiego innego podejścia mogę użyć. Znalazłem kilka wskazówek na ten temat (tutaj /programming/10168686/algorithm-improvement-for-coca-cola-can-shape-recognition#answer-10219338 ), ale linki wydają się być zepsute.
Innym problemem byłoby wykrycie różnych „poziomów pustki” w takim szkle, ale nawet nie byłem w stanie prawidłowo znaleźć samego szkła.
Jakie byłyby twoje zalecenia dotyczące podejścia do tego zadania? Czy lepiej byłoby użyć innego sposobu znalezienia funkcji lokalnego obiektu 3D? Czy może lepiej byłoby zastosować inne podejście? Słyszałem o algorytmach „uczących się” obiektu z zestawu wielu zdjęć, ale nigdy nie widziałem tego w praktyce.
Wszelkie porady będą mile widziane
źródło
Odpowiedzi:
Wydaje się, że jest to papier wymieniony w łączu.
Szczególnie interesująca jest Tabela 1 (zawarta poniżej). Wskaźniki dokładności nie są świetne, chociaż są lepsze niż inne podejścia.
źródło
Może ten artykuł może ci pomóc: http://ai.stanford.edu/~ang/papers/iros09-ScalableLearningObjectDetectionGPU.pdf
Mimo że używają aktywnego systemu stereo oprócz obrazów 2D w celu uzyskania obrazów głębi, interesujące jest to, w jaki sposób wykorzystują funkcje oparte na łatkach, konstruują słownik obiektu z wieloma małymi fragmentami, a następnie uczą klasyfikatora. Być może możesz dodać te funkcje, aby poprawić wskaźnik wykrywalności.
źródło
Dużo pracy wykonano w tym zakresie, jeśli chodzi o oprogramowanie do rozpoznawania twarzy. Na przykład, jeśli zauważysz na Facebooku, kiedy tagujesz zdjęcia, lokalizacja twarzy zostanie umieszczona w ramce i zasugerowana.
Widziałem dużo literatury na temat rozpoznawania twarzy na obrazach za pomocą sieci neuronowych, a szybkie wyszukiwanie w Google bez wątpienia wyświetli ogromną ilość informacji na ten temat. Sieci te przyjmują piksele obrazu jako dane wejściowe. W twoim przypadku sposób, w jaki zmiany zmętnienia / światło odbijają się od szyby, może być dobrą cechą identyfikującą, której nauczy się sieć.
Jednym z problemów może być liczba zdjęć, które musisz wykorzystać jako dane szkoleniowe i ich wstępne przetwarzanie (tj. Samodzielne zidentyfikowanie twarzy). Jeśli nie jest to możliwe, aby zrobić wystarczająco dużo obrazów, aby wystarczająco dobrze wyszkolić sieć, będziesz musiał poszukać skrótów na etapie uczenia się. Ten artykuł dotyczy tego, co chcesz zrobić: http://www.ll.mit.edu/publications/journal/pdf/vol04_no2/4.2.5.neuralnetwork.pdf
Na szczęście jest to bardzo aktywne pole i duża część kodu potrzebnego do tego typu problemów jest łatwo dostępna online.
Po zidentyfikowaniu okularów na obrazach możesz przeprowadzić dalszą analizę.
źródło