【问题标题】:How to only detect humans in object detection API Tensorflow如何在对象检测 API Tensorflow 中只检测人类
【发布时间】:2019-04-16 08:15:57
【问题描述】:

我正在使用tensorflow 对象检测 API 来检测对象。它在我的 Windows 系统中运行良好。如何对其进行更改以仅检测提及的对象,例如,我只想检测人类而不是所有对象。

根据answer 中的第一条评论,我检查了可视化文件,但没有找到与对象类别相关的任何内容。然后我查看了category_util.py,发现有一个csv 文件正在加载所有类别,但在项目中没有找到这个csv 文件。谁能指出我正确的方向。谢谢

【问题讨论】:

    标签: tensorflow object-detection-api


    【解决方案1】:

    根据您的问题,我假设您没有自己微调模型,而只是使用了来自 model zoo!? 的预训练模型?

    在这种情况下,我认为模型已经检测到人类和其他物体,而您希望这些其他物体消失!?为此,您只需通过删除所有不需要的类来更改您的label_map.pbtxt。如果您不确定在哪里可以找到此文件,请查看您的 .config 文件并搜索 label_map_path="PATH"

    【讨论】:

    • 对不起,我忘了提到,是的,我使用的是预训练模型 ssd_mobilenet_v1_coco_11_06_2017,我已经修改了 mscoco_label_map.pbtxt 并删除了所有对象,它只有 person。在使用 API 进行测试时,对于 cartrucks 等其他对象,它会显示带有标签 NA 的边界框。我如何才能删除它,以便它只显示person 的边界框而不显示任何其他对象。谢谢
    • 您是否修改了配置文件中的num_classes 参数?
    • objection_detection_tutorial.py我有NUM_CLASSES = 90,我必须将它设置为1吗?是否还有其他文件需要我进行更改。
    • 是的,尝试将其设置为 1。
    • 谢谢。我终于做到了。我正在提取 ID 为 1 的所有类,因为它是人的 ID,基于分数,所以如果分数小于 50%,我将忽略该 ID。这样我只检测人。为了删除边界框,我修改了visualization_utils.py,我忽略了所有的边界框,只为人显示框。最后,我还会根据分数和班级计算检测到的人数。
    猜你喜欢
    • 2019-03-05
    • 1970-01-01
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多