Визуальное распознавание Уотсона, классифицировать против нескольких классификаторов в Java
Я нашел эту команду curl в документе API, которая может классифицировать изображение по нескольким классификаторам:
curl -u "{username}":"{password}" \
-X POST \
-F "images_file=@batch1.zip" \
-F "classifier_ids=<classifierlist.json" \
"https://gateway.watsonplatform.net/visual-recognition-beta/api/v2/classify?version=2015-12-02"
Я задавался вопросом, возможно ли сделать это в Java, так как я работаю над программой для Android, использующей сервис визуального распознавания Watson.
благодарю вас
2 ответа
Используйте это руководство для настройки вашей среды Java
https://developer.ibm.com/recipes/tutorials/bluemix-watson-apis-quickstart-using-java-sdk/
Затем взгляните на этот другой учебник, который показывает, как использовать несколько классификаторов, используя код Java
Короче говоря, ваш код будет выглядеть так
Шаг № 1 - создать классификаторы
VisualRecognition service = new VisualRecognition(VisualRecognition.VERSION_DATE_2015_12_02);
service.setUsernameAndPassword("*******", "********");
File p1 = new File("/home/leoks/Desktop/models/pos2010-2011.zip");
File n1 = new File("/home/leoks/Desktop/models/pos2014-2015.zip");
VisualClassifier c1 = service.createClassifier("2010", p1, n1);
File p3 = new File("/home/leoks/Desktop/models/pos2014-2015.zip");
File n3 = new File("/home/leoks/Desktop/models/pos2010-2011.zip");
VisualClassifier c3 = service.createClassifier("2014", p3, n3);
System.out.println(service.getClassifiers());
Шаг № 2 - используйте их
File image = new File("...");
VisualClassifier vc1 = new VisualClassifier("2010_633980596");
VisualClassifier vc2 = new VisualClassifier("2014_450835300");
VisualClassification result = service.classify(image, vc1,vc2);
System.out.println(result);
Если ваше изображение идентифицировано классификатором, оно вернет счет, в противном случае ответ не будет возвращен. Например
{
"images": [
{
"image": "2012.jpg",
"scores": [
{
"classifier_id": "2010_633980596",
"name": "2010",
"score": 0.992153
},
{
"classifier_id": "2014_450835300",
"name": "2014",
"score": 0.833185
}
]
}
]
}
проверьте учебники, это пошаговые инструкции. Удачи.
Вы можете использовать Watson Java SDK - Visual Recognition. Он предоставляет клиентскую библиотеку Java для использования сервисов Watson Developer Cloud, набор API-интерфейсов REST и SDK, которые используют когнитивные вычисления для решения сложных задач.
В вашем случае вы можете использовать метод classify() класса Visual Recognition. Взгляните на документацию по классам VisualRecognition.