逸风依托边缘AI为制造型中小企业改良管理水平
图像识别在工业互联网中的应用
为帮助制造型中小企业改良管理水平,提高了生产效率,逸风近期依托边缘AI和机器视觉等技术,对某造纸厂内部的各生产要素进行实时追踪统计,并和智能读表、液位分析等技术结合应用,实现对设备器械可视化智能分析。此系统能有效利用人/车/物/环数据,并结合第三方应用管理和智能视频监控,实现作业流程可视化,帮助企业提升实时管理能力和迅速地发现物流和生产成本。本项目创造了机器视觉智能分析技术在造纸企业产业升级中的成功落地。
- 基于机器视觉的传送带安全节能解决方案采用了AI视频分析技术检测传送带产品的变化,适时调整传送带速度,实现了流水线智能控制,达到了动态节能,还可通过降速运行,延长了设备寿命。
- 采用智能视频分析技术实时检测生产过程中出现的异物,并实时报警,有效防止次品集中出现,提高了运营效率和安全保障,为无人化值守奠定了基础。
- 融合边缘智能视频分析技术和电子视频技术,建立异常行为库(产品堆积,传送带速率过高等),当有异常发生时,系统自动报警提示,实现了集中管理、分布监控的功能,所有的业务数据(数据、文字、图像、控制信号等)即可就地处理,也可通过公司局域网络,实现检查岗、监控岗、运销部门等数据信息的交互和共享。
同时该项目还构建了基于物联网的智能机器视觉软件平台,同时包括了系统集成规范和运行管理标准。逸风开发的实时视频分析算法可以设定各项检测参数,配合PLC控制逻辑程序,实现了流水线运行状况实时检测、报警、控制;减少了次品率,同时可判断流水线运行速度,训练机器学习模型估算一段时间内的产量。
对象检测和对象跟踪之间的区别
对象检测和对象跟踪之间从算法上有着本质的区别,进行对象检测时,我们需要确定对象在图像/帧中的位置。与对象跟踪算法相比,对象检测在计算上更耗费资源,因此也更慢。对象检测算法的包括Haar cascades, HOG + Linear SVM,以及基于深度学习的对象检测算法,例如Faster R-CNN,YOLO和SSD。
另一方面,对象跟踪器将接受对象在图像中的位置的输入(x,y)坐标,并且,1.为该特定对象分配唯一的ID;2.对象在视频流里移动时对其进行跟踪,并根据帧的各种属性预测下一帧中的新对象位置。对象跟踪算法的示例包括OpenCV自带的CSRT, KCF,以及MOSSE等。
结合对象检测和对象跟踪
高精度的对象跟踪器会将对象检测和对象跟踪的概念合为一个一体的算法,通常分为两个阶段:
- 检测阶段:在检测阶段,我们运行在计算上更耗时的对象跟踪器,以(1)检测是否有新对象进入视图,以及(2)查看我们是否可以找到跟丢的对象。对于每个检测到的对象,我们使用新的边界框坐标创建或更新对象跟踪器。由于目标检测器的计算量更大,因此我们每N帧只运行一次此阶段。
- 跟踪阶段:当我们不处于“检测”阶段时,我们就处在了“跟踪”阶段。对于我们检测到的每个对象,我们创建一个对象跟踪器以跟踪对象在框架中移动时的情况。我们的对象跟踪器应该比对象检测器更快,更高效。我们将继续跟踪,直到到达第N帧,然后重新运行对象检测器。重复整个过程。
这种混合方法的好处是我们可以应用高度精确的对象检测方法,而不必消耗大量的时间和计算资源。
综上,我们在程序里将状态初始化为“等待”。可能的状态包括:
- 等待中:此种状态下,我们正在等待进行对象检测和跟踪。
- 检测:我们正在积极使用YOLO来进行对象检测。
- 跟踪:正在跟踪方框中的对象,我们正在计算In和Out的数值。
我们的方框(rectangle)列表将通过检测或跟踪来填充。
结合对象和跟踪算法
为了实现我们的物体追踪计数器,我们将同时使用OpenCV和YOLO。我们将OpenCV用于标准的计算机视觉/图像处理功能,并将基于深度学习的YOLO对象检测器用于人数统计,另外使用Sort算法对物体进行追踪。
面临的挑战
在直路或空旷的地方追踪物体很容易。但现实世界中的程序需要克服很多困难,以下是我们使用对象跟踪器时遇到的一些挑战:
- 跟踪过程中对象之间的遮挡:视频中对象的遮挡是跟踪对象的最常见障碍之一。即在上一帧检测到了图片中的对象,而在下一帧中未检测到该对象。对于跟踪器来说挑战在于成功识别在较晚的帧中的同一个对象,并将其较早的轨迹和特征与他的轨迹相关联。
- 注释训练数据:构建对象跟踪器最耗时的事情是获得针对特定场景的良好训练数据。与为对象检测器建立数据集不同,我们可以拥有随机的没有顺序的图像。但在对象跟踪中,必须具有视频或帧序列,其中每个帧的对象的每个实例都必须是唯一标识的。
YOLO
与许多流行的检测模型中对多区域建议(RoI,Region of Interest)执行检测不同,YOLO仅将图像通过神经网络传递一次,并返回边界框和预测的类概率。像这样:
为此,YOLO将图像分解为一个网格,并在网格中的每个单元都测试许多可能的边界框。神经网络用于估计每个框包含一个对象的置信度,并找到该对象的类概率:
YOLO神经网络包含24个卷积层,后面是两个完全连接的层,让人联想到AlexNet的卷积体系结构:
由于原始图像分为多个单元,因此如果对象的中心落入一个单元中,则进行检测。但是,由于每个网格单元只能预测两个盒子,因此该模型不能很好的对付成组出现的小物体(例如一群鸟)。论文作者在方法局限性的部分中明确指出了这一点。
在线和实时跟踪算法(SORT)
SORT可以实时跟踪多个对象,但是该算法仅基于检测结果的坐标跨不同帧来关联已检测到的对象,SORT不需要知道我们跟踪的对象类型。它甚至不需要学习任何东西:执行关联SORT使用数学试探法,例如最大化相邻帧中边界框之间的IOU (intersection-over-union)度量。每个框都标有一个数字(对象ID),如果下一帧中没有相关的框,则算法将假定该对象已离开该框。这种方法的质量自然在很大程度上取决于对象检测的准确度。 SORT原论文的全部内容是说,对象检测算法已经取得了很大进步,以至于不必再为跟踪做任何复杂的算法,且可以通过直观的启发式方法获得较好的结果。我们将考虑用下一代SORT算法,即DeepSORT,它的设计旨在减少对象之间的切换次数,从而确保更加稳定的跟踪。
- 本文标签: OpenCV Machine Vision Machine Learning
- 版权声明: 本站原创文章,于2020年08月24日由段行健发布,转载请注明出处