董亮,李梦希
(1.中冶京诚工程技术有限公司;2.云南滇中新区嵩昆路建设指挥部)
【关键字】综合管廊;机器视觉;目标检测;深度学习
在综合管廊建设中,除需解决设计和施工难题,以及新工艺、新设备、新材料的应用外,为保证综合管廊的可靠运行,需建立以智慧化平台为核心,配套高标准的设备及标准化的运营维护手段,以实现综合管廊百年工程的安全、经济、高效的运营。中冶京诚综合管廊智慧管控平台的建设充分吸收国内外的先进技术及运维经验,采用可靠、稳定的硬件设备和软件程序,实现对管廊内静态设施和动态设备的管理以及移动生物的检测,保障设备、管线、人员安全,达到维护综合管廊的正常运行和事故应急处置等目标。
如果把我们人类的眼睛看作摄像头,那么给一个5岁的婴儿训练物品记忆,他可以识别出来这个独立的物品并把它记住,当你下次再给他时,他能告诉你那是什么。即使是在一个杂乱的屋子里他也可以在凌乱的物品堆里找到那个物品。相对于机器来说人类拥有立体视觉可以将图像分层次远近的识别出来,同时拥有无限的记忆可能,机器是相通的,我们通过对机器的训练,使他可以在有限的空间里面发现对它有用的目标,例如维护工人的工具箱、擅自闯入的成年人、不慎坠入管廊的小动物等等。
为了模仿人类的视觉,科学家将视觉感知分为了四个不同的类型:
①分类,为图像指定一个标签;
②定位,对特定的标签指定一个边框;
③检测,在图像中找到所有物品并分别绘制边框;
④分割,得到物体在图像中的精确位置。
实际上物体检测在管廊应用中只要能够在图像中找到所有标定的物体并对危险物体进行报警就已经足够了,如果有需求可以将物体在边框中单独分割出来进行它用。
物体检测在管廊中解决了很多问题,这里概括说一下,本篇论文不包含功能实现,仅提供方法。
1)入侵物体检测
当图像中出现并不属于本图像中的物体时对它进行识别,比如入侵者、动物、工具箱、梯子等并发出警告;
2)遗失物体检测
当本属于图像中的物体从本图像中消失时发出警告信息,比如原本安装在墙壁上的仪表不见了,这时候要发出警告;
3)物体位移检测
当图像中某个位置的物体移动到了其它位置时发出警告信息,比如电话机的话筒本应挂在电话机上的但是被粗心的工作人员放到桥架上并没有挂断,这时候发出警告;
计算物体数目,物体检测是计算物体数目最有效的方法之一,在管廊中通过它计算进入管廊的人数及管廊中现有人数,也可应用到仓库管理中;
4)物体类型检测
当图像中出现某些危险类型的物体时进行报警,例如在燃气舱出现乙炔罐等可产生明火的物体;
5)物体尺寸检测
通过摄像头可以计算出物体的大小,例如不慎坠入管廊内的小狗有多大,这些信息可供工作人员参考准备工具,如果是只藏獒工作人员可以考虑报警;
物体相互作用,当图像中某两个物体挤压或碰撞在一起进行警告,例如工作人员倚靠电缆桥架等危险接触;
6)物体跟踪监测
获取在不同时间所在的位置进行跟踪,并计算他的速度,例如巡检机器人是否按既定路线进行工作的。
目前在世界上有很多用于物体检测的模型库,每一个都有它的特点,都非常的实用,经过各种权衡我们采用了YOLO(You only look once),后面将介绍如何通过YOLO进行可视化检测。
深度学习的工作流程有6个基本步骤,分了三部分,分别是:收集训练集、训练模型、预测新图像。
1)收集图像
首先是收集物体图像,虽然不是越多越好,但是也要尽量的多,为每个对象收集百张进行训练不嫌多。对象的图像要全面,不同的面不同的角度都要有,另外应为是应用于地下管廊的,因此这些对象的图像最好尽量都是在管廊不同的环境下进行捕获的,未来在进行识别的时候准确性更高。
2)注释
接下来需要在图像上进行绘制边界的工作,这个工作比较耗时,可以通过labelImg等类似工具进行注释。
1)预训练
目前在互联网上可以找到很多已经训练好的模型,比如人、狗、猫等常见物体,以此来节省你的工作消耗。
2)在GPU上训练
可以在互联网上找到一些模型训练的服务器,这样会使训练更简单。
1)通过摄像头捕获图像
在管廊应用中捕获摄像头图像的方法有很多,这里就不在阐述了,无论是RTSP还是RTMP获取图像的方法都类似。
2)预测图像
预测图像有多种方式,简单来说管廊应用到以下方式:
单图片检测:./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg
多图片检测:./darknet detect cfg/yolo.cfg yolo.weights
如果想单独对某个摄像头进行实时检测,则需要借助opencv库来实现,这样虽然可以对摄像头每一帧的图像都进行识别,但是势必会影像效率,所以如果需要可以考虑获取摄像头影像时进行跳帧获取,比如12FPS。
地下综合管廊作为城市的生命线,它的安全至关重要!物体检测只是众多提高管廊安全手段中的一个,安全也涉及很多方面,对人的、对物、对本体结构等等。