Java IBM视觉识别:创建分类器
我已经根据IBMs预配置的分类器对图像进行了分类 现在我尝试创建并使用我自己的分类器(称为“圣诞老人”)来识别圣诞老人的图像:Java IBM视觉识别:创建分类器,java,ibm-watson,Java,Ibm Watson,我已经根据IBMs预配置的分类器对图像进行了分类 现在我尝试创建并使用我自己的分类器(称为“圣诞老人”)来识别圣诞老人的图像: VisualRecognition service = new VisualRecognition(VisualRecognition.VERSION_DATE_2016_05_19); service.setApiKey("***************"); File santa = new File("
VisualRecognition service = new VisualRecognition(VisualRecognition.VERSION_DATE_2016_05_19);
service.setApiKey("***************");
File santa = new File("src/images/Santa.zip");
File notSanta = new File("src/images/NotSanta.zip");
CreateClassifierOptions classifierOptions = new CreateClassifierOptions.Builder()
.classifierName("Santa").addClass("Santa", santa).negativeExamples(notSanta).build();
VisualClassifier santaClassifier = service.createClassifier(classifierOptions).execute();
List<String> classifierIds = new ArrayList<String>();
classifierIds.add(santaClassifier.getId());
ClassifyImagesOptions classifyOptionsSanta = new ClassifyImagesOptions.Builder()
.classifierIds(classifierIds)
.images(new File ("src/images/lilSanta.png")).build();
VisualClassification resultSanta = service.classify(classifyOptionsSanta).execute();
System.out.println(resultSanta);
为什么回答中没有处理图像,没有分类器?
我做错了什么
编辑
我现在使用Curl创建了分类器,并等待它被完全训练。然后我注意到了分类器ID,现在我可以很容易地使用Java实现这一点。我现在也用了50张照片。谢谢你的帮助
处理的图像
为零,因为该服务不会向您收取使用自定义分类器的费用。该参数用于计算API调用的成本
你的代码看起来不错。我做了一些小改动并降低了阈值(默认情况下0.5
):
确保您正在发送50张圣诞老人和非圣诞老人的图像。
我发现,当我使用mac创建zip时,我会在其中获得一些额外的\uuMacox
文件。使用unzip
unzip -l <zip-file>
解压-l
我现在使用Curl创建了分类器,并等待它被完全训练。然后我注意到了分类器ID,现在我可以很容易地使用Java实现这一点。我现在也用了50张照片。谢谢你的帮助 您是否没有成功地使用Java创建自定义分类器?我现在也在尝试做同样的事情,遇到了你的问题..我想在使用curl创建分类器之后我不再尝试了。。。对不起,我没有代码了。
VisualRecognition service = new VisualRecognition(VisualRecognition.VERSION_DATE_2016_05_19);
service.setApiKey("***************");
CreateClassifierOptions classifierOptions = new CreateClassifierOptions.Builder()
.classifierName("Santa")
.addClass("Santa", new File("src/images/Santa.zip"))
.negativeExamples(new File("src/images/NotSanta.zip"))
.build();
VisualClassifier santaClassifier = service.createClassifier(classifierOptions).execute();
ClassifyImagesOptions classifyOptionsSanta = new ClassifyImagesOptions.Builder()
.classifierIds(santaClassifier.getId())
.images(new File ("src/images/lilSanta.png"))
.threshold(0.0)
.build();
VisualClassification resultSanta = service.classify(classifyOptionsSanta).execute();
System.out.println(resultSanta);
unzip -l <zip-file>