Ich habe versucht, den Code zu implementieren, um mehrere Bilder gleichzeitig in der Watson Visual Recognition Collection in Java zu lernen

Einführung

Wenn Sie Daten in die Watson Visual Recognition Collection einfügen, müssen Sie den Code einzeln implementieren, mit Ausnahme des Schreibens des Codes, was problematisch ist. Dieses Mal habe ich den Code implementiert, der mehrere Bilder gleichzeitig mit Java-Code trainieren kann.

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. ・AddToCollection.java ・AddToCollectionThread.java ・TrainingDefinition.java

Laden Sie Trainingsdaten in die Visual Recognition Collection hoch

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. Aktivieren Sie nach dem Erstellen des visuellen Erkennungsdienstes {api_key} unter "Dienstanmeldeinformationen" -> "Anmeldeinformationen-1" und notieren Sie dies. visual_recognition1.png

Sammlung in visueller Erkennung erstellen

  1. Erstellen Sie eine Sammlung im Visual Recognition-Dienst. Greifen Sie auf die unten stehende URL zu, geben Sie den zuvor unter "Parameter" -> "api_key" notierten api_key ein, geben Sie unter "name" einen beliebigen Namen ein und klicken Sie auf "try it!". https://watson-api-explorer.mybluemix.net/apis/visual-recognition-v3#!/visual45recognition/post_v3_collections

visual_recognition2.png    2. Wenn die Sammlung erstellt wird, wird der folgende Bildschirm angezeigt. Notieren Sie sich die "collection_id". Stellen Sie außerdem sicher, dass "Status" "Verfügbar" ist. visual_recognition3.png

Führen Sie Java-Code aus

Führen Sie AddToCollection.java aus.

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

  2. Platzieren Sie das hochzuladende Bild. 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

Beispielsweise werden die Bilder von "m010469.jpg " und "m010462.jpg " in dem Ordner mit der Bild-ID "weiblich" gespeichert, wie unten gezeigt. readd1.png

  1. Platzieren Sie die hochzuladende Metadatei. Erstellen Sie für Bilder einen Ordner "trainMetafile" direkt unter dem Projekt, erstellen Sie einen Ordner mit demselben "Bild-ID-Namen" wie im Ordner trainImage im Ordner "trainMetafile" und erstellen Sie einen Ordner mit demselben "Bild-ID-Namen" im Ordner "Bild-ID-Name" für die Person, die mit dieser Bild-ID verknüpft ist. Platzieren Sie die Informationen in einer JSON-Datei. Zu diesem Zeitpunkt sollte der Dateiname der JSON-Datei "Image ID name.json" sein. Mit der im Ordner "trainMetafile" gespeicherten JSON-Datei können Sie zusätzliche Informationen zu dem in trainImage gespeicherten Bild registrieren.
PROJECTNAME
|-trainMetafile
   |-IMGID_NAME
      |-IMGID_NAME.json

Speichern Sie beispielsweise die JSON-Datei mit dem Namen "female.json" im Ordner "female" (siehe unten). readd2.png

Bitte beachten Sie den folgenden Code, wenn Sie eine Metadatei erstellen.

Beispiel für die Eingabe einer Metadatei(femaleA.json)


{"name":"Frau A.","img_name":"femaleA","img_url":"https://model.foto.ne.jp/free/product_info.php/cPath/24_252_256/products_id/300378"}
  1. Fügen Sie Folgendes in das Argument ein und implementieren Sie es. 「./trainImage」 AddToCollection2.png

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

Sammlung prüfen

Überprüfen Sie, ob der Sammlung Trainingsdaten hinzugefügt wurden.

  1. Greifen Sie auf die folgende URL zu, geben Sie den api_key und die collection_id ein, die Sie bei der Implementierung von AddToCollection.java unter "Parameter" -> "api_key" und "collection_id" eingegeben haben, und klicken Sie auf "try it!". https://watson-api-explorer.mybluemix.net/apis/visual-recognition-v3#!/visual45recognition/get_v3_collections_collection_id_images! List100image1.png

  2. Zeigen Sie die Liste der in der Sammlung registrierten Bilder an. Wenn die in "Bilder" der Sammlung registrierten Bilder registriert sind, ist die Schulung abgeschlossen. add6.png

Recommended Posts

Ich habe versucht, den Code zu implementieren, um mehrere Bilder gleichzeitig in der Watson Visual Recognition Collection in Java zu lernen
So rufen Sie mehrere Namen gleichzeitig in derselben Kategorie auf
Rufen Sie die visuelle Erkennung im Watson Java SDK auf
Ich habe versucht, die Methode der gegenseitigen Teilung von Eugrid in Java zu implementieren
~ Ich habe jetzt versucht, funktionale Programmierung mit Java zu lernen ~
In Java möchte ich mehrere angegebene Zeichen nur von Anfang bis Ende abschneiden.
Da das Lesen von JdbcCodeList von TERASOLUNA langsam ist, habe ich versucht, mehrere gleichzeitig zu registrieren.
Ich möchte die if-else-Anweisung für bedingte Verzweigungen in Java vereinfachen
Java mit Visual Studio Code
[Java] Ich habe versucht, die Kombination zu implementieren.
[Java] Ich möchte überprüfen, ob die Elemente in der Liste null oder leer sind. [Collection Utils]
[Java] Ich möchte mit dem Schlüssel im Objekt eindeutig arbeiten
Beispielcode zum Aufrufen der Yahoo! Local Search API in Java
[Wörter, die mir geschrieben wurden, als ich in der ersten Klasse war ⑦] Was ich möchte, dass Sie zumindest in die Visual Studio Code-Erweiterung aufnehmen
Errate den Zeichencode in Java
Wie man JAVA in 7 Tagen lernt
Ich habe versucht, die Funktion zum Hochladen mehrerer Bilder in Rails zu implementieren, damit mehrere Bilder für den Beitrag verschoben werden können
Ich habe die COTOHA-API-Syntaxanalyse 100 Mal in Java aufgerufen, um die Leistung zu messen.
Ich möchte die IP-Adresse erhalten, wenn ich mit Java eine Verbindung zu Wi-Fi herstelle
Ich habe versucht, mit der Java Stream-API eine Methode zu erstellen, die mehrere Filter gleichzeitig anwendet. Ist das in Ordnung?
Java-Referenz zum Verständnis in der Abbildung
OCR in Java (Zeichenerkennung aus Bildern)
Ich habe das neue Yuan-Problem in Java ausprobiert
So erhalten Sie das Datum mit Java
Ich ging zum Java Women's Club # 1
[Mac] Installieren Sie Java in Visual Studio Code
Beispielquellcode zum Ermitteln des minimalen gemeinsamen Vielfachen mehrerer Werte in Java
Beispielcode zum Abrufen der wichtigsten SQL-Typwerte in Java + MySQL 8.0