Ich war in einem Supermarkt und kaufte Wein und benutzte einen Selbstprüfer, überraschenderweise wurde ein Assistent nicht gebeten, mein Alter zu überprüfen! Dann bemerkte ich, dass es eine Kamera in der Welbe hatte. Dann fragte ich mich ... könnten wir das Alter einer Person von einem Bild ihres Gesichts und zu welchem Grad an Vertrauen schätzen?
In diesem Projekt versuchen wir, das Alter einer Person aus einem Bild ihres Gesichts abzuschätzen. Wir tun dies, indem wir auf All-Agen-Face-Daten-Daten-Daten trainieren und das Alter mit einem MSE-Verlust zurückbilden. Dieser Datensatz hat eine starke rassistische Voreingenommenheit und wirkt sich auf die Leistung der Modelle aus.
Dieses Projekt verwendet Conda, um seine Umgebung zu verwalten. Sobald Conda installiert ist, erstellen wir die Umgebung und aktivieren es.
conda env create -f enviroment.yml Conda aktiviert Age_regression
. Unter Windows; PowerShell muss initialisiert werden und die Ausführungsrichtlinie muss geändert werden.
Conda Init Powershell Set -ExecutionPolicy -ExecutionPolicy Remotessigned -Scope -Stromuster
. Dieses Repo verwendet GIT-LFS, um die Modelle zu speichern. Stellen Sie sicher, dass die Git-LFS-Dateien mithilfe von gezogen wurden.
Git LFS ziehen
Altersvorhersage in einem Verzeichnis von Bildern laufen, läuft,
python evaluate_images.py -model vorab/model_age_rgression_resnext101_20.pth --images ~/code/datasets/faces/val
Wenn wir eine gemeinsame Plot zwischen vorhergesagtem und Bodenwahrheitsalter durchführen, können wir sehen, dass das Modell eine starke Korrelation zwischen den beiden hat, es gibt jedoch gelegentlich Ausreißer.
Wir können sehen, dass der Datensatz ein großes indesales Inbalance aufweist, das hauptsächlich Stichproben von Menschen 25 ~ 35 enthält. Während wir versuchen, unsere Leistung in diesem Datensatz zu maximieren, wurde es ignoriert. In Zukunft sollte dieser Datensatz vor dem Training neu abgetastet werden, um eine einheitliche Altersverteilung zu erzielen.
Wenn wir die MAE in jeder Altersgruppe zeichnen. Wir können unsere Altersgruppe mit der kleinsten MAE 30-35 sehen, was unserer vorherrschenden Altersgruppe im Datensatz entspricht. Wo wir nur sehr wenig Daten haben, können wir größere Vorhersagefehler sehen. Es ist möglicherweise interessant, dass die Gruppen für Alter <15 auch niedrigere MAE haben, möglicherweise weil sie einfachere Fälle sind.