Um milhão de fotos caseiras: rostos, rostos, rostos

Assim, todas as fotos ficam organizadas em pastas e ficou rápido e cômodo encontrar fotos de Ano Novo ou de aniversários. Fotos das férias também podem ser encontradas com relativa rapidez, mas eu queria mais. Ou seja, pesquise por pessoas e não apenas por pessoas, mas por um conjunto de pessoas, por exemplo, para encontrar todas as fotos conjuntas de crianças ou fotos com a avó, etc.





Então, decidi me aprofundar um pouco mais no chamado Reconhecimento de Face .





É tão simples assim?

, , , : , , , , , , ; ( , , ) « ». , . , ( , , ..). , . ( ).





, , , . , , « » : , ., , , , , opensource.





, , , , .





.





?

, , , , , , . 





, , , , , .





« » , - . , - .





, , :





https://azure.microsoft.com/en-us/services/cognitive-services/face/





https://cloud.google.com/vision/docs/face-tutorial





https://aws.amazon.com/rekognition/





, . , , .





CPU -> GPU

, , CNN (. ) CPU. 





1000 , . , , , , .





, , , GPU. , Face Recognition . , , GeForce GTX 1050 Ti. , , … ! , , . .





: CUD. … CUD? , , , GPU .





— ( ), .





, , , CPU GPU , .





:





  1. (face detection)





  2. (landmarks detection)





  3. (face encoding)





  4. (face matching)





, :





  • (HOG).





  • (CNN).





HOG , CPU, .





CNN GPU, .





face_recognition ( , , . ). dlib.





8 , : «» , , , , 4 GB . 1000 (max_image_size



, ), , ( , , , )





. — , , , . , .





, , , .





«» : face_recognition ( dlib), face-alignment.





, -, , , . «». «» , , «». :





, - .





, « » , 10000 / … 80%, , . , , , , .





. … . , , . , , . , , , , .





, , , -, , , -, , , . , , , , .





( deepface) , ( face_recogintion, dlib).









( ) , . . . , , .





«» .





.





( , 10) , , . , /, , . , , , . , - , « » (weak match) , , .





«-»

, , , , . . , , .





, . , ( - ) , , . , - , ( ) , frontal.cfg .





?

, , , , ? , , , , , , - . , .





« »: , , , .





-, (max_video_frames



) , , . -, , (video_frames_step



) , . , , (min_video_face_count



) , , .





( ), . , . , , , , , , , , , .





- , .









, , README .





. :





«Recognition» -> «Add new files…»





( , )





:





( ) , :





, , ( 0_face.jpg). 





, , , . , , (trash).





, , , . «Bad encoding», , .





: «Match» -> «Rematch folder…».





, «weak», .. , . . , , Shift Ctrl. 





«weak» «unknown» .





« » , , -, ( ), -,





.









( , ).





, ?

? , . ! ? Plex, , . , API , , , sqlite . . ( Plex, , - , plexdb.py).





. , .





face-rec-plexsync -a set_tags







! !





, - Plex . , ( , .. ). , , . , , . (Up: , - )





, , 2020





face-rec-db -a find_files_by_names -f 2020 -n ,







, , -





| xargs -I{} ln -s {} /mnt/multimedia/query/ 







, , .





, - , «» , , plexsync.py, .





, , , , , . ( ?). Plex. ..





.





, , «», - :





  • . , , .





  • : , .





  • , : , , ..





  • , : , , , , .





Às vezes me parece, olhando para trás e avaliando o tempo gasto, que seria mais fácil pagar por algum sistema em nuvem, como o Google photos, que oferece algum tipo de funcionalidade semelhante, mas, em primeiro lugar, armazenamento local (com backup próprio eu mesmo) é mais seguro e rápido e, em segundo lugar, tive uma experiência inestimável e isso é o principal!





Obrigado pela atenção!








All Articles