Weergave van mensen

Als u niet alleen foto’s neemt van machines of sterren of iets dergelijks, dan kan beheer van gezichten een interessante mogelijkheid voor u zijn (zelfs met een machine kan er een mens mee aan het werk zijn). In digiKam bestaat het uit twee taken: Gezichtsdetectie en Gezichtsherkenning.

De werkmethode beheer van gezichten biedt u het detecteren en herkennen van mensen in uw foto’s. Beide mogelijkheden gebruiken een deep-learning neuraal netwerk in de achtergrond. Gezichtsdetectie laat digiKam gezichten detecteren in uw afbeeldingen. Deze stap is vereist alvorens in staat te zijn om gezichten te herkennen. Gezichtsherkenning zal automatisch mensen in uw afbeeldingen herkennen, maar het heeft een paar items nodig die al getraind zijn voor eenzelfde gezichtsnaam om nieuwe te herkennen.

Belangrijk

Om juist uitgevoerd te worden moet het gezichtenbeheer de modellen deep-learning hebben die gedownload zijn bij de eerste keer uitvoeren van digiKam. Zie de sectie Snelle start voor details.

Gezichtsdetectie

De eerste stap is digiKam laten zoeken naar al die afbeeldingen die gezichten tonen terwijl nog niet geweten wordt wiens gezicht het is. Om dat proces voor te bereiden klikt u op tabblad Mensen in de linker zijbalk. Onderaan hebt u een instellingenweergave met een afrolmenu waar u kunt kiezen tussen:

  • Al gescande afbeeldingen overslaan kies deze optie als u nog niet hebt gescand of als de laatste scan goede resultaten gaf maar u wilt nieuwe afbeeldingen scannen.

  • Opnieuw scannen en resultaten mengen kies deze optie als de resultaten van de vorige scan niet klopten. Dit zou alle afbeeldingen opnieuw moeten scannen en kost veel tijd.

  • Niet bevestigde resultaten wissen en opnieuw scannen verwijdert alle gezichten in de database zonder een naam en voert opnieuw een analyse uit.

  • Alle vorige resultaten wissen en opnieuw scannen verwijdert alle voorgaande gezichten in de database en voert opnieuw een analyse uit.

De weergave van digiKam met werkmethode beheer van gezichten

De eerste optie zou u moeten kiezen als u niet eerder a scan hebt gedaan of u deed dat met een tevreden resultaat maar sindsdien nieuwe foto’s hebt toegevoegd of als u een zoekresultaat al hebt verbeterd, bijv. door gezichtstags te verwijderen die kennelijk geen gezicht tonen. De tweede zou u moeten kiezen als u de al gescande afbeeldingen wilt meenemen in de volgende scan. De derde is interessanter in de context van gezichtsherkenning omdat Onbevestigde resultaten betekent dat er gezichtstags zijn die nog geen naam toegevoegd hebben gekregen.

Nadat het scannen op gezichten is voltooid, zou u een nieuwe tag Onbekend kunnen zien waar de resultaten van de gezichtenscan zullen verschijnen. U kunt nu handmatig een paar van deze gezichten kunnen verwerken en daarna doorgaan met gezichtsherkenning. Minstens een minimum van 5 vergelijkbare gezichten met tags in verschillende afbeeldingen moeten getraind zijn voor een automatische werkmethode voor herkennen.

Notitie

In het tabblad Instellingen, kunt u ook beslissen of u wilt scannen op gezichtsdetectie of op gezichtsherkenning.

Het tabblad Instellingen heeft een ander tabblad on fijn af te regelen waar naar nieuw gezichten te zoeken. U kunt een selectie van albums of tags maken om de detectie te verwerken.

De weergave van digiKam beheer van gezichten met Zoeken-in

Het laatste tabblad uit de instellingenweergave biedt het fijn afregelen van de geavanceerd configuratie, zoals de gebruikte nauwkeurigheid om een gezicht in een afbeelding te identificeren, de te gebruiken model voor deep-learning voor de werkmethode bij gezichten en de mogelijkheid om alle CPU-kernen te gebruiken tijdens de berekeningen.

De weergave van digiKam beheer van gezichten voor Instellingen

Notitie

Het YOLO v3 model voor deep-learning is krachtiger maar het kost veel tijd en CPU. Zet deze optie alleen aan als uw hardware intensieve berekeningen kan ondersteunen. Het wordt alleen gebruikt voor gezichtsdetectie, speciaal om erg kleine gezichten, vage gezichten of groepsfoto’s met vele gezichten.

Tip

Vanwege technische beperkingen onder Windows zal de ondersteuning van multi-kern met een Mysql/MariaDB database geen goede presentatie leveren. We bevelen in plaats daarvan een SQlite database te gebruiken.

Voor de taak waarover we preken activeert u natuurlijk Gezichten detecteren. Omdat gezichtsdetectie een tijd vergende taak is doet u er beter aan Scannen niet direct aan te klikken, in plaats daarvan Opties. Een extra gebied zal uitvouwen georganiseerd met drie tabbladen. In Zoeken-in kunt u de scan beperken tot bepaalde albums of tags. In Instellingen kunt u de Nauwkeurigheid van gezicht aanpassen met een balans tussen Gevoeligheid en Specificiteit die past bij wat u nodig hebt. Een hogere specificiteit houdt een hogere nauwkeurigheid in, dit resulteert in een kleinere set resultaten. Onder Geavanceerd zult u twee keuzevakjes vinden. De eerste is uitgelegd in de bovenstaande tekst. De tweede is voor gezichtsherkenning, zie het volgende hoofdstuk.

Nadat u uw opties zorgvuldig hebt gekozen klikt u op Scannen en na een tijdje, afhankelijk van de scope van uw selectie, zal het resultaat worden gepresenteerd in het Afbeeldingengebied. In de lijst met Tags van de linker zijbalk zult u de tak met Mensen van uw tagboomstructuur zien. U zult het gehele scanresultaat alleen zien als de bovenste tag Mensen is geselecteerd. In de boomstructuur zult u een nieuwe virtuele tag genaamd Onbekend zien die alle afbeeldingen zal laten zien waarin gezichten zijn herkend maar nog niet verbonden zijn met een persoon. Als u zojuist voor de eerste keer hebt gescant dan zult u het gehele resultaat ook hier vinden.

Filmpje van het proces van digiKam voor gezichtsherkenning draaiend over de verzamelingen en het bevolken van de database

Merk op dat de hier gepresenteerde miniaturen niet de gehele afbeelding tonen. Ze tonen het gebied van de afbeelding waar het scanalgoritme een Gezichtstag heeft gestopt. U kunt dat zien als u klikt op de miniatuur. In het voorbeeld dat opent zult u de gehele afbeelding met op hen alle gezichtstags.

Als u ze niet ziet, klik op de knop mensen icon_showfacetags in de rechter bovenhoek van het voorbeeld. Als er meer dan één gezichtstag op de afbeelding is zal het ook gerepresenteerd worden door meer dan een miniatuur. Dit is het geval met de bovenstaande schermafdruk genomen in voorbeeldmodus.

Het bewerken van gezichtstags van digiKam uit Pictogramweergave

Als het echt een gezicht is zal het veld met label Wie is dit? een rol gaan spelen. Hier kunt u ofwel de naam van een bestaande Menstag uit uw boomstructuur met tags selecteren of de afrolfunctie gebruiken om uw boomstructuur met tags te tonen en een tag te selecteren. Met Bevestigen kunt u dat in de database opslaan. Als het de enige gezichtstag (overgebleven) is zal de afbeelding verdwijnen uit de selectie Onbekenden en zult u het vinden wanneer u ofwel de tag Mensen of een van de tags die u hebt toegekend aan een van de gezichtstags in die afbeelding.

De lijst met onderstaande detectiesamples komt uit een enorme verzameling foto’s gescand met het deep-learning-model Yolo v3.

ID

Voorbeelden van gezichtsdetectie

Commentaar

01

Een onderbelicht gezicht

02

Een gesloten hondengezicht

03

Een vervaagd kindergezicht

04

Een niet-menselijk gezicht

05

Een erg vervaagd en gedeeltelijk gezicht

06

Een gedraaid gezicht

07

Een met een hoed bedekt gezicht

08

Een gezicht van opzij

09

Een onderbelicht en gedeeltelijk gezicht

10

Een vals-positive detectie

11

De bek van een puppy

12

Een gezicht bedekt met een racket

De schermafdrukken 02 en 11 zijn gekozen omdat ze een belangrijke mogelijkheid tonen: het algoritme is in staat om diergezichten te vinden en dat is geen vals-positief, behalve als u natuurlijk alleen menselijke gezichten in uw verzameling wilt zien.

De schermafdruk 10 is gekozen omdat het een belangrijke zaak toont: het algoritme zal ongetwijfeld details in een afbeelding vinden die lijken op een gezicht maar in werkelijkheid iets anders zijn. Daar is de knop Verwijderen voor. Het zal de gezichtstag van de foto verwijderen en als het de enige gezichtstag (overgebleven) is zal de foto verdwijnen uit het scanresultaat.

De schermafdrukken 01, 03, 05, 08, 09 en 12 kunnen beschouwd worden als geen gezichten of kunnen voorkomen worden door de Nauwkeurigheid van de detectie in de weergave Instellingen van beheer van gezichten. Maar deze voorbeelden bewijzen de mogelijkheden van het algoritme om gezichten te detecteren in kritische opnamecondities.

De schermafdrukken 04 en 10 zijn definitief vals-positieve resultaten.

In het contextmenu van het voorbeeld zijn er nog twee items gerelateerd aan gezichtstags: Een gezichtstag toevoegen en Alle gezichten op deze afbeelding wissen.

Gezichtsherkenning

Menstags toekennen aan gezichtstags is een belangrijke voorwaarde voor gezichtsherkenning. Erg duidelijk is dat digiKam alleen gezichten kan herkennen als het iets heeft om mee te vergelijken. Het is aan u om de middelen aan te reiken, die in dit geval aan digiKam vertellen: dit is Lara, dit is Juan, dit is Peter enzovoort. Daarom moet u, na uitvoeren van een gezichtsdetectie zoals beschreven in het vorige artikel, typisch de tag Onbekend in de linker zijbalk selecteren, klik op een miniatuur en klik, indien nodig, op de knop Gezichtstags tonen icon_showfacetags.

De Pictogramweergave van beheer van gezichten van digiKam met meerdere selecties van vergelijkbare gezichten van de tag te voorzien met dezelfde naam Agnès

Nu zou u de gezichtstags van die foto moeten zien. Diegene die al een mens- (of andere) tag hebben toebedeeld zullen eenvoudig de naam van die tag tonen. De anderen, tonen gezichten Onbekend, zullen een veld tonen en twee knoppen zoals in de schermafdruk van het vorige artikel. In het veld met label Wie is dit? kunt u ofwel de naam van een bestaande menstag uit uw boomstructuur met tags intypen of de afrolfunctie gebruiken om uw boomstructuur met tags te tonen en een tag selecteren. Met Bevestigen kunt u dat in de database opslaan.

De Pictogramweergave van beheer van gezichten van digiKam met bevestigde gezichten met gebruik van de naam Agnès

Notitie

Als u het contextmenu-item Tag toekennen gebruikt in plaats van de boven beschreven procedure zal dat niet een gezichtstag toekennen. Het zal een gewone tag toekennen en het zal het toekennen aan de gehele afbeelding.

Als een gezichtstag is bevestigd en dus alleen de naam van de tag toont maar niet de knoppen om te verwijderen, te bewerken of te bevestigen, en u hebt die knoppen toch nodig omdat bijv. dit onjuist is en u wilt het bewerken of verwijderen, dubbelklik gewoon op de naam en de knoppen zullen opnieuw verschijnen.

Nadat u een tag heeft toegekend aan een paar foto’s kunt u digiKam laten kijken of het meer foto’s kan vinden die hetzelfde gezicht tonen. Om dat proces voor te bereiden klikt u op Verzameling scannen op gezichten maar deze keer selecteert u Gezichten herkennen.

Belangrijk

Om in staat te zijn een nieuw gezicht automatisch te herkennen is een minimum van 5 gelijkende gezichten met tags in verschillende afbeeldingen nodig, om eerder in de training meegedaan te hebben met de deep-learning-engine in de handmatige werkmethode met gezichtsherkenning.

Om gezichtsherkenning te starten, klik op Verzameling scannen op gezichten. Het proces zal elk herkend gezicht van een tag voorzien met de passende menstag uit uw boomstructuur mat tags en de overeenkomstige miniatuur zal verdwijnen uit de tagselectie Onbekend.

De Pictogramweergave van beheer van gezichten van digiKam met nieuwe automatisch herkende gezichten als naam Agnès

Gezichtsherkenning is sneller dan gezichtsdetectie maar het is nog steeds zinvol om te klikken op Instellingen en de scan te beperken tot bepaalde albums of tags in het tabblad Albums, bijv. tot de tag “Onbekend”. In het tabblad Instellingen kunnen we met de balans tussen snelheid en nauwkeurigheid. Onder Geavanceerd vindt u twee keuzevakjes. De eerste wordt verklaard door de bovenstaande tekst.

Notitie

Gezichtsherkenning werkt goed met gezichten die automatisch zijn gedetecteerd door digiKam, niet met handmatig getekende gezichtsvierkanten of gezichten uit andere programma’s.

In het geval van niet bevredigende resultaten kan het helpen om Wis en bouw opnieuw alle trainingsgegevens. Een reden kan zijn dat er te veel gezichtstags toegekend zijn aan een persoon die deze persoon toont op een manier die het zoekalgoritme niet echt helpt, bijv. met een zonnebril, vaag, ongebruikelijke kleuren, carnavalmake-up, donkere beschaduwde gebieden in het gezicht, baby/kind/volwassene foto’s gemengd… Een andere reden om die optie te gebruiken kan valse gezichtsherkenning zijn vanwege een verkeerde waarde van de nauwkeurigheid in het tabblad Instellingen.

De Pictogramweergave van beheer van gezichten van digiKam met nieuwe herkende gezichten om de naam Agnès te bevestigen

Om het proces van gezichtsherkenning te voltooien, moet u de nieuw herkende gezichten Bevestigen. Door de eigenschappen toe te passen, zullen nieuwe gezichten definitief verplaatst worden naar de gezichtstag.

Het resultaat van gezichtsherkenning verschijnt in de vorm van onbevestigde resultaten. Deze resultaten zullen verschijnen in de tag Onbevestigd, evenals in de tag van de persoon die wordt gesuggereerd voor elk gezicht. Zweven boven onbevestigde gezichten zal een paar opties tonen:

  • De knop Bevestigen biedt u het bevestigen van de suggestie. Dit zal de gesuggereerde naam aan het gezicht toekennen

  • De knop Verwerpen gebruiken, als de suggestie niet juist is. Dit zal het gezicht terugzetten naar Onbekend.

  • De knop Verwijderen gebruiken, als de suggestie geen gezicht is. Dit zal het gezichtsgebied uit de database verwijderen.

Over het categoriseren en sorteren van gezichten, gezichten standaard verschijnen in categorieën gebaseerd op hun naam. U kunt dit gedrag wijzigen door naar Beeld -> Items scheiden te gaan. Merk op dat een andere vorm van volgorde in categorisatie zal leiden tot mengen van Bevestigde en Niet-bevestigde gezichten. Om dit gedrag te wijzigen kunt u de sorteervolgorde binnen elke categorie wijzigen door naar Beeld -> Items sorteren-> Op type gezicht.

Om resultaten van gezichtsherkenning te verbeteren, los van het gebruik van de eerder genoemde instellingen, kunnen resultaten van gezichten ook verbeterd worden door de trainingsgegevens opnieuw te bouwen. Dit kan gedaan worden via Hulpmiddelen -> Onderhoud -> Gezichten detecteren en herkennen -> Wissen en alle trainingsgegevens opnieuw bouwen.

Handmatig gezichtstags toekennen

digiKam biedt handmatig gezichtstags toekennen.

Voor meer informatie over gezichtstags toekennen met engine voor gezichtsherkenning van digiKam zie de vorige sectie van deze handleiding.

U kunt mensen handmatig een tag toekennen op verschillende manieren:

  • Uit de Modus Voorbeeld klik op het pictogram Een gezichtstag toevoegen of selecteer de optie uit het contextmenu, zoals geaccentueerd in de onderstaande schermafdruk.

    Het handmatig toekennen van gezichtstags van digiKam uit het contextmenu

    Teken dan een rechthoek rond het gezicht met ingedrukte linker muisknop gevolgd door invoeren van de naam van de persoon en indrukken van toets Enter. Als u toets ;kbd:Esc indrukt verlaat u de bewerker van de naam van de persoon.

    De bewerker van digiKam voor handmatig gezichtstags toekennen

    Notitie

    In plaats van klikken op het pictogram Een gezichtstag toevoegen kunt u een gezichtsgebied tekenen met ingedrukte toets Ctrl.

    Het contextmenu Voorbeeldmodus bevat ook twee andere opties om te gebruiken tijdens handmatig tag toekennen aan gezicht:

    • Op gezichten scannen: deze optie roept het algoritme voor gezichtsdetectie aan om gezichtsgebieden automatisch over de afbeelding in te stellen. De gezichten krijgen standaard de tag Onbekend in de database. De laatst gebruikte instellingen voor Gezichtsdetectie zullen het proces configureren. Als gezichten gevonden worden, kunt u de gezichtsnaam handmatig bewerken zoals eerder uitgelegd.

    • Gezichtstags tonen: dit toont de zichtbare gezichtsgebieden en schakelt automatisch naar modus bewerken wanneer de muis beweegt boven de gebieden.

  • Het tabblad Mensen in de linker zijbalk: slepen en loslaten gebruiken tussen pictogramweergave en boomstructuur gezichtstags. Selecteer items met label Onbekend waaraan u een gezichtstag wilt toekennen. Beweeg met de muis naar de hiërarchie met items Mensen. Een menu verschijnt om toekenning van gezicht te bevestigen.

    Filmpje van handmatig toekennen van gezichten met slepen en loslaten

  • Uit sneltoetsen: u kunt een magische toets toekennen aan een gezichtstag en snel het toetsenbord gebruiken om de gezichtstagnaam aan de geselecteerde items in te schakelen.

    De dialoog gezichtstag-eigenschappen van digiKam met een toegekende sneltoets

  • Uit de weergave Onbekende tag uit Mensen: om handmatig een gezicht te identificeren, zweef boven een Onbekend gezicht uit de Pictogramweergave en gebruik het tekstvak om het een naam te geven. Dit zal tot de aanmaak van een gezichtstag leiden in geval een persoon met die naam niet al bestaat. Voor de beste resultaten identificeer minstens 4 gezichten voor elke persoon die u wilt scannen om te herkennen.

    Filmpje van handmatig gezicht toekennen uit de Pictogramweergave

    Notitie

    In de weergave Diversen gedrag van de configuratiedialoog, kan een optie aangezet worden om alleen de boomstructuur van tags te bevolken met de toegekende gezichtstags aan een gezicht terwijl u een naam invoert.

In geval er een gezicht is die u niet wilt herkennen, dan kunt u het markeren als genegeerd. Dit leidt tot de creatie van een nieuwe tag Genegeerd, u kunt later het gezicht markeren als nodig.

Een gezicht gemarkeerd als Genegeerd uit Pictogramweergave