Czy można stosować filtr Gabor do wykrywania wgnieceń w samochodach?

16

Prowadzę badania nad filtrami Gabor do wykrywania wgnieceń w samochodach. Wiem, że filtry Gabor były szeroko stosowane do rozpoznawania wzorów, rozpoznawania odcisków palców itp.

Mam obraz

Surowy obraz

Za pomocą kodu z witryny wymiany plików MathWorks otrzymałem następujące dane wyjściowe.

Przetworzony obraz

co w jakiś sposób nie jest wynikiem, którego można by oczekiwać. To nie jest dobry wynik.

Mój skrypt jest następujący:

I = imread('dent.jpg');
I = rgb2gray(I);
[G, gabout] = gaborfilter1(I, 2, 4, 16, pi/2);
figure
imshow(uint8(gabout));

EDYCJA: Zastosowanie innego kodu do następującego obrazu:

obraz wejściowy

Obraz wyjściowy po różnych orientacjach filtra gabor:

wprowadź opis zdjęcia tutaj

jak mogę wyodrębnić ten wgniecenie, które zostało prawidłowo wykryte?

vini
źródło
1
I = imread ('dent.jpg'); I = rgb2gray (I); [G, gabout] = gaborfilter1 (I, 2,4,16, pi / 2); rysunek, imshow (uint8 (gabout)); Użyłem następujących parametrów
vini
O co pytasz?
Andrey Rubshtein
2
Co takiego jest w filtrze Gabor, który sprawia, że ​​myślisz, że dobrze pasuje do tego problemu?
Nzbuu,
Jest to możliwe dzięki przetwarzaniu obrazu, styl jest zawsze jednolity, a wgniecenie nie jest jednolite, nie ma szans na wgniecenie, które ma niejednorodną krawędź. Może to być analiza wzoru krawędzi wgniecenia.

Odpowiedzi:

21

To niezwykle trudny problem. Należałem do zespołu, który pracował nad nim przez kilka lat, a po opracowaniu i wsparciu innych takich aplikacji mogę powiedzieć, że wykrywanie wgnieceń jest szczególnie trudnym problemem i znacznie trudniejszym niż się wydaje.

Algorytm działa w warunkach laboratoryjnych lub na znanych obrazach to jedno; opracowanie systemu, który byłby dokładny i niezawodny dla „naturalnych” obrazów, takich jak samochody widoczne na parkingu, prawdopodobnie wymagałby zespołu pracującego przez kilka lat. Oprócz podstawowego problemu związanego z tworzeniem algorytmu istnieje wiele innych trudności inżynierskich.

Przykładowy kod, który przetestowałeś, nie jest złym początkiem. Jeśli możesz znaleźć krawędzie wokół ciemnej prawej strony wgniecenia, możesz porównać mapę krawędzi samochodu z dingiem do mapy krawędzi znanego dobrego samochodu obrazowanego pod tym samym kątem z tym samym oświetleniem. Kontrolowanie oświetlenia bardzo pomoże.

Problemy do rozważenia obejmują:

  1. Oświetlenie (znacznie trudniejsze niż mogłoby się początkowo wydawać)
  2. Oczekiwana powierzchnia 3D zmontowanego panelu zewnętrznego (np. Z danych CAD)
  3. Kryteria charakteryzujące wgniecenie: powierzchnia, głębokość, profil itp.
  4. Kryteria dla fałszywych negatywów i fałszywych trafień
  5. Środki do zapisywania danych wgnieceń i / lub wgnieceń map na modelu samochodu (lub układzie motyla)
  6. Metodologia i urządzenie do pomiaru „prawdziwych” cech wgnieceń: głębokość, powierzchnia itp.
  7. Obszerna baza danych wgnieceń z losowego próbkowania pojazdów
  8. Radzenie sobie z różnymi kolorami farb i wykończeniami

1. Oświetlenie Jak prawidłowo zauważył powyżej Martin B, prawidłowe oświetlenie ma zasadnicze znaczenie dla tego problemu. Nawet przy dobrym oświetleniu strukturalnym będziesz miał trudności z wykryciem małych wgnieceń w pobliżu linii charakterystycznych, szczelin między panelami, uchwytami i tak dalej.

Wpis w Wikipedii dotyczący oświetlenia strukturalnego jest nieco cienki, ale jest to początek zrozumienia zasady: http://en.wikipedia.org/wiki/Structured_light

Za pomocą jasnych pasków można wykryć wgniecenia (wgniecenia) i wydruki (pryszcze). Aby zobaczyć ding, potrzebujesz względnego ruchu między źródłem światła a samochodem. Albo światło + kamera poruszają się razem w stosunku do samochodu, albo samochód porusza się obok światła + kamery.

Chociaż wpusty i wypusty mają charakterystyczny wygląd na brzegu jasnego paska, wykrywalność danego wgniecenia zależy od wielkości i głębokości wgniecenia w stosunku do szerokości jasnego paska. Krzywizna samochodu jest złożona, więc dość trudno jest przedstawić spójny pasek świetlny w kamerze. Gdy pasek świetlny porusza się po karoserii samochodu, krzywizna, a nawet intensywność paska świetlnego będą się różnić.

Jednym z częściowych rozwiązań jest zapewnienie, że kamera i pasek świetlny będą zawsze pod stałym kątem w stosunku do normalnej (3D prostopadłej) części kontrolowanej powierzchni. W praktyce wymagany byłby robot, aby dokładnie przesunąć kamerę względem powierzchni ciała. Dokładne poruszanie robotem wymaga znajomości pozy (pozycji i kątów 3D) karoserii, co samo w sobie jest paskudnym problemem.

W przypadku każdej kontroli aplikacji motoryzacyjnych należy całkowicie kontrolować oświetlenie. Oznacza to nie tylko umieszczanie wybranych świateł w znanych miejscach, ale także blokowanie wszystkich innych świateł. Będzie to oznaczać dość dużą obudowę. Ponieważ panele samochodu są zakrzywione na zewnątrz (prawie jak sferyczna powierzchnia), odbijają światło ze źródeł wokół nich. Aby znacznie uprościć ten problem, można zastosować słupek fluorescencyjny wysokiej częstotliwości wewnątrz obudowy osłoniętej czarnym aksamitem. Dość często konieczne jest zastosowanie takich skrajności w aplikacjach kontrolnych.

2. Powierzchnia 3D Zewnętrzna powierzchnia samochodu składa się ze skomplikowanych krzywych. Aby wiedzieć, czy podejrzane miejsce to ding, musisz porównać to miejsce ze znanymi cechami samochodu. Oznacza to, że musisz dopasować obraz 2D z kamery do modelu 3D oglądanego pod pewnym kątem. Nie jest to problem rozwiązany szybko i na tyle trudno jest zrobić dobrze, że niektóre firmy się w nim specjalizują.

3. Charakterystyka defektów W przypadku badań akademickich lub testów laboratoryjnych może być wystarczające opracowanie algorytmu, który pokazuje obiecującą lub ulepszoną wersję istniejącej metody. Aby właściwie rozwiązać ten problem do rzeczywistego zastosowania komercyjnego lub przemysłowego, musisz mieć bardzo szczegółową specyfikację dla wielkości wgnieceń, które chcesz wykryć.

Kiedy rozwiązaliśmy ten problem, nie było żadnych uzasadnionych norm branżowych ani krajowych dotyczących wgnieceń (deformacje 3D). Oznacza to, że nie było uzgodnionej techniki charakteryzującej wgniecenie na podstawie jego powierzchni, głębokości i kształtu. Właśnie mieliśmy próbki, które zdaniem ekspertów branżowych były złe, niezbyt złe i marginalne pod względem dotkliwości. Określenie „głębokości” dinga jest również trudne, ponieważ ding jest wcięciem 3D w (zwykle) powierzchni 3D zakrzywionej na zewnątrz.

Większe wgniecenia są łatwiejsze do wykrycia, ale są również mniej powszechne. Doświadczony robotnik samochodowy może szybko zeskanować nadwozie samochodu - znacznie szybciej niż nieprzeszkolony obserwator - i szybko znaleźć płytkie wgniecenia wielkości małego palca. Aby uzasadnić koszt zautomatyzowanego systemu, prawdopodobnie będziesz musiał dopasować umiejętności doświadczonego obserwatora.

4. Kryteria błędów wykrywania Na początku powinieneś ustalić kryteria dla dopuszczalnych fałszywych negatywów i fałszywych trafień. Nawet jeśli studiujesz ten problem jako projekt badawczo-rozwojowy i nie zamierzasz opracowywać produktu, spróbuj zdefiniować kryteria wykrywania.

fałszywie ujemny: wgniecenie obecne, ale nie wykryte fałszywie dodatnie: nieskalany obszar zidentyfikowany jako wgniecenie

Zazwyczaj występuje kompromis: zwiększ czułość, a znajdziesz więcej dingów (zmniejsz liczbę fałszywych negatywów), ale znajdziesz także więcej dingów, których nie ma (zwiększ fałszywych trafień). Łatwo jest przekonać się, że algorytm działa lepiej niż w rzeczywistości: naszą naturalną tendencją jest zauważenie defektów wykrytych przez algorytm i wyjaśnienie tych, których nie wykrył. Przeprowadzaj ślepe, zautomatyzowane testy. Jeśli to możliwe, poproś kogoś innego, aby zmierzył głębokość i przypisał dotkliwość, abyś nie wiedział, jakie są prawdziwe pomiary.

5. Zapisz dane i / lub mapuj Wgłębienie charakteryzuje się ciężkością i umiejscowieniem na karoserii samochodu. Aby poznać jego lokalizację, musisz rozwiązać wyżej wspomniany problem korespondencji 2D-3D.

6. Określenie „prawdziwego” kształtu wgnieceń Wgniecenia są trudne do zmierzenia. Ostre wgniecenie i zaokrąglone wgniecenie o tej samej powierzchni i głębokości będą wyglądać inaczej. Pomiar wgnieceń metodami mechanicznymi prowadzi do subiektywnych osądów, a używanie mierników głębokości, linijek itp. Jest dość żmudne, gdy prawdopodobnie będziesz musiał zmierzyć dziesiątki, jeśli nie więcej.

Jest to jeden z trudniejszych problemów inżynieryjnych do rozwiązania w przypadku każdego projektu wykrywania defektów w produkcji: jak można zmierzyć defekt i go scharakteryzować? jeśli istnieje taki standard, czy norma dobrze koreluje z czymś, co mierzy system kontroli? jeśli system kontroli nie znajdzie dinga, „powinien” go znaleźć, kogo winić?

To powiedziawszy, jeśli system inspekcji działa wystarczająco dobrze dla próbki znanych defektów, użytkownicy mogą w końcu zaufać mu, a sam system staje się standardem w definiowaniu dotkliwości defektów.

7. Rozbudowana baza danych wgnieceń Idealnie byłoby mieć setki, jeśli nie tysiące przykładowych zdjęć wgnieceń o różnym stopniu nasilenia w różnych lokalizacjach w pojazdach od trudnych producentów. Jeśli chcesz znaleźć wgniecenia spowodowane wypadkami podczas procesu montażu, zebranie tego rodzaju danych może zająć dużo czasu. Wgniecenia powstałe podczas montażu nie są powszechne.

Jeśli chcesz tylko znaleźć wgniecenia spowodowane wypadkami lub szkodami dla środowiska, to inna sprawa. Rodzaje wgnieceń będą się różnić od tych spowodowanych przypadkowymi uderzeniami w zakładzie montażu samochodów.

8. Radzenie sobie z różnymi kolorami farb To prawda, że ​​detektory krawędzi mogą być dość solidne w wykrywaniu krawędzi na obrazach o różnym poziomie kontrastu, ale może być dość rozczarowujące, aby zobaczyć, co „różne poziomy kontrastu” naprawdę oznaczają dla różnych farb i wykończeń samochodowych . Jasny pasek, który świetnie wygląda na błyszczącym czarnym samochodzie, był ledwo wykrywalny na białym samochodzie ze starą farbą.

Większość aparatów ma stosunkowo ograniczony zakres dynamiki, więc uzyskanie dobrego kontrastu zarówno dla czarnych błyszczących powierzchni, jak i białych matowych powierzchni jest trudne. Jest całkiem prawdopodobne, że będziesz musiał automatycznie kontrolować intensywność oświetlenia. To też jest trudne.

Rethunk
źródło
czy nie ma bazy danych zdjęć, które można uzyskać na wgnieceniach? i genialna odpowiedź, której nigdy tak bardzo nie wiedziałem ...
vini
2
Nie jestem pewien, czy istnieje taka baza danych, ponieważ większość informacji jest zastrzeżona. Producenci samochodów niekoniecznie chcieliby rozpowszechniać na całym świecie rozmiar i rodzaje wad, jakie widzą w produkcji. To powiedziawszy, bez solidnego systemu pomiarowego statystyki mogą opierać się na wizualnej kontroli człowieka w zakładzie, która może opierać się na pobieraniu próbek lub na raportach o uszkodzeniach ze strony dealerów samochodowych. Samochód, który został wgnieciony przed przybyciem do salonu, może zostać sprzedany, co oznacza utratę pieniędzy i zmarnowane zasoby.
Rethunk
1
W warsztatach dentystycznych stosowane są jasne paski, chociaż ich konfiguracja jest bardziej odpowiednia do kontroli przez ludzi niż kontrola automatyczna: exceldent.wordpress.com/tag/door-ding-repair ncfixadent.com/services/paintless-dent-repair-pdr Dla systemu automatycznego , chcesz zablokować wszelkie zewnętrzne światło, w tym odbicia od samej obudowy oświetlenia. Ponadto konieczne jest ustawienie ostrości kamery, aby zachować równowagę między utrzymywaniem źródła światła w skupieniu, tak aby krawędzie były ostre i utrzymywanie ostrości powierzchni pojazdu, aby zobaczyć cechy pojazdu.
Rethunk
Hej, zastanówcie się teraz, właśnie formułuję rozwiązanie tego samego. Czy w każdym razie mogę uzyskać zdjęcia wgnieceń i rys samochodowych itp., Które pomogłyby w moich badaniach, proszę o pomoc!
vini
1
Gromadzenie zdjęć wgnieceń i zadrapań może być trudne. Prawdopodobnie zajmie to trochę pracy nóg. Nie ma zbyt wielu odpowiednich zdjęć online. Możesz zadzwonić do warsztatu samochodowego i zapytać, czy możesz zrobić zdjęcia posiadanym pojazdom; w zamian możesz robić zakupy w swoich raportach. Zapytaj znajomych i współpracowników, czy możesz robić zdjęcia ich samochodów - zabierz ze sobą podręczne światło jarzeniowe do oświetlenia. Telefon Acamera byłby w porządku. Najlepiej byłoby wgniatać i wgniatać panele ze złomowiska. Najlepiej jest mieć własne próbki od samego początku, aby można było dostosować oświetlenie itp.
Rethunk
9

Filtr Gabor to tylko pierwszy z kilku kroków, które należy wykonać w przypadku takiego zadania wykrywania defektów. Pamiętaj też, że użyłeś tylko określonej orientacji i skali filtra Gabor - zwykle używałbyś całego zakresu orientacji i skal.

Bardzo ogólny zarys prostego podejścia do wykrywania defektów przy użyciu filtrów Gabor może wyglądać następująco:

  • Zastosuj filtr Gabor w różnych orientacjach i skalach
  • Zastosuj klasyfikator (przeszkolony w zakresie odpowiednich danych treningowych), aby sklasyfikować każdy piksel jako „defekt” lub „brak defektu”
  • Agreguj wykrycia z sąsiednich pikseli, aby mieć pewność, że każda wada zostanie wykryta tylko raz i aby wyeliminować fałszywe wykrycia

Jednym punktem, którego nie ma na tej liście, ale jest zwykle bardzo ważna, jest akwizycja obrazu. Sposób, w jaki oświetlasz obiekt i umieszczasz kamery, ma ogromny wpływ na to, jak łatwo będzie wykryć defekty w otrzymanych obrazach. Wygląda na to, że twój przykładowy obraz wykorzystuje oświetlenie otoczenia, które w tym czasie było obecne - prawdopodobnie nie jest to optymalne.

Jak mówię, jest to tylko bardzo ogólny zarys. Automatyczna inspekcja jest szerokim polem i wymaga dużej wiedzy specjalistycznej, aby zrobić to dobrze.


źródło
0

Nie, nie może. Przetwarzanie obrazu nie jest magią, musisz podać więcej informacji. Nie mając pojęcia, jak ma wyglądać samochód, jak komputer powinien odróżniać wgniecenie od zamierzonej stylizacji nadwozia?

so12311
źródło
1
wiem, że to nie magia i obrazy, które dostałem z Google'a. dlatego chciałem się trochę dowiedzieć, jak podejdę do tego problemu .. samo użycie tego filtra jest niewystarczające ...
vini
Chcę to zagłosować, ale to nie jest prawdziwa odpowiedź. To powinien być komentarz.
endolith