Co to jest percepcyjna funkcja skrótu?

Węzeł źródłowy: 1054451

Połączenia Transform Technology Summits rozpoczyna się 13 października od Low-Code/No Code: Enabling Enterprise Agility. Zarejestruj się!


Niech Biuletyn OSS Enterprise poprowadź swoją podróż open source! Podpisz tutaj.

Kiedy programiści muszą utworzyć krótszy surogat dla większego pliku lub bloku danych, często zwracają się do funkcji skrótu. Programiści ci analizują blok danych i tworzą krótką liczbę, która może zastąpić lub skrócić większy zbiór bajtów, czasami w indeksie, a innym razem w bardziej skomplikowanych obliczeniach.

Percepcyjne funkcje skrótu są dostrojone tak, aby dawać ten sam wynik dla podobnych obrazów lub dźwięków. Ich celem jest naśladowanie ludzkiej percepcji poprzez skupienie się na typach cech (kolorach i częstotliwościach), które kierują ludzkim wzrokiem i słuchem.

Wiele popularnych niepercepcyjnych funkcji skrótu jest bardzo wrażliwych na najmniejsze zmiany. Samo odwrócenie jednego bitu, na przykład zmiana ilości koloru niebieskiego w pikselu z 200 na 199 jednostek, może zmienić połowę bitów w funkcjach skrótu. Percepcyjne funkcje skrótu mają na celu zwracanie odpowiedzi na obrazy lub dźwięki, które człowiek może uznać za podobne. Oznacza to, że niewielkie zmiany w nośniku nie mają wpływu na wydruk.

Funkcje skrótu upraszczają wyszukiwanie i indeksowanie w bazach danych i innych miejscach przechowywania danych. Tabele skrótów, popularna struktura danych znana z szybkiej reakcji, opierają się na dobrej funkcji skrótu jako indeksie umożliwiającym szybkie zlokalizowanie większego bloku danych. Na przykład algorytmy rozpoznawania twarzy wykorzystują percepcyjną funkcję skrótu do porządkowania zdjęć według osób na obrazie. Algorytmy wykorzystują względne odległości między rysami twarzy – takimi jak oczy, nos i usta – do skonstruowania krótkiego wektora liczb, który może uporządkować zbiór obrazów.

Niektóre algorytmy wykorzystują funkcje mieszające do oznaczania zmian. Podejścia te, często nazywane „sumami kontrolnymi”, rozpoczęły się jako szybki sposób wyszukiwania błędnie przesłanych danych. Zarówno nadawca, jak i odbiorca mogą dodać do siebie wszystkie bajty danych, a następnie porównać odpowiedź. Jeśli obaj się zgodzą, algorytm może założyć, że nie popełniono żadnych błędów – co nie jest gwarantowane. Jeśli błędy powstałe w transmisji wystąpiły w określony sposób — powiedzmy dodając trzy do jednego bajtu i jednocześnie odejmując trzy od innego — błędy zniknęłyby, a algorytm sumy kontrolnej nie wyłapałby błędu.

Wszystkie funkcje skrótu są podatne na „kolizje”, gdy dwa różne bloki danych dają tę samą wartość skrótu. Dzieje się tak częściej w przypadku funkcji skrótu, które dają krótsze odpowiedzi, ponieważ liczba możliwych bloków danych jest znacznie, znacznie większa niż liczba potencjalnych odpowiedzi.

Niektóre funkcje, jak standardowy algorytm rządu USA Secure Hash Algorithm (SHA256), zaprojektowano tak, aby praktycznie uniemożliwić każdemu znalezienie kolizji. Zostały zaprojektowane przy użyciu tych samych zasad, co silne procedury szyfrowania, aby zapobiec inżynierii wstecznej. Wiele algorytmów kryptograficznych opiera się na bezpiecznych funkcjach skrótu, takich jak SHA256, jako element składowy, a niektórzy nazywają je potocznie „taśmą klejącą” kryptografii.

Percepcyjne funkcje skrótu nie mogą być tak odporne. Zostały zaprojektowane w taki sposób, aby podobne dane generowały podobną wartość skrótu, co ułatwia wyszukiwanie kolizji. To czyni je podatnymi na fałszowanie i wprowadzanie w błąd. Biorąc pod uwagę jeden plik, stosunkowo łatwo jest skonstruować drugi plik, który wygląda i wygląda zupełnie inaczej, ale generuje tę samą percepcyjną wartość skrótu.

Jak działają percepcyjne funkcje mieszające?

Percepcyjne funkcje skrótu są nadal przedmiotem aktywnych badań i nie istnieją żadne ostateczne ani nawet dominujące standardy. Funkcje te mają tendencję do dzielenia pliku dźwiękowego lub obrazu na stosunkowo duże bloki, a następnie konwertowania podobnych kształtów lub dźwięków na tę samą wartość. Zgrubny wzór i rozkład wartości w tych blokach można uznać za wersję o bardzo niskiej rozdzielczości i często jest ona taka sama lub bardzo podobna w przypadku obrazów lub dźwięków znajdujących się blisko siebie.

Podstawowa funkcja dotycząca dźwięku może na przykład podzielić plik na jednosekundowe sekcje, a następnie przeanalizować obecność lub brak częstotliwości w każdej sekcji. Jeśli występują dźwięki o niskiej częstotliwości, powiedzmy pomiędzy 100 Hz a 300 Hz, funkcja może przypisać 1 do tej sekcji. Może także przetestować inne popularne częstotliwości, takie jak typowy zakres ludzkiego głosu. Niektóre automatyczne funkcje rozpoznawania muzyki popularnej mogą dobrze sobie radzić z taką prostą funkcją, ponieważ wykrywają rytm basu i momenty, gdy ktoś śpiewa.

Rozmiar bloków i testowane częstotliwości można dostosować do zastosowania. Funkcja skrótu służąca do identyfikacji śpiewu ptaków może zostać wywołana przez wyższe częstotliwości. Krótsze bloki zapewniają większą precyzję — coś, co może nie być pożądane, jeśli celem jest po prostu grupowanie podobnych dźwięków.

Funkcje obrazu wykorzystują podobne techniki z kolorami i blokami. Z tego powodu wiele funkcji percepcyjnych często dopasowuje się do kształtów. Zdjęcie osoby z rękami rozłożonymi po bokach i rozstawionymi nogami może pasować do zdjęcia wieży Eiffla, ponieważ oba mają ten sam kształt.

Kilka typowych opcji porównywania obrazów to ahash, dhash i phash. Ahash oblicza średni kolor każdego bloku po podzieleniu obrazu na siatkę 8 × 8 złożoną z 64 bloków. Funkcja phash jest dostępna jako open source.

Co oni mogą zrobić?

Skróty percepcyjne mogą obsługiwać różnorodny zbiór aplikacji:

  • Naruszenie praw autorskich — podobne wartości skrótu umożliwiają wykrywanie i dopasowywanie obrazów, dźwięków lub filmów, nawet jeśli zostały zmienione w wyniku przycięcia lub zmniejszenia skali.
  • Tagowanie wideo — skróty percepcji twarzy mogą pomóc w indeksowaniu filmu w celu zidentyfikowania, kiedy widoczne są określone osoby.
  • Błędy ortograficzne — funkcje skrótu percepcyjnego tekstu mogą kategoryzować słowa według ich dźwięków, umożliwiając wychwytywanie i poprawianie błędnie napisanych słów.
  • Bezpieczeństwo — skróty percepcyjne mogą znajdować i identyfikować ludzi lub zwierzęta na obrazach wideo lub nieruchomych, śledząc ich ruch.
  • Zgodność — niektóre algorytmy potrafią wykryć, w co noszą ludzie, co jest przydatne na placach budowy i w szpitalach. Jeden z algorytmów może na przykład oznaczać osoby, które mogą nie nosić środków ochrony osobistej wymaganej przez prawo.

Jak korzystają z nich starsi gracze

Niektóre bazy danych — np MySQL, wyrocznia, Microsoft - Użyj Soundex algorytm umożliwiający „wyszukiwanie rozmyte” słów, które brzmią podobnie, mimo że mają inną pisownię. Odpowiedź algorytmu składa się z litery, po której następuje kilka cyfr. Na przykład zarówno „SURE”, jak i „SHORE” dają ten sam wynik: „S600”.

Niektóre firmy działające w chmurze oferują również algorytmy rozpoznawania twarzy, które można łatwo zintegrować z ich bazą danych. Microsoftu Lazurna przykład oferuje Face, narzędzie, które wyszukuje i grupuje podobne twarze w kolekcji obrazów. Interfejs API firmy znajdzie i zwróci atrybuty twarzy — takie jak kolor włosów lub obecność zarostu. Spróbuje także oszacować wiek i podstawowe emocje danej osoby (gniew, pogarda, szczęście itp.).

Amazonka Rozpoznanie może wykrywać twarze na obrazach, a także inne przydatne atrybuty, takie jak tekst. Działa zarówno ze zdjęciami, jak i filmami, dzięki czemu jest przydatny do wielu zadań, takich jak wyszukiwanie wszystkich scen z konkretnym aktorem. Rekognition prowadzi także bazę danych gwiazd i identyfikuje je na Twoich zdjęciach.

Google'a Interfejs API Cloud Vision wykrywa i kategoryzuje wiele części obrazu, takich jak tekst lub punkty orientacyjne. Narzędzie nie oferuje bezpośredniego rozpoznawania twarzy, ale API znajdzie i zmierzy lokalizację elementów, np. środka między oczami i granic brwi.  Rozpoznawanie gwiazd jest obecnie produktem objętym ograniczeniami w wersji beta.

Jak nowicjusze je stosują

Apple ostatnio ogłosił wykorzystywałby percepcyjne funkcje mieszające zwane NeuralHash do przeszukiwania iPhone'ów klientów pod kątem potencjalnie nielegalnych obrazów przedstawiających wykorzystywanie seksualne dzieci. Wyniki algorytmu percepcyjnego mieszania zostaną porównane z wartościami znanych obrazów znalezionymi w innych badaniach. Proces byłby automatyczny, ale każde dopasowanie mogłoby skutkować wszczęciem dochodzenia.

Wiele firm – np Clearview.ai czy Facebook — tworzą bazy danych wypełnione percepcyjnymi skrótami zeskanowanych obrazów. Generalnie nie udostępniają tych baz danych innym programistom.

Temat jest obszarem aktywnych poszukiwań. Niektóre wersje open source obejmują phash, Blockhash, OpenCV.

Czy jest coś, czego nie potrafią percepcyjne funkcje mieszające?

Chociaż percepcyjne funkcje skrótu są często dość dokładne, mają tendencję do generowania fałszywych dopasowań. Oprogramowanie Apple do rozpoznawania twarzy używane do odblokowywania iPhone'a może czasami mylić rodziców z dziećmi, pozwalając dzieciom odblokowanie telefonów rodziców.

Ogólnie rzecz biorąc, źródłem tej słabości jest również zdolność funkcji skrótu do redukowania często dużego lub złożonego zestawu danych do krótkiej liczby. Kolizjom nie da się zapobiec, ponieważ często istnieje znacznie mniejsza liczba potencjalnych odpowiedzi i znacznie większa liczba danych wejściowych. Chociaż niektóre kryptograficznie bezpieczne funkcje skrótu mogą utrudniać znalezienie takich kolizji, nadal one istnieją.

W ten sam sposób siła percepcyjnych funkcji skrótu jest również główną słabością. Jeśli funkcja dobrze radzi sobie z przybliżaniem ludzkiej percepcji, ludziom będzie łatwiej znajdować, a nawet tworzyć kolizje. Istnieje wiele ataków, które mogą wykorzystać ten aspekt. Kilka wczesnych projektów eksperymentalnych (tutaj i tutaj), na przykład oferują oprogramowanie pomagające znajdować, a nawet tworzyć kolizje.

VentureBeat

Misją VentureBeat jest bycie cyfrowym placem miejskim dla decydentów technicznych, którzy zdobywają wiedzę na temat transformacyjnych technologii i transakcji. Nasza witryna zawiera podstawowe informacje na temat technologii danych i strategii, które pomogą Ci kierować organizacjami. Zapraszamy do zostania członkiem naszej społeczności, aby uzyskać dostęp do:

  • aktualne informacje na interesujące Cię tematy
  • nasze biuletyny
  • zamknięte, przemyślane treści i obniżony dostęp do naszych cennych wydarzeń, takich jak Przekształć 2021: Ucz się więcej
  • funkcje sieciowe i nie tylko

Zostań członkiem

Źródło: https://venturebeat.com/2021/08/24/what-is-a-perceptual-hash-function/

Znak czasu:

Więcej z AI - VentureBeat