Jak etykietować wady do kontroli wizualnej AI: poradnik rysowania ramek

Pierwszy model do wykrywania wad, który wytrenowaliśmy, był fatalny, i to była nasza wina. Zdjęcia były w porządku, model też. Za to ramki, które rysowaliśmy wokół wad, były zupełnie chaotyczne, a model nauczył się dokładnie tego, co mu pokazaliśmy, czyli zamętu.
Od tamtej pory etykietowaliśmy mnóstwo detali, podobnie jak ludzie, z którymi pracujemy, i ciągle wraca ta sama garstka tematów. Żaden z nich nie jest skomplikowany. Większość staje się oczywista, kiedy ktoś ci je wskaże. Ten tekst to właśnie ktoś, kto je wskazuje.
W skrócie
Rób zdjęcia pod różnymi kątami, z różnych odległości i w różnym świetle, żeby model uczył się wady, a nie ustawienia. Potem etykietuj każdą wadę na każdym zdjęciu, rysuj każdą ramkę ciasno, etykietuj za każdym razem tak samo, pozwól ramkom różnych typów wad się nakładać i zacznij od szczegółowych klas, które później możesz połączyć. W praktyce jedna uczciwa ramka jest lepsza niż dziesięć przeoczonych, chaotyczne próbki nie mają miejsca w zbiorze danych, a jeśli dwie osoby narysowałyby ramkę inaczej, to najpewniej jest ona zła.
Robienie zdjęć: jedna zasada
Model uogólnia na podstawie różnorodności. Jeśli każde zdjęcie nakłucia powstaje z tego samego miejsca pod tą samą lampą, model uczy się tego miejsca i tej lampy, a kiedy pierwszy raz dostanie lekko obrócony detal, zaczyna się denerwować. Dlatego jedyna rzecz, którą naprawdę warto robić przy zbieraniu zdjęć treningowych, to ruszać się.
Różne kąty. Obejdź wadę dookoła i sfotografuj ją z kilku stron. To samo nakłucie wygląda inaczej na wprost i pod kątem 45 stopni, a model powinien poznać oba widoki.

Różne światło i tło. Jasno, ciemno, w cieniu, na stole warsztatowym, na linii. Zmieniając tło, uczysz model, żeby je ignorował.

Różne odległości. Podejdź bliżej, odsuń się. Wada, która wypełnia cały kadr, i wada, która jest drobinką w rogu, to dwie sytuacje, które model zobaczy na produkcji.

Jeśli twoja kamera jest zamocowana na stałe na linii, nic z tego nie stanowi problemu. Stała pozycja daje bardzo powtarzalne zdjęcia i model, który jest bardzo dobry w tym jednym widoku. Różnorodność liczy się najbardziej wtedy, gdy trzymasz iPhone'a w ręku albo gdy jeden model ma obsłużyć więcej niż jedno stanowisko.
Etykietowanie: pięć filarów
To nie są zasady Enao. Dotyczą każdego etykietowania obrazów do detekcji obiektów i decydują o tym, czy model jest pewny siebie, czy ciągle prosi cię o ponowne sprawdzenie.
1. Etykietuj każdą wadę na zdjęciu

Właśnie tu pomyliliśmy się na samym początku. Jeśli na zdjęciu są trzy wady, a ty obramujesz dwie, właśnie powiedziałeś modelowi, że trzecia to tło. Zrób tak kilkadziesiąt razy w zbiorze danych, a prawdziwe i fałszywe alarmy zaczną się zlewać, bo ten sam wzór został pokazany jako jedno i drugie. Jeśli ją widzisz, obramuj ją.
2. Rysuj ramkę ciasno wokół wady

Ciasna ramka z kilkoma pikselami marginesu uczy pełnego wzoru wady i niczego więcej. Utnij ją, a część wzoru znika. Zostaw ją luźną, a model musi nauczyć się ignorować całe to tło, co wymaga więcej przykładów, niż ktokolwiek ma ochotę etykietować. Ciasną ramkę rysuje się przy okazji szybciej, co jest miłym bonusem.
3. Etykietuj za każdym razem tak samo

Są dwa całkiem dobre sposoby na skupisko drobnych wad. Obramuj każdą z osobna albo narysuj jedną ramkę wokół całej grupy. Oba działają. Nie działa robienie trochę tak, a trochę tak, bo wtedy model widzi tę samą sytuację oetykietowaną na dwa sposoby i nie potrafi się zdecydować. Wybierz ten sposób, który twojemu zespołowi łatwiej stosować konsekwentnie, i gdzieś go zapisz.
4. Nakładające się ramki różnych wad są w porządku

Rysa, która przechodzi przez plamkę, to zwykła codzienność. Obramuj rysę, obramuj plamkę i pozwól im się nałożyć. Częściowe nakładanie się nie sprawia żadnego kłopotu. Unikać trzeba dwóch ramek różnych klas, które leżą niemal dokładnie jedna na drugiej, bo wtedy nie da się nauczyć, do której klasy należą piksele.
5. Zacznij szczegółowo, łącz później

Jeśli nie masz pewności, czy głęboka rysa, drobna rysa i przetarcie to jedna klasa czy trzy, zacznij od trzech. Połączenie ich później to jedno kliknięcie. Rozdzielenie klasy, którą wrzuciłeś do jednego worka, oznacza przejście przez wszystko od nowa. Sygnałem, że czas łączyć, jest sytuacja, w której model ciągle myli ze sobą dwie klasy, co zwykle oznacza, że dla kamery wyglądają podobnie, nawet jeśli dla ciebie znaczą co innego.
W praktyce: cztery rzeczy, których nauczyliśmy się na własnej skórze
Filary to zasady. Poniżej są kwestie wymagające wyczucia, które wychodzą dopiero wtedy, gdy naprawdę siedzisz i rysujesz ramki.
Wiele wad, jedna ramka

Piętnaście malutkich ramek wokół piętnastu drobinek to wieczność, a gdzieś w okolicy jedenastej ramki jedną przeoczysz. Wiemy, bo sami to zrobiliśmy. Jedna uczciwa ramka wokół całego skupiska jest szybsza, a modelowi to nie przeszkadza. Konsekwencja wygrywa z małymi ramkami.
Bądź efektywny, nie dogmatyczny

Czasem właściwa odpowiedź to jedna ramka dla grupy i jedna dla odstającej wady. Tak, to mieszanie stylów. I tak jest to lepsze niż jedna ogromna ramka pełna tła tylko po to, żeby złapać tę odstającą, albo piętnaście osobnych ramek, z których trzy przeoczono. Zasada pod wszystkimi zasadami brzmi: etykietuj tak, żeby następna osoba zrobiła to dokładnie tak samo.
Wyrzuć chaotyczne próbki ze zbioru danych

Niektórych zdjęć po prostu nie da się konsekwentnie etykietować. Trzy nakładające się wady, krawędzie, których nie da się rozdzielić, pięć osób, które narysowałyby pięć różnych zestawów ramek. Usuń je i nie miej z tego powodu wyrzutów sumienia. Czysty zbiór danych z dwustu zdjęć jest lepszy niż zaszumiony z tysiąca, a model i tak wyłapie nakładające się wady na produkcji. Po prostu nie powinien się na nich uczyć.
Lepiej więcej tła niż subiektywne ramki

Długa rysa może mieć jedną ramkę albo sześć krótkich, a jeśli zostawisz to poszczególnym osobom, dostaniesz jedno i drugie. Jedna ramka z odrobiną dodatkowego tła wygląda tak samo u każdego. Kiedy decyzja przy etykietowaniu zależy od tego, kto trzyma myszkę, powiększaj ramkę, aż przestanie zależeć.
Ile zdjęć potrzebujesz?
Mniej, niż myślisz, jeśli są dobre. Dla jednego typu wady na jednym produkcie od 25 do 50 starannie oetykietowanych zdjęć zwykle wystarcza na pierwszy model, który możesz postawić na linii i się na nim uczyć. Projekty zwykle nie toną przez zbyt mało zdjęć, tylko przez sto zdjęć oetykietowanych na trzy różne sposoby. Zacznij od małego, etykietuj starannie, przetestuj, a potem dokładaj zdjęcia tam, gdzie model jest najsłabszy.
FAQ
Czym jest etykietowanie ramkami ograniczającymi (bounding box)?
To rysowanie prostokąta wokół każdej rzeczy, którą model ma znajdować, w tym przypadku wokół każdej wady, żeby mógł się nauczyć, jak ta rzecz wygląda i gdzie zwykle się pojawia. To najczęstszy rodzaj etykietowania obrazów w kontroli wizualnej.
Czy ramka powinna obejmować tło?
Kilka pikseli marginesu, nie więcej. Tyle, żeby krawędź wady mieściła się w ramce, ale nie tyle, żeby model musiał uczyć się ignorować otoczenie.
Jak etykietować wadę, która jest częściowo zasłonięta?
Obramuj ciasno tę część, którą widać. Nie zgaduj reszty. Jeśli większość jest zasłonięta, zastanów się, czy to zdjęcie w ogóle powinno trafić do zbioru danych.
Czy dobre detale też etykietuję?
Tak, zostawiając je bez ramek. Zdjęcia bez wad i bez ramek uczą model, jak wygląda norma, a potrzebujesz ich tak samo jak zdjęć z wadami.
Co zrobić, gdy dwie osoby nie zgadzają się co do etykiety?
To sygnał, żeby zmienić zasadę, a nie wybierać zwycięzcę. Powiększ ramkę, połącz klasy albo usuń próbkę, aż oboje narysowalibyście ją tak samo.
Wypróbuj na własnych detalach
Najlepiej przekonasz się, czy to wszystko działa, gdy oetykietujesz 25 zdjęć czegoś z własnej linii i wytrenujesz na nich model. Wypróbuj demo, bez rejestracji, w sześćdziesiąt sekund albo zacznij za darmo.
Explore with AI
Discuss this article with your favorite AI assistant