Narzędzie do automatycznego rozmywania ludzi na zdjęciach [zamknięte]

11

Szukam sposobu, aby łatwo sprawić, że ludzie na zdjęciach nie będą rozpoznawalni. Ilekroć umieszczam jakieś zdjęcia (zwykle miast i krajobrazów) w moim albumie internetowym, najpierw czynię wszystkie rozpoznawalne osoby nierozpoznawalnymi, ponieważ uważam, że podstawową sprawą grzeczności jest nie publikowanie zdjęć nieznajomych.

Zasadniczo chcę zrobić mniej więcej to, co Google robi z obrazami StreetView. Obecnie robię to ręcznie dla każdego zdjęcia, rysując zaznaczenia elipsy wokół wszystkich twarzy w Gimp, a następnie używając filtru rozmycia przy zaznaczeniu.

Czy istnieje narzędzie, które pozwala mi to zamazywać mniej więcej jednym kliknięciem? Idealnie, pokazując mi wszystkie rozpoznane twarze w pierwszym kroku, a następnie pozwalając mi odznaczyć te, których nie chcę zamazać?

(Wymazanie innych danych osobowych, takich jak tablice rejestracyjne samochodów, również byłoby fajne, ale moim głównym celem jest znalezienie takiego narzędzia do rozmycia twarzy, ponieważ ludzie często pojawiają się na zdjęciach, a całkowita liczba czytelnych tablic rejestracyjnych jest minimalna . Ponadto, szukam dla narzędzi, które plama na twarzy. pikselacja może być awaryjna, ale to nie jest zintegrowany z resztą obrazu tak ładnie jak zamazywanie).

Już od jakiegoś czasu szukam takich narzędzi, ale wszystko, co znalazłem, wydaje się należeć do jednej z trzech kategorii:

  • Jest przeznaczony do działania na smartfonach, a nie na komputerach stacjonarnych, takich jak ta aplikacja .
  • Jest przeznaczony do filmów, na co wskazują podobne pytania, takie jak ten lub ten , lub ten artykuł .
  • Jest oparty na sieci, dlatego wszystkie zdjęcia muszą zostać przesłane na czyjś serwer w celu przetworzenia, a podczas edycji zdjęć wymagane jest połączenie internetowe, na przykład za pomocą tej usługi lub tego edytora .

Szukam wyłącznie oprogramowania działającego w systemie Windows i / lub Ubuntu bez potrzeby połączenia z Internetem (tj. Bez narzędzi w chmurze, które wymagałyby ode mnie przesłania wszystkich zdjęć do przetworzenia). Darmowe narzędzie byłoby fajne, ale opłacone narzędzie jest wciąż lepsze niż żadne narzędzie.

LUB Mapper
źródło

Odpowiedzi:

2

Znalazłem dla GIMP wykrywania twarzy Plugin od 2010 roku (nie ma gwarancji, że nadal działa):

wizerunek

W przeciwnym razie może być konieczne wdrożenie własnego oprogramowania. W takim przypadku zobacz następujące linki:

oprogramowanie do wykrywania twarzy
Microsoft Research Face SDK Beta
Intel Perceptual Computing SDK

Na szczególną uwagę zasługuje OpenCV . Zobacz Wykryj twarze, a następnie automatycznie kadruj zdjęcia, na przykład za pomocą python.

harrymc
źródło
1
Niestety nie udało mi się skompilować wtyczki. Zainstalowałem kilka pakietów wymaganych poza tymi wskazanymi w artykule i zaktualizowałem wywołanie, aby cvHaarDetectObjectspasowało do obecnego (niekompatybilnego wstecz? API) z jednym dodatkowym parametrem, ale gcc nie działa w nieokreślonym odwołaniu lrint.
LUB Mapper
lrint robi „zaokrąglenie do najbliższej liczby całkowitej” i jest zdefiniowane jako „long int lrint (double x)”. Powinno być łatwe do kodowania.
harrymc
Na razie przyjmuję tę odpowiedź, ponieważ jest ona najbardziej użyteczna i wydaje się obiecująca. Niestety system nagród SU nie daje mi wystarczająco dużo czasu na wypróbowanie różnych sugestii, aby określić ich użyteczność przed wygaśnięciem nagrody ... i mieć pracę ;-) Innymi słowy, wielkie dzięki, chociaż mogę dodać trochę dodatkowe uwagi później.
LUB Mapper
Hmm Gdy dodam definicję lrint, kompilator narzeka na sprzeczne definicje lrint, a gdy nie dodam, narzeka lrintna niezdefiniowane odniesienie.
LUB Mapper
Znajdź definicję i oprzyj na niej nagłówek funkcji.
harrymc
5

Jeśli nie masz nic przeciwko rozwiązaniom „wymagającym montażu”, spróbuj użyć „facedetect” (który po prostu używa OpenCV) i ImageMagick. Przykład znajduje się na następującej stronie:

http://www.thregr.org/~wavexx/hacks/facedetect/#blurring-faces-within-an-image

Kilka uwag na temat przykładu:

  • Wykorzystuje pikselację, ale można łatwo zastąpić operatory „-scale” prostym „-blur 0x100”.
  • Każda twarz jest przetwarzana niezależnie w tym przykładzie, co jest dokładnie tym, czego potrzebujesz: możesz użyć „display -crop GEOMETRY”, aby pokazać twarz przed procesem rozmycia. W przypadku „zenity” lub skryptów powłoki stosunkowo łatwo jest zapytać, czy kontynuować rozmycie, czy nie.

Żadne oprogramowanie do wykrywania twarzy nie jest jednak w 100% dokładne. Dostaniesz zarówno fałszywe pozytywy, jak i chybienia. W szczególności domyślny profil OpenCV zdecydowanie nie jest najlepszy na rynku bez dodatkowego szkolenia. Fałszywe pozytywy można łatwo obejść za pomocą opisanej metody, ale chybienie to inna historia. Ręczne sprawdzanie wszystkich zdjęć może nie zaoszczędzić dużo czasu. Myślę, że to zależy od twoich wymagań dokładności.

Aby pokazać narzucone wykrywanie, użyj flagi „-o” na próbce zdjęć i sprawdź, czy wykrywalność jest odpowiednia dla twoich potrzeb.

tardis
źródło
2

Obecna najlepsza odpowiedź wydaje się brzmieć:

https://github.com/openalpr/openalpr

Niestety jest to tylko biblioteka oprogramowania i służy wyłącznie do wykrywania . Będziesz musiał zintegrować to z oprogramowaniem, które spowodowało rozmycie.

Mam podobną potrzebę, więc mogę spróbować, ale moje umiejętności programowania są trochę ... zardzewiałe.

Google miał ten sam problem. Tutaj opublikowali swoje badania, ale nie ich kod: http://static.googleusercontent.com/media/research.google.com/en//archive/papers/cbprivacy_iccv09.pdf

Otheus
źródło
Hm, C ++ nie jest jednym z moich podstawowych języków i obecnie nie mam czasu na eksperymentowanie, ale nieco później (tygodnie? Miesiące?), Mógłbym pomyśleć o wypróbowaniu tego w praktyce. Chociaż z pliku readme wydaje się, że dotyczy to tylko tablic rejestracyjnych, a nie twarzy?
LUB Mapper
0

Jeśli jesteś bardziej zainteresowany tworzeniem aplikacji, możesz spróbować użyć interfejsu API z Cloudinary. Oto więcej informacji na ten temat: http://cloudinary.com/blog/automatic_face_blurring_in_images_made_easy

Nie mogłem znaleźć żadnej aplikacji, która robi to automatycznie. Mogą istnieć wtyczki do Photoshopa lub Gimpa.

Alex
źródło
Przepraszam, już w swoim pytaniu sam odsyłam do tego artykułu jako przykład tego, czego nie szukam. Nie chcę przesyłać moich zdjęć do niektórych serwisów internetowych, ponieważ transfer trwa wieki i ponieważ kto wie, co stanie się ze zdjęciami raz na serwerach tej firmy. Jeśli nie ma nic samodzielnego, będę szukał wtyczki Gimp.
LUB Mapper
@ORMapper: przepraszam, muszę to pominąć. daj nam znać, jeśli znajdziesz jakąś aplikację.
Alex