查看原文
其他

如何助力工业生产安全?工人违规作业监测技术方案“大揭秘”

点击左上方蓝字关注我们



当下,人工智能已逐渐成为引领新一轮科技革命和产业变革的战略性技术。各行各业都在积极探索如何应用AI实现智能化升级。作为我国国民经济支柱产业的工业制造也不例外。面对复杂的制造现场环境,如何高效低成本地实现对违规行为的监测,保证人员安全?9月29日,在AIIA2020人工智能开发者大会百度产业AI技术应用公开课上,上海音智达信息技术有限公司高级数据科学家林潇进行了《生产安全:工人违规作业监测技术方案》为主题的演讲。

(图示:上海音智达信息技术有限公司
高级数据科学家林潇发表演讲)

以下为演讲实录:


工厂违规行为监测场景

的业务痛点




我是来自上海音智达的数据科学家林潇,我们主要从事包括机器学习和生物学习产业落地的AI工作,应该算是最接地气或者跟业务结合最深的AI开发者。今天我给大家分享的主题是工业违规行为监测场景应用。在工业制造现场,人员安全及行为规范有比较明确、或者非常严格的规定,例如在清扫化学药品时是否穿戴防护服、操作设备时动作是否规范、在岗或者离岗的状态监测是否为疲劳工作。

大家可以想像到的主要解决方案可能就是人盯眼看,现在也许是巡视员检查;或安装监控摄像头(但人还是要盯着设备看)。在现场,实际上很难形成有效的监测规则,因为现场业务环境对业务规则要求比较多变,在这种情况下直接使用摄像头监控并不能达到很好的效果,同时也会让监测人员非常疲劳。

市场上现有的解决方案主要有两种,一种是以智能硬件为主的硬件设备,这种方案可能没有办法满足定制化的场景,因为每个工厂或者每个车间现场的环境及规则都不太一样;第二种方式是比较通用的AI能力平台,或者是AutoML平台,这种平台需要业务方或厂商有一定技术背景、技术能力,从这两点看来,目前在业务现场没有办法进行很好的落地。


工厂违规行为监测场景

与技术选型




先和大家介绍一个业务场景,大致可分为三类。第一类是穿戴监测场景,即在净化间里面监测是否戴口罩、戴面罩或穿防护服等防护用具;第二类是离岗和到岗监测,主要判断指定人员有没有在指定岗位上,或者指定人员是不是离岗超过一定时间等类似场景;第三类是疲劳监测判断。因为时间关系,没有办法对每个场景、对它的技术理解一一展开介绍,但可以提炼出这五个场景中共同的难点。

首先是有标注的数据量比较少,因为不太希望在开发项目或者开发模型时,打断他们原有的作业流程,所以我们获取到初期的标注数据比较少;第二是运动导致的模糊,会给数据的质量带来一定影响;第三是颜色比较相近的问题,例如服装以及背景、操作的目标、化学药品桶等等,可能颜色比较相近就会对我们造成一定的干扰;第四是业务规则很多是定性的,不太好去做一个量化的指标;第五是因为摄像头覆盖范围比较广,可能会产生一些小目标监测问题;最后是违规发生时间不太容易确定,因为这里面涉及到规则触发的问题。

针对以上几个共性问题,我们在设计架构上主要从三个方面考虑。一是可扩展性,作为试点项目,当前每个场景仅有一个摄像头,应考虑后期接入更多摄像头的可拓展性,针对这一点要求每个场景模块需要进行独立开发,并有一个单独管理的功能;第二是考虑到配置问题,希望能够进行集中配置,在开发时使用配置文件进行业务参数和规则条件的集中配置和管理;第三是与其他模型集成的能力,在违规事件的记录出来之后,实际上是需要被类似于大屏显示系统等其他系统进行消费的。

(图示:智能视觉系统整体架构)

系统组成上,主要分为四个层级,最下面是硬件层,这里涉及到GPU服务器,还有网络接入的硬件;再往上是操作系统层,主要是一些GPU支持组件;在这上面最主要的AI框架层中,使用了百度PaddleDetection预训练模型,最上面就是算法的一个应用。

(图示:智能视觉系统组成)

在数据层面比较重要的是考虑到数据闭环,待数据采集后进行标注时会有两个循环,一个是数据标注、检查修改到模型训练形成小的循环,主要用于改善数据标注质量;另一个是循环标注及模型训练、上线试运行、结果分析到Bad case收集,主要为了提升模型数量,刚开始数据收集的数量并不是特别够。


深度学习与业务规则结合




第二部分是算法设计部分。从整体思路来看,把违规检测的问题分解成单帧图像物体检测问题与聚合到时间纬度的规则判断问题。首先,我们使用的基础模型是YOLOv3增强版,考虑到实时性要求及GPU显存要求,这五个场景跑在同一个GPU上面,GPU显存并不是特别大;第二点是规则引擎,首先考虑涉及违规规则定义,将业务规则转换成单帧物体检测的规则,如用边框的overlapping作接触判断,其次是单帧图像违规规则判断,当前这一帧是否产生违规行为,最后就是特定的时间窗口里面判断是否产生违规行为,以防止模型在一两帧里面做出误判;最后考虑希望快速开发出基准模型,在试运行的时候收集Bad case进行多次迭代优化。

首先很快速的进行Baseline的构建,我们技术路线在Baseline用的是比较主流,或者说是很直接的想法,通过物体检测之后进行接触判断,再应用我们的业务规则,最后得到一个违规事件的记录,快速建立Baseline。重点是对Baseline的结果进行分析之后做的一些优化措施,主要在这四个场景里面做了比较多的优化措施,比如口罩检测这块,把口罩检测分为人脸检测和口罩检测两个任务来进行,还有在净化间穿戴检测时由于运动产生模糊问题进行数据分析工作,类似情况就是在分析问题时着眼于Bad case进行有针对性的分析和有针对性的优化措施。

(图示:算法方案优化措施)


最佳实践与下一步




现在,总结一下这个项目并看看后续工作情况。第一点我觉得方法论是最重要的,在项目开发当中第一步是对问题进行定义跟分析、图像的预先处理等常规的处理,最重要的是要快速建立起基准模型,这个基准模型的结果可能并不一定很好,但首先流程上要完整,把整个模型开发流程都给打通。其次是性能迭代环节,这里面会考虑是不是做一些数据增广,还有对超参数据调节等等。

(图示:最佳实践方法论)

最后分享下另外几个经验,第一点是在现场安全场景的业务规则当中,我们可以把问题转换成计算机视觉的任务和逻辑规则相结合的技术需求;第二,在数据收集或者数据准备上要考虑到数据闭环的思想应用,主要在质量和数量上面都需要进行不断迭代的优化。考虑到场景规则的多样还有多变问题,我们一般要进行规则和参数的集中配置,以及算法模块尽量降低耦合程度。还有就是使用PaddleDetection提供的模型库,预训练模型能够快速帮我们建立起来Baseline,而PaddleDetection则提供了很多适用于工业部署的API,大大加速了我们部署上面的时间,谢谢大家。

课程回放链接:
https://aistudio.baidu.com/aistudio/education/group/info/1561

如在使用过程中有问题,可加入飞桨官方QQ群进行交流:1108045677。

如果您想详细了解更多PaddleDetection的相关内容,请参阅以下文档。


·飞桨官网地址·
https://www.paddlepaddle.org.cn/

·PaddleDetection开源框架项目地址·
GitHub: 
https://github.com/PaddlePaddle/PaddleDetection 
Gitee: 
https://gitee.com/paddlepaddle/PaddleDetection



扫描二维码 | 关注我们微信号 : PaddleOpenSource



点击下方“阅读原文”进入AI快车道全国巡回报名页面
↓↓↓

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存