使用Tensorflow对象检测API我发现每个检测到的对象报告的置信度超过50%。我希望在较低的分数值下看到检测结果,因为在我工作的一些图像中,许多相关目标(人和/或汽车)被遗漏。 我也想更改score_threshold值以加快NMS(根据https://becominghuman.ai/tensorflow-object-detection-api-basics-of-detection-2-2-28b348495eec)。
我正在使用" ssd_mobilenet_v1_coco_2017_11_17"模型,所以我改变了#s; ssd_mobilenet_v1_coco.config"在object_detection \ samples \ configs中:
" matched_threshold"和" unmatched_threshold"从0.5到0.3,
" score_threshold"从1e-8到0.2
以及
" iou_threshold"从0.6到0.8
然后,来自" object_detection"我运行的文件夹:
" python export_inference_graph.py --input_type image_tensor --pipeline_config_path。\ samples \ configs \ ssd_mobilenet_v1_coco.config --trained_checkpoint_prefix。\ ssd_mobilenet_v1_coco_2017_11_17 \ model.ckpt --output_directory。\ fine_tuned_model "
我得到" frozen_inference_graph.pb"。 我还可以准备相关的" frozen_inference_graph.pbtxt"我看到iou_threshold实际上从0.6变为0.8所以我想其他参数也正确地改变了。
然后我更改object_detection_tutorial.ipynb以使用新模型: 我改变 " MODEL_NAME =' ssd_mobilenet_v1_coco_2017_11_17'" 至 " MODEL_NAME =' fine_tuned_model'" 然后我一步一步地执行它,跳过"下载模型"部分。 我确实看到了与ssd_mobilenet_v1_coco_2017_11_17'因为在狗和#34; image1.jpg"我看到右边的狗周围有2个边界框,我想是由于iou_threshold值较高。 我无法检测到置信度低于50%的物体。它与测试图像无关,但更改图像时我看到许多丢失的对象。 我想我错过了一些东西,但我无法弄清楚是什么。
谢谢!
答案 0 :(得分:0)
我终于得到了我怀疑的答案。
简单地说,只需要将min_score_thresh值指定为“visualize_boxes_and_labels_on_image_array”函数的参数! :O:O:O