首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IBM视觉识别:创建分类器

IBM视觉识别:创建分类器
EN

Stack Overflow用户
提问于 2016-06-21 08:42:04
回答 2查看 346关注 0票数 3

我已经针对IBMs预先配置的分类器对图像进行了分类。

现在,我尝试创建并使用自己的分类器(称为“圣诞老人”)来识别圣诞老人的图像:

代码语言:javascript
复制
    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);

但我得到的答案是:

代码语言:javascript
复制
{
  "images_processed": 0,
  "images": [
    {
      "classifiers": [],
      "image": "lilSanta.png"
    }
  ]
}

为什么没有图像处理,答案中没有分类器?我做错了什么?

编辑

我现在用Curl创建了分类器,等待它得到充分的训练。然后我注意到了分类器-ID,现在我可以很容易地使用Java了。我现在还用了50张照片。谢谢你的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-04 08:11:03

我现在用Curl创建了分类器,等待它得到充分的训练。然后我注意到了分类器-ID,现在我可以很容易地使用Java了。我现在还用了50张照片。谢谢你的帮助!

票数 0
EN

Stack Overflow用户

发布于 2016-06-21 19:20:27

images_processed为零,因为服务不会因为使用自定义分类器而向您收费。该参数用于计算API调用将花费多少。

你的代码看起来没问题。我做了一些小改动并降低了阈值(默认情况下是0.5):

代码语言:javascript
复制
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);

确保你发送了50张圣诞老人和非圣诞老人的照片。我发现当我使用mac创建zip时,我会得到一些额外的__MACOX文件。使用unzip检查zip文件

代码语言:javascript
复制
unzip -l <zip-file>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37939511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档