[JAVA] Mit der Gesichtserkennungsfunktion von Watson Visual Recognition habe ich versucht, ein Ganzkörperbild einer Person in ein Bild nur des Gesichtsteils zu verarbeiten

Einführung

Mit der Funktion "Gesicht erkennen" von Watson Visual Recognition können Sie das Alter, das Geschlecht und die Position des Gesichts einer Person im Bild ablesen. Dieses Mal haben wir einen Code in Java implementiert, der eine Gesichtserkennungsfunktion namens "Gesicht erkennen" verwendet, um die Position des Gesichts aus dem Bild einer Person zu erkennen und es in ein Bild nur des Gesichtsteils zu verarbeiten.

Aufbau einer Java-Ausführungsumgebung

  1. JDK installieren Installieren Sie das JDK unter der folgenden URL. http://www.oracle.com/technetwork/java/javase/downloads/index.html

Die Installationsmethode finden Sie unter der folgenden URL. http://qiita.com/hiesiea/items/54e49dabfb5606edb54d#2-jdk%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB    2. Installieren Sie Eclipse Installieren Sie Eclipse über die folgende URL. http://www.eclipse.org/downloads/

Die Installationsmethode finden Sie unter der folgenden URL. http://qiita.com/hiesiea/items/54e49dabfb5606edb54d#3-eclipse%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB    3. Erstellen eines Maven-Projekts Erstellen Sie "Neu" -> "Projekt" -> "Maven-Projekt" von Eclipse. maven1.png

Code abrufen, einstellen

  1. Code herunterladen Laden Sie den Code von der unten stehenden URL herunter. https://github.com/takana-at/VisualRecognition-training
    Entpacken Sie den Code nach dem Herunterladen.
  2. Code-Platzierung Kopieren Sie die folgende Klasse in das sample.app-Projekt. ・DetectFaces.java ・DetectFacesThread.java ・TrainingDefinition.java

Implementierung der Gesichtserkennungsfunktion der visuellen Erkennung

Erstellen eines visuellen Erkennungsdienstes

  1. Erstellen Sie einen visuellen Erkennungsdienst auf Bluemix. Melden Sie sich über die unten stehende URL bei Bluemix an und erstellen Sie einen Dienst "Katalog" -> "Watson" -> "Visuelle Erkennung". https://console.bluemix.net/

  2. Überprüfen Sie nach dem Erstellen des visuellen Erkennungsdienstes {api_key} unter "Dienstanmeldeinformationen" -> "Anmeldeinformationen-1" und notieren Sie sich diesen. visual_recognition1.png

Führen Sie Java-Code aus

Führen Sie dieses Mal DetectFaces.java aus, einen Code, der nur den Gesichtsteil des Bilds einer Person schneidet und speichert.

  1. Ändern Sie den Code in DetectFacesThread.java. Ändern Sie den {api_key} im Code für diese Klasse in den zuvor notierten api_key.

  2. Platzieren Sie das Bild, das Sie erkennen möchten. Erstellen Sie für Bilder einen Ordner "trainImage" direkt unter dem Projekt, erstellen Sie einen Ordner "image ID name" im Ordner "trainImage" und platzieren Sie das Bild im Ordner "image ID name". Diese Bild-ID wird zum Sortieren nach Person verwendet. Platzieren Sie dieselbe Person in einem Ordner mit demselben Bild-ID-Namen.

PROJECTNAME
|-trainImage
   |-IMGID_NAME
      |-IMG  
      |-IMG

Speichern Sie beispielsweise die Bilder von "m010462.jpg " und "m010469.jpg " in dem Ordner mit der Bild-ID "femaleA", wie unten gezeigt.

reface1.png

  1. Fügen Sie Folgendes in das Argument ein und implementieren Sie es. 「./trainImage」 DetectFaces2.png

  2. Das Ausführungsergebnis ist wie folgt. face2.png

  3. Nach der Ausführung wird ein Ordner mit der Bild-ID im faceImage-Ordner direkt unter dem Projekt erstellt und das Bild in diesem Bild-ID-Ordner gespeichert.

reface2.png

  1. Das Bild unter diesem faceImage ist das Bild, das das Bild unter trainImage extrahiert, umbenannt und gespeichert hat. 【trainImage/female/m010462.jpg】 m010462.jpg        ↓ 【faceImage/female/m010462.jpg_face.jpg】    m010462.jpg_face.jpg

Recommended Posts

Mit der Gesichtserkennungsfunktion von Watson Visual Recognition habe ich versucht, ein Ganzkörperbild einer Person in ein Bild nur des Gesichtsteils zu verarbeiten
Ich habe versucht, eine einfache Gesichtserkennungs-Android-Anwendung mit OpenCV zu erstellen
Ich habe versucht, eine Nachrichtenfunktion der Rails Tutorial-Erweiterung (Teil 1) zu erstellen: Erstellen Sie ein Modell
Ich habe versucht, die Server-Push-Funktion von Servlet 4.0 zu verwenden
Ich habe versucht, eine Antwortfunktion für die Rails Tutorial-Erweiterung (Teil 3) zu erstellen: Ein Missverständnis der Spezifikationen wurde behoben
Ich habe versucht, die Beispielanwendung gemäß der Idee des Buches "Micro Service Architecture" in einen Mikrodienst zu verwandeln.
Ich habe versucht, eine Nachrichtenfunktion für die Erweiterung Rails Tutorial (Teil 2) zu erstellen: Erstellen Sie einen Bildschirm zum Anzeigen
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der Abstammung "Ich habe versucht, ein Fenster mit Bootstrap 3 zu erstellen"
Ich habe versucht, die Bildvorschau mit Rails / jQuery zu implementieren
Ich habe versucht, die Cache-Funktion des Application Container Cloud Service zu verwenden
So stellen Sie das Bild mithilfe der Symbolschriftart (Symbole) links / rechts von der Schaltfläche auf zeichnbar ein
Ich habe versucht, ein Beispielprogramm mit dem Problem des Datenbankspezialisten für domänengesteuertes Design zu erstellen
Ich habe versucht, mit HCE-F von Android eine Funktion zu implementieren, die Felica Lite entspricht
Was ich versucht habe, als ich alle Felder einer Bohne bekommen wollte