【issue】行为检测 --- 基于目标检测

本文讨论了利用目标检测技术监控生产工序,通过对比两种动作定义方法,提出基于IoU的后处理方案。同时提到基于yolov7的实现以及MMaction2在视频处理中的局限,包括漏检误判和实时性问题。作者寻求更多改进方案以应对复杂的应用需求。
摘要由CSDN通过智能技术生成

需求

  • 检测是否完成每道工序
  • 检测完成每道工序的时间
  • 检测完成每道工序动作的标准性(没有很好的idea,未实现)

方案

 功能的实现基于目标检测。目标检测是对视频帧进行处理,因此工作重点在于如何定义动作。以“擦门”为例:

  • [法一] 在标注数据集时定义,这样很直接。标注框内包含“手”、“抹布”和“门”,label就是“clean_door”;
  • [法二] 在后处理中定义。比如以”越界“(或”IoU“)为判断依据,标注时只有单个对象—“抹布”和“门”。“抹布” 和“门”IoU由“0” —> 非“0”,开始擦门;反之擦门结束。
      实际测试结果法二的效果(就检测对象的置信度而言)会好于法一。法一要做到样本的多样性,“手”、“门“和”抹布“三个元素的组合再加上环境因素变化,多少张图片的数量级才能满足数据集的多样性不好评估;而法二中,识别单个元素,每个对象用100张以上的自建数据集就可以做demo。

 后处理可以根据需求DIY。举个例子,基于法二,工序1需要A和B两个个检测对象,工序2需要B和C两个检测对象。检测到正在实现工序1则只显示A和B框,完成工序1提示需要完成工序2(这时也可以记录时间点作为动作开始的时间,用于计算工作效率等等),此时只显示B和C的检测框。实现这样效果只需要在不同的工序通过设置flag,显示需要显示的检测框。

代码

  我手上的项目是暂时都是基于yolov7的,github上找目标检测网络很方便,就不多此一举了。

XXX

  如果下游任务只关注动作结果,上述的方案可以解决大多数问题;如果下游任务希望更多的关注过程,或者动作行为通多对单帧图片的检测不好对其进行定义(比如操作是否合规,动作是否准确)…这样的话,仅关注一张图片忽略图片中信息的连续性不行,需要加上时序信息,换而言之是对视频信息(不管是连续还是离散的)做处理。
  测试过基于MMaction2的TSN和slowfast。存在两个问题:1.demo检测的是本地视频,视频是”精心“挑选过的,所以看着效果很好,细看还是有漏检误判的情况;2. 实时性,在4070显卡上测试,从打开摄像头到出图象有10s左右的延迟,不知道问题出哪儿了(延迟的情况在基于pytorchvideo的实现中没出现)。
  这是对最近工作的小结,希望通过抛砖引玉看到更多解决方案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值