Ich werde erklären, wie [TokyoTechFes2015] verwendet wird (https://github.com/Arudori5001/TokyoTechFes2015). Ich hoffe, es ist hilfreich für Sie, die Demo zu üben und das Skript zu verbessern.
Die Unterscheidung der Gesichtsbildkategorie erfolgt durch maschinelles Lernen. Durch Ändern und Lernen im Ordner "Datensatz" ist es möglich, eine beliebige Gesichtsbildkategorie zu bestimmen.
Klonen Sie zuerst von git.
git clone https://github.com/Arudori5001/TokyoTechFes2015.git
cd TokyoTechFes2015
ImageMagick Es ist eine Anwendung, die Bilder mit einer PC-Kamera aufnimmt. Es ist unter http://cactuslab.com/imagemagick/ (Mac) verfügbar.
OpenCV http://qiita.com/zabeth129/items/f065f79b1322a82edb1d Bitte versuchen Sie die Installation unter Bezugnahme auf.
Python-abhängige Bibliothek Alle sind auf pip erhältlich. Bitte beachten Sie, dass die Version von Chainer ziemlich alt ist.
pip install cv2==1.0
pip install pillow==2.9.7
pip install chainer==1.3.2
pip install matplotlib==1.4.3
Als nächstes entpacken Sie dataset.zip
und Sie können loslegen.
unzip dataset.zip
Die Verzeichnisstruktur des durch Dekomprimieren erstellten "Dataset" -Ordners lautet wie folgt (nur der Ordner wird angezeigt).
$ tree dataset -d
dataset
├── Baysters
├── Buffealoes
├── Carp
├── Dragons
├── Eagles
├── Fighters
├── Giants
├── Hawks
├── Lions
├── Marines
├── Swallows
└── Tigers
Ich denke, die Namen der 12 Baseballteams stehen in einer Reihe. Jeder Ordner enthält Gesichtsbilder der Spieler jedes Teams. Wenn Sie eine Vorhersage mit den Standardeinstellungen treffen, wird vorausgesagt, "welches Gesicht des Spielers in den 12 Teams das Gesicht im angegebenen Bild hat". Was Sie erwarten, kann geändert werden, indem Sie den Ordner "Datensatz" und darunter ändern (siehe unten).
python bbteam_pred.py (Pfad des Bildes, das Sie vorhersagen möchten)
Nehmen wir als Beispiel an, dass das Bild eagles_koyama.jpg
, das sich bereits im Ordner sample
befindet, das in Schritt 1 aufgenommene Bild ist und eine Vorhersage treffen möchte.
Übrigens ist diese Person Koyama von Rakuten Eagles, wie der Dateiname andeutet.
python bbteam_pred.py sample/eagles_koyama.jpg
Das aufgenommene Bild wird auf dem Bildschirm angezeigt. Es gibt einen Rahmen um das Gesicht.
Schließen Sie das Bild des angezeigten Rahmens mit der X-Taste oben links. Zwei neue Bildschirme werden angezeigt (einer kann im anderen Fenster ausgeblendet sein).
Auf dem Bild oben können wir sehen, dass Koyama mit einer Sicherheit von 95% korrekt vorausgesagt wird, dass er sich dem Gesicht des Eagles-Spielers nähert. Das Bild unten zeigt auch das Vertrauen in andere Teams als Eagles. Abgesehen davon, dass die Adler 95% betragen, scheint der Karpfen eine Sicherheit von etwa 5% zu haben.
Die gleiche Ausgabe wird übrigens auch an die Konsole ausgegeben.
predicted categoriy : Eagles
certainty factor of predicted categoriy : 0.954637289047
certainty factors of each categories :
Baysters :
0.00%
Buffealoes :
0.00%
Carp :
4.51%
Dragons :
0.00%
Eagles :
95.46%
Fighters :
0.00%
Giants :
0.00%
Hawks :
0.02%
Lions :
0.00%
Marines :
0.00%
Swallows :
0.00%
Tigers :
0.00%
Wenn Sie Ihre Erwartungen ändern möchten, müssen Sie den Datensatz vor dem Training ändern. Das Dataset verwendet Dateien mit einer festen Verzeichnisstruktur im Ordner "Dataset" zum Lernen und Testen. Im oben erwähnten Standardfall ist die Verzeichnisstruktur wie folgt.
$ tree dataset -d
dataset
├── Baysters
├── Buffealoes
├── Carp
├── Dragons
├── Eagles
├── Fighters
├── Giants
├── Hawks
├── Lions
├── Marines
├── Swallows
└── Tigers
Der Name jedes Verzeichnisses direkt unter dem Ordner "Dataset" ("Baysters", "Buffealoes", ...) repräsentiert den Kategorienamen. Standardmäßig hat "Baysters" Baysters in einer Kategorie.
Bilder werden direkt unter Ordnern wie "Baysters" aufgereiht.
$ tree dataset/Baysters
dataset/Baysters
├── 1000003_ss.jpg
├── 1000007_ss.jpg
├── 1000117_ss.jpg
├── 1000118_ss.jpg
├── 1000119_ss.jpg
...
Diese Bilder sind Gesichtsbilder, die zu ihren jeweiligen Kategorien gehören. Die "Baysters" sind mit Gesichtsbildern von Baysters-Spielern gesäumt. Bitte ändern Sie die Verzeichnisstruktur wie oben beschrieben.
Wenn Sie beispielsweise beurteilen möchten, ob es sich um einen Mann oder eine Frau handelt, gehen Sie wie folgt vor. Speichern Sie das weibliche Gesichtsbild in "Weiblich" und das männliche Gesichtsbild in "Männlich".
$ tree dataset -d
dataset
├── Female
└── Male
Das Lernen erfolgt mit dem folgenden Befehl.
python Learning.py (Anzahl der zum Lernen verwendeten Daten)(Anzahl der zum Testen verwendeten Daten)
Standardmäßig enthält der Datensatz 680 Bilder. Wenn Sie 520 Blatt zum Lernen und 120 Blatt zum Testen verwenden möchten, gehen Sie wie folgt vor.
python Learning.py 520 130
Recommended Posts