我用6个类训练了我的数据集,它在检测不同的类时工作得很好。是否可以修改对象检测器脚本以仅检测一个指定的类,而不是所有六个类?或者我必须从头开始重新训练一个类的数据集?非常感谢您的推荐。以下是我的对象检测器脚本的绘图部分:
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)发布于 2018-06-09 19:49:11
除非您更改代码,否则您将获得所有类的概率。Ofc,您可以选择em中最高的一个。合乎道理?
发布于 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/中找到(记得用文本编辑器打开它)
发布于 2019-12-10 20:10:00
在调用可视化函数之前,添加以下代码-
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)https://stackoverflow.com/questions/50772369
复制相似问题