Dlaczego klastry wyszukiwania twarzy rozdzielają się po obróceniu zdjęć?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Klastry wyszukiwania twarzy mogą się rozdzielać po obrocie, ponieważ detekcja i wyrównywanie mogą wygenerować inne kadry oraz wektory cech z nowo zorientowanego obrazu.

Dla człowieka obrót rodzinnego zdjęcia wydaje się zachowywać tożsamość, ale potok przetwarzania może różnie dekodować orientację EXIF, ponownie próbkować każdy piksel, ponownie wykrywać twarz i wyznaczać nowe punkty charakterystyczne. Przesunięty kadr zmienia pozę, tło, ostrość i proporcje twarzy przekazywane do enkodera. Wątpliwe dopasowania mogą wtedy przekroczyć próg klastrowania, mimo że osoba się nie zmieniła.

Przechowywana orientacja i obrót pikseli to różne dane wejściowe

Edycja orientacji EXIF może pozostawić skompresowane piksele bez zmian, jedynie informując przeglądarki, że należy je obrócić. Fizyczny obrót przepisuje raster i zwykle powoduje jego ponowną kompresję. Jeśli indeksowanie stosuje orientację w jednym przebiegu, a w innym ją ignoruje lub stosuje podwójnie, detektor widzi inną geometrię.

Badania nad obrotem twarzy w płaszczyźnie obrazu traktują dowolny obrót twarzy w płaszczyźnie obrazu jako osobne wyzwanie detekcyjne i stopniowo kalibrują orientację kandydatów. Potrzeba jawnej kalibracji pokazuje, że standardowy detektor twarzy ustawionych pionowo nie jest automatycznie niezmienniczy względem obrotu o 360 stopni.

Wcześniej zindeksowana twarz może zachować pionowy kadr, podczas gdy wygenerowany ponownie rekord zaczyna się od surowych pikseli obróconych na bok, albo odwrotnie. Unieważnianie pamięci podręcznej i normalizacja orientacji decydują zatem o tym, czy wizualnie równoważne zdjęcia przejdą tą samą ścieżką.

Wyrównywanie według punktów charakterystycznych zamienia niewielkie błędy obrotu w nowe kadry

Systemy rozpoznawania twarzy często wykrywają oczy, nos i usta, a następnie obracają i skalują kadr do pozy kanonicznej. Inne wyznaczenie punktów charakterystycznych zmienia transformację afiniczną, przesuwając fragmenty włosów, podbródka, tła i twarzy zajmujące poszczególne pozycje enkodera.

Badanie dotyczące rozpoznawania twarzy zależnych od obrotu cech twarzy modeluje obrót jako czynnik zmieniający głębokie cechy i uczy się kompensować jego wpływ. Mechanizm ten potwierdza obserwację, że poza i obrót są reprezentowane w przestrzeni wektorów cech, a nie znikają w niej automatycznie.

Interpolacja dodaje rozmycie i efekt dzwonienia, a wielokrotny zapis JPEG zmniejsza ilość drobnych tekstur. Mała, ciemna lub pokazana z profilu twarz traci więcej jakości niż duża twarz en face, dlatego ta sama operacja obrotu może rozdzielić tylko najsłabsze elementy klastra danej osoby.

Klastrowanie zamienia ciągły ruch wektorów cech w widoczny podział

Wektory cech zmieniają się w sposób ciągły, ale klastrowanie stosuje próg, regułę sąsiedztwa lub decyzję opartą na powiązaniach. Niewielki wzrost odległości może odłączyć jedno zdjęcie od grafu, a ponowne uruchomienie klastrowania może rozdzielić kolejne obrazy, które zależały od tego połączenia.

Badania nad jakością wektorów cech twarzy łączą wielkość cech twarzy z jakością rozpoznawania i pokazują, że trudne próbki o niskiej jakości zajmują mniej wiarygodne obszary. Rozmycie wywołane obrotem lub gorsze wyrównanie może zatem wpływać zarówno na podobieństwo, jak i pewność. To rozróżnienie pozostaje widoczne podczas późniejszych testów domowych.

Błędem jest uznawanie każdego podziału po obrocie za brak niezmienniczości względem obrotu. Z edycją może zbiegać się nowy model twarzy, zmieniony próg klastrowania, ponownie wygenerowane miniatury lub scalenie duplikatów osoby. Przed przypisaniem przyczyny przepuść oryginalne i obrócone piksele przez jeden niezmienny potok i ponownie wygeneruj wektory cech.

Przeprowadź test niezmienniczości względem obrotu przez cały potok rozpoznawania twarzy

Utwórz bezstratne warianty obrócone o 0, 90, 180 i 270 stopni oraz warianty zmieniające wyłącznie orientację EXIF dla reprezentatywnych twarzy en face, z profilu, małych, ciemnych i częściowo zasłoniętych. Zapisz zdekodowaną orientację, ramkę detekcji, punkty charakterystyczne, wyrównany kadr, wynik jakości, wektor cech, najbliższą tożsamość i przynależność do klastra.

Użyj komponentów wyszukiwania zdjęć jako spisu elementów potoku wyszukiwania zdjęć, a następnie porównaj wyniki. Zmierz czułość detekcji, nakładanie się kadrów, odległość cosinusową zdjęć tej samej osoby, zachowanie najbliższych sąsiadów i spójność klastra, zamrażając model, próg, rozmiar miniatury i algorytm klastrowania. Wynik pośredni musi pozostać możliwy do sprawdzenia, zanim automatyzacja będzie kontynuowana.

Normalizuj orientację przed detekcją i unikaj wielokrotnego zapisu stratnego. Jeśli obrócone kadry nadal są niespójne, użyj detektora uwzględniającego obrót lub augmentacji; jeśli rozdzielają się tylko zdjęcia graniczne, zachowaj ręczne powiązania tożsamości zamiast globalnie zmniejszać próg i scalać różne osoby.

Centrum Technologii i Sztucznej Inteligencji

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.