首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在tensorflow对象检测中只检测一个指定的类,而不是所有的类?

如何在tensorflow对象检测中只检测一个指定的类,而不是所有的类?
EN

Stack Overflow用户
提问于 2018-06-09 16:31:04
回答 4查看 1.5K关注 0票数 1

我用6个类训练了我的数据集,它在检测不同的类时工作得很好。是否可以修改对象检测器脚本以仅检测一个指定的类,而不是所有六个类?或者我必须从头开始重新训练一个类的数据集?非常感谢您的推荐。以下是我的对象检测器脚本的绘图部分:

代码语言:javascript
复制
vis_util.visualize_boxes_and_labels_on_image_array(
image,
np.squeeze(boxes),
np.squeeze(classes).astype(np.int32),
np.squeeze(scores),
category_index,
use_normalized_coordinates=True,
line_thickness=1,
agnostic_mode=False,
groundtruth_box_visualization_color='black',
skip_scores=False,
skip_labels=False,
min_score_thresh=0.80)
EN

回答 4

Stack Overflow用户

发布于 2018-06-09 19:49:11

除非您更改代码,否则您将获得所有类的概率。Ofc,您可以选择em中最高的一个。合乎道理?

票数 0
EN

Stack Overflow用户

发布于 2019-02-01 21:46:30

这可能不是解决此问题的最佳解决方案,但您可以尝试复制label_map.pbtxt-file (一个要更改,另一个用于安全保护),并删除其中一个标签中除您感兴趣的标签以外的所有标签。

然后,您可以将min_score_thresh降低到0.1或更低(或者根本不修改此参数),并且只检测您保存在labelmap.pbtxt文件中的一个标签。

如果您使用的是GitHub的对象检测API,那么mscoco_label_map.pbtxt文件可以在models-master/research/ Object _object/data/中找到(记得用文本编辑器打开它)

票数 0
EN

Stack Overflow用户

发布于 2019-12-10 20:10:00

在调用可视化函数之前,添加以下代码-

代码语言:javascript
复制
objectOfInterest = 1  # Interested object class number as per label file 
box = np.asarray(boxes)
cls = np.asarray(classes).astype(np.int32)
scr = np.asarray(scores)
bl = (cls == objectOfInterest) 
classes = np.extract(boolar,cls)
scores = np.extract(boolar,scr)
boxes = np.extract(boolar,box)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50772369

复制
相关文章

相似问题

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