引 言
近些年来国家不断加强餐饮安全监管力度,多举措并进,大力保障人民舌尖上的安全。同时随着互联网餐饮服务的迅猛发展,也带来了更多的食品安全问题。对互联网餐饮服务业的监管成为了一项亟待解决的问题。为了解决这一问题,各地大力推进“名厨亮灶”工程建设。
明厨亮灶,是指餐饮服务提供者采用透明玻璃、视频等方式,向社会公众展示餐饮服务相关过程的一种形式。使餐饮企业顾客可以直观地看到后厨员工的操作是否规范,卫生是否合格,是否有一些不应该出现的物品。明厨亮灶是对餐饮企业员工的一种监督。
餐饮企业的厨房卫生状况一直饱受消费者诟病,许多宾馆饭店大厅、包间富丽堂皇,然而,厨房却往往惨不忍睹。尤其是餐厅中出现老鼠的事故,最近几年频繁发生。有媒体曾经爆料过,著名的海底捞餐厅,甚至是快餐领域的巨头肯德基和麦当劳的厨房都出现了老鼠的踪迹。随着近年来人工智能算法和算力水平大幅提升,视频分析以及目标检测场景越来越多,通过目标检测算法,AI人工智能识别逐步应用在城市治理、异常检测等场景,提升效率,使各类监管活动变得可行有效。
“明厨亮灶”工程充分运用物联网、AI图像识别、大数据等技术手段,进行全天候不间断远程监督食品加工操作过程,实现对餐饮业厨房可识别、可抓拍、可感测、可示警、可追溯的功能,助力餐饮业食品加工透明化,让全国人民的餐饮更健康、更放心。
在“明厨亮灶”的场景中,通过基于AI目标检测技术可以对监控场景中的视频图像进行分析,检测老鼠等影响卫生状况的现象,对各个食品加工场所做必要监督。本文主要针对夜视场景下老鼠目标识别进行研究。
1. 相关工作
在运动目标检测的研究中和目标识别方向,研究人员不断涌现各类研究成果。文献[1]提出了一种基于3帧差分和边缘信息的运动目标检测方法。文献[2]为提高夜视 情况下图像的准确性和真实性,利用一种基 于RoI(regionofinterest,感兴趣区域)区域子 图像奇异值分解(SVD)方法对夜视障碍物进行检测。
文献[3]提出了由卷积神经网络(CNN)与循环神经网络(RNN)相结合的深度学习模型,首先利用显著目标的时间、空间和局部约束特征来实现全局优化;然后,通过卷积神经网络提取显著目标区域以及循环神经网络捕获时间、空间和局部约束特征来检测显著性目标,从而有效地提高复杂背景下显著性目标检测的精度。
文献[4]为了解决无人机总是在不同高度巡航时物体的规模会变化剧烈, 从而给目标检测网络带来负担和运动模糊问题, 提出在 YOLOv5 的基础上增加一个预测头来探测不同尺度的物体,用自留机制( TPH) 来探索预测潜力。用脉动区块注意模型来寻找密集物体的场景的注意区域。
2. 夜间鼠患识别图像处理
2.1整体识别框架设计
“明厨亮灶”场景中,后厨老鼠识别是一个重要的识别场景。但是老鼠因为体积较小且后厨摄像头一般在角落,距离地面较远,所以目标老鼠在监控图像中所占有的面积比例过于小,对目标检测算法要求更高,通用的目标检测算法无法很好直接适配该场景;同时在对监控视频检测老鼠的场景中,实时检测对算力和成本的消耗巨大,无法对视频中的每一帧进行图像识别进行目标检测。
针对目前老鼠检测场景中存在的两个问题,本文提出了云边端结合的部署框架,将算力需求下发,节省大带宽的需求,同时对yolov5进行针对性改造,提升算法针对小目标检测的能力和效果。整体框架图如下图所示:
图 后厨老鼠检测整体流程
第一阶段由边缘计算节点接入多家后厨监控摄像头,节点基于帧差法进行差分计算,获取含有动态目标的视频图像,进行筛选后传输给云服务器。第二阶段由云服务器进行预训练算法模型推理计算后得出图像中动态目标是否为老鼠,是则由云服务器传输结果至监管服务系统。第三阶段由监管服务进行告警,同时基于历史数据,优化前端摄像头检测策略,进一步优化资源消耗,降低成本。
2.2基于帧差法进行初步视频图像筛选
夜间老鼠识别的场景具有以下特点:1)老鼠与所处的环境背景颜色相近,增加了识别难度;2)老鼠经常在无人的晚上出现,因为光照的原因,在夜视摄像头下色彩对比度低,进一步增加了识别难度;3)夜视摄像头一般固定角度安装,后厨物品相对稳定,背景固定变化少。
针对夜间老鼠识别场景的上述特点,本文采用帧差法对视频流进行处理,筛选出具有运动目标的图像,上传给云端或者边缘盒子进行运动目标识别。运动目标检测的帧差法在原理上是对视频素材的连续图像帧做差分运算,将得到的差分结果与预先定义好的阈值进行比较,若所得结果大于该阈值则,当前图像存在运动目标,当结果小于该阈值,则当前不存在运动目标。针对于运动目标检测的帧差法一般分为两帧差分和三帧差分。三帧差分,是采用连续3帧图像做差分运算,通常适用多目标、速度快的检测目的。而两帧差分直接使用相邻两帧的图像做差分,成本低、实时性高,适用于单目标检测。考虑到夜视老鼠识别的场景特点和易用性,本文采用两帧差分做为筛选目标图像的方法。
使用帧差法在实际监控视频中进行实验分析,结果如下图所示,对于小目标检测效果显著,准确率高,满足对于运动目标图像筛选的需求。通过该方法的筛选,能极大节约视频流实时上传检测的资源消耗,将大量无效视频过滤,只保留有价值的视频图像。同时可以降低后期老鼠识别错误率,提高夜视老鼠识别算法的正确性。
图 帧差法动态检测效果
此外针对于帧差法检测出的动态目标区域进行多级分割,将图像划分成多级区域,后续进行目标识别时,将识别结果与帧差法得出的兴趣区域进行比对,若识别框在区域内则为有效框,否则为无效框。该方法能进一步降低图像识别老鼠时的误检率,在生产场景中提升用户体验。如下图所示因其动态目标存在位置区域,会将最终识别区域限制在图像中的二号区域,一号区域直接补全作为无信息像素矩阵传入。
图 目标检测兴趣区域划分
2.3基于YOLOv5算法进行目标检测
在夜视老鼠目标检测的场景中,因为老鼠的体型较小,在图像中面积占比较低,大大增加了目标检测的难度。传统的图像处理方法对于识别小目标动物效果有所欠缺。本文采用YOLOv5做为基础目标检测算法,同时对该算法做夜视老鼠识别场景下的适配性优化。
YOLOv5算法是Yolo系列在工业场景下使用比较多的算法,其优异的算法性能得到广泛认可。YOLOv5主要有以下特点:
(1)在输入端增加数据增强、图片裁剪、自适应选择锚框等,增加了适配性同时降低了使用成本;
(2)在网络中借鉴其他目标检测算法的优势,融合了Focus结构与CSP结构;
(3)在Neck网络中添加了FPN+PAN结构,通过融合浅层特征和深层特征,使算法在处理不同尺寸目标时都有更好的效果;
本文结合YOLOv5的基本结构和夜视老鼠场景识别的特点,采用增加浅层特征在Neck层多进行一次上采样,通过FPN和PAN结构进行多层次特征融合,进一步优化该算法检测小目标样本的性能。修改后的网络结构如图。
图 基于YOLOv5的模型结构
3. 实验结果及分析
实验是通过收集后厨老鼠的图像素材,在现有预训练的yoloV5网络上进行再训练,通过该场景的强化,使网络参数对于后厨环境下的老鼠检测具有更高的准确率。训练过程数据如图所示。
从训练过程的统计指标可以看出在人为划分验证集时MAP远小于随机划分验证集,经过分析,在原始数据集多采集自监控摄像头,相似场景图片过多,随机划分会将部分环境因素在训练与验证集中间共享,影响模型训练。而人为划分验证集,将不同场景下的原始素材做了区分,训练集元素严格与测试集元素隔离,虽然模型训练得分较低,但是模型训练结果的泛化性能更强。
在模型训练后,通过对模型进行推理对比实验,验证通过动态识别进行识别区域划分对推理结果的影响。
图 帧差法筛选图像对误报的影响
由上图可以看出,帧差法通过动态区域进行目标区域进行筛选后,会降低环境因素影响,降低老鼠目标检测的误报率,减少服务过多人工审核的需求,提升服务客户的用户体验。
结束语
针对夜视环境小对老鼠进行目标检测应用中的背景噪声难以区分、目标体积小、算力及网络资源消耗大等问题,本文提出了一种基于帧差法结合目标检测算法进行工程化部署的思路,通过帧差法的前端过滤,大大降低了视频图像检测所带来巨大资源消耗,同时利用网格切分,降低了老鼠检测的误报率。本文提出的方法可以优化算力资源,与直接部署目标检测算法相比具有更低的成本,更好的用户体验。此外在后续的研究中,将根据夜视摄像头图像特点,尝试进行初始图像的通道分离,通过对不同通道进行不同处理,增加图像对比度,提升检测精度;模型安全上,将考虑在不影响算法部署使用的前提下引入模型水印的技术,提高模型辨识度,强化知识产权。