速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

基于改进 YOLOV3 的违禁品检测方案

  • 2022-02-22
  • 本文字数:4116 字

    阅读完需:约 14 分钟

基于改进YOLOV3的违禁品检测方案

一、背景介绍


近年来随着经济和社会的飞速发展,人们的生活节奏明显加快,地铁、车站以及机场等各种交通枢纽,每时每刻都在高速运转,将乘客安全的送达他们的目的地。现如今,这些交通枢纽早已经成为了城市中不可分割的一部分,与百姓的日常生活息息相关。


地铁作为城市发展的一项标志,也体现了城市现代化的程度,作为市内出行的首选方式,地铁每年的旅客输送数量更加庞大。日本拥有着世界上最复杂的地铁交通枢纽系统,据统计 2019 年仅日本大东京地区地铁输送旅客数量高达 136 亿人次。对于如此繁忙的交通运输系统,一旦出现安全事故,将对人们的生命和财产造成严重的威胁。


近几十年来,世界各地的交通安全事故频发,其中大部分都是由于人为原因所造成;例如 1995 年,日本东京地铁发生沙林毒气事件,直接导致 12 人死亡,5500 人受伤;2003 年,韩国大邱市发发生一起地铁纵火事件,导致 198 人死亡,147 人受伤,并对韩国的国际形象造成了极大地影响;2004 年莫斯科地铁发生一起恶性爆炸事件,共造成 40 人死亡,超过 100 人受伤;2014 年中国昆明市火车站发生了一起针对平民的恶性事件,致使 31 名平民死亡,近 200 人受伤。2016 年土耳其伊斯坦布尔阿塔图尔克国际机场 2 号航站楼发生多爆炸和枪击事件,此次恐怖袭击事件直接导致 42 人死亡,239 人受伤,机场大量基础设施受到严重损毁。


受到这些事故的影响,世界各个国家都加强了对机场、地铁、火车站等交通枢纽安全检查级别,并派出大量警力维持治安。


随着技术的不断发展,各项新型技术不断在安全检查领域中应用。基于 CT 成像的 X-Ray 安检设备目前已经大量部署于各类交通枢纽之中。X-Ray 安检设备能够对旅客的行李进行快速扫描,并且根据行李中不同材质的物体重构出相应的画面,并且能够有效的解决物体间相互的遮挡问题。随着城市的日益扩大,交通和物流也都呈现出爆发式增长的态势,X-Ray 安检仪与安检员的方式已经逐渐无法因对日益增长的客流。


长时间高强度的工作,必然会导致安检员疲惫,造成一些漏检或误检,从而产生一定的安全隐患。随着人工智能、深度学习以及深度神经网络的飞速发展,基于上述方法的计算机视觉技术正在多个领域中大量使用,如自动驾驶、无人监控、人脸识别等。


因此,将基于人工智能和计算机视觉技术的“违禁品检测技术”应用于 X-Ray 安检设备中,使用算法自动化的从 X-Ray 安检设备的成像图片可自动地判断是否包含违禁品、违禁品的位置和种类信息。然后安检员根据算法提供的信息,即可有针对性的对乘客的行李进行开箱检测;由于案件人员事先知道了违禁品的位置和种类,因此可以极大地加安检的效率。


基于人工智能的违禁品检测技术,可以 7*24 小时不间断运行;并且可用使用计算机并行技术,使用一套算法来同时监控多个 X-Ray 安检设备,既提高了违禁品的检测效率和精度,也节约了大量的人力成本。


为了解决上述问题,并结合 X-Ray 安检仪自身特点,我们提出了一个自动化从 X 光扫描图像中检测违禁品的系统。该系统使用深度学习模型,从模型设计、特征提取、自动边框回归以及模型部署等多个维度进行研究,使用准确率(Precision)、召回率(Recall)、AP 和 mAP 等多个指标分析。

二、项目难点


针对 X 光违禁品检测这一场景,经过调研和探索,发现实际中存在大量需要解决的问题,现总结如下:


1) 违禁品尺度变化大:


在所需检测的违禁品中,目标尺度变化较大;如“刀”这一类别中,既包括体积较大的“长刀”,也有体积较小的“水果刀”、“折叠刀”等。为了可以精确的检测出这种尺度变化极大的目标,需要设计的检测器具有较好的泛化性。


具体如图 1 所示,其中的“刀”的整体尺度较大,但是“枪”的尺寸相对较小。



图 1 多尺度目标


2) 检测目标长宽比差异大:


基于深度学习的目标检测算法按照 Anchor 生成的方式可以分为单阶段目标检测算法和两阶段目标检测算法。这两种类型的算法都需要预先对检测目标的长宽比进行统计,然后根据不同的比例对检测框进行设定。基于 X 光的违禁品检测中,目标的长宽比变化极大,有近似于 1:1 的“枪”等目标,也有差异化极大的“刀”等目标。


为了使模型可以很好的适用于违禁品检测这一实际应用场景,需要设定一种自适应的 Anchor 来提目标检测的精度。


图 2 显示了多种不同长宽比的检测目标,“刀”这一类别的长宽比差异较大。



图 2 长宽比例不同的目标检测物体


3) 目标重叠:


物品的形状在 X 光扫描图片中会有较严重失真,行李中物品放置的位置随机,不同的目标之间存在严重的遮挡,增加了违禁品检测和识别的难度。


图 3 是行李箱中物品相互重叠的示意图,从中可以看出有多个物品相互重叠。



图 3 物体重叠


4) 背景复杂:


X 光对不同材料的穿透性不同,因此不同的材质的物品在 X 光扫描图片中呈现出不同的颜色,但是非违禁品的材料和形状与违禁品相似时,会对算法造成严重的干扰,从而降低检测的精度。


5) 速度和精度平衡:


总的来说,深度学习模型的参数量和运算量越大,模型的特征提取能力越强,算法的检测精度越高,但是运行速度也会变慢。是适用于实际尝尽中的违禁品检测算法,需要在保证检测精度的情况下,尽可能的提升运行的速度。

三、方法设计


在本章节中,我们提出了一种基于改进 YOLO V3 的违禁品检测算法,该算法以 YOLO V3 通用目标检测算法为基础,从特征提取模型、Bounding Box 生成方式等方面进行优化。


此外,我们还将 FPN 特征融合模块、GIoU Loss 引入到训练框架中,进一步提升了模型精度。为了提升模型的运行速度,我们还引入的模型量化技术和 TensorRT 部署技术,极大地提升了模型的运行速度。


我们将所提出的算法与目前常用的目标检测算法进行对比,实验结果显示我们所提出的方法在精度和速度上都远超同类算法,在违禁品检测任务中取得了目前最好的效果。


为了验证算法的实际运行效果,我们将算法部署到嵌入式设备中,并在实际环境下进行测试,数据显示我们所提出方法的检测准确率为 99.6%,因此具有较强的实用价值。接下来,本文将从多个方面来对 YOLO V3 算法进行改进和优化。


1) 数据增广:


数据增广是深度学习中一种常用的来提升模型性能的训练手段,该方式主要是通过对图像进行一些形态学上的变换,来增强模型的泛化性,从而获得更好的训练效果。


常用的图像增广方式有:对称、平移、旋转、尺寸放缩、颜色转换、边框扰动、亮度调整以及图像模糊与混叠等。受到 CutMix 与 MixUp 数据增广方式的启发,我们将广泛应用于图像识别的 Mosaic 增广方法引入到目标检测中。


Mosaic 方式是指,我们在进行模型训练时,将多张图像进行拼接,每一张图片都有其对应的框框,拼接之后就获得一张新的图片,同时也获得这张图片对应的框框,然后我们将这样一张新的图片传入到神经网络当中去学习,相当于一下子传入四张图片进行学习了。通过这种方法我们可以无限量的增加训练样本,并且可以强迫模型去学习多尺度的目标。


此外,模型中的 BatchNorm 层可以在训练时可以见到多的训练数据,有助于网络的快速收敛。在使用 Mosaic 进行数据增广时,我们仍然可以使用标准的数据增广算法对合成的图片进行处理,进一步增加数据的多样性。使用 Mosaic 增广后的训样本如图 4 所示。



图 4 Mosaic 增广后的训练样本


2) 自适应 Anchor 增广算法:


Anchor 是目标检测算法常用的一种提绳模型检测精度的方法,在 Faster RCNN、SSD 以及 YOLO 系列等多算法中广泛使用。YOLO V3 所统计出的九种 Anchor 尺度,虽然覆盖了目标检测领域中的大部分场景,但是在我们关注的违禁品检测任务中并不适用。为了解决这一问题,我们在项目中使用了一种自适应的 Anchor 生成算法,与 YOLO V3 中使用固定 Anchor 的方式不同,我们将 Anchor 中的边缘坐标


改变为可以可以学习的参数,模型可以在训练过程中自动的对 Anchor 大小进行调整,从而获得更加恰当的 Anchor,提升模型训俩效率和检测精度。


为了解决这一问题,我们在项目中使用了一种自适应的 Anchor 生成算法,与 YOLO V3 中使用固定 Anchor 的方式不同,我们将 Anchor 中的边缘坐标改变为可以可以学习的参数,模型可以在训练过程中自动的对 Anchor 大小进行调整,从而获得更加恰当的 Anchor,提升模型训俩效率和检测精度。


3) GIoU-Loss:


目标检测算法中的 Loss 函数一直是研究人员的讨论重点,YOLO V3 在 YOLO V2 的基础上,将原来分类任务的 Softmax-Loss 转换为 BEC-Loss,增强了模型在识别中的性能。


但是在 Bounding Box 回归方面一直使用 Smooth L1-Loss,该 Loss 函数对于目标物体的尺度不敏感,但是在目标检测任务中物体的尺度多变,因此 Smooth L1-Loss 并不是一种非常恰当的函数。本文收到图像分割领域中对目标尺度特征的处理方法,引入了 GIoU Loss 作为边框回归的损失函数。具体如公式 1 所示。


四、实验分析


经过上述从数据增广方法、损失函数等方面的优化,我们开始用在真实数据集上进行实验分析,并从速度、精度、模型运算量和参数量等多个方方面进行对比。


1) 模型精度对比


在本节中,我们将所提出改进 YOLO V3 算法与原始的 YOLO V3、SSD、Faster RCNN 等常用的目标检测算法在 X-Ray 数据集上进行训练和测试,具体结果如表 1 所示。


表 1 实验对比结果:


ModelImage SizeParametersPrecisionRecallmAPFPS
SSD320 * 320191.25M0.7210.6980.695156
YOLO V2320 * 32039.81M0.7290.7120.763261
YOLO V3320 * 32034.60M0.7460.7280.765279
Faster RCNN320 *320205.15M0.7810.7930.87985
Our (tiny)320 * 32014.71M0.7410.8540.875612
Our (mid)320 * 32034.60M0.7740.8590.870383
Our (large)320 * 320177.50M0.8110.8790.899201


从表中我们可以看出,我们所提出的方法结果的无论是在精度还是速度上都远优于现有的方法。其中 tiny、mid、large 分别表示使用不同大小的特征提取网络,其中模型体积越大,实际效果越好。从检测结果来看,我们的 mid 模型在各项指标上均优于 Faster RCNN 等方法,并且在速度上是 Faster RCNN 的 4.5 倍,tiny 模型在速度上更具优势,是 Faster RCNN 的 7.2 倍。我们提出的 large 模型,与原始的 SSD 算法相比,在 mAP 这一指标上有 20.4%的提升,模型的体积更小、运行速度更快。


2) 细分类结果


我们还分别测试了不同模型在具体细分类上的表现,表 2 是 mid 模型的结果。


表 2 mid 模型细分类测试结果


ClassTargetPrecisionRecallmAPF1
All22050.7740.8590.8700.814
Knife3210.8320.8070.8470.811
Gun6560.9010.8610.9150.889
Wrench2680.6710.7290.7530.670
Pliers7460.7360.7910.8310.762
Scissors2140.7300.8420.8910.782


3) 结果展示


我们在图 5 中展示了模型的部分检测结果。从结果的展示来看,我们发现所提出的方法可以检测到大部分违禁物品。



图 5 实验结果展示

五、总结


为了将人工智能算法应用到违禁品检测领域中,我们提出了一种基于 YOLO V3 的改进的违禁品检测算法,我们通过改进和优化数据增广方式、检测框架的 Loss 函数等方法,较好的提升了模型的检测精度和运行效率。

作者介绍


沙宇洋,中科院计算所工程师,目前主要从事人脸识别以及无人驾驶等相关方向的研究和实际产品开发;


陈扬,中科苏州智能计算技术研究院,目前从事缺陷检测以及三维重建等相关方向的研究和实际产品开发。

2022-02-22 15:033295
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 539.1 次阅读, 收获喜欢 1977 次。

关注

评论

发布
暂无评论
发现更多内容

2023-07-07:给出两个字符串 str1 和 str2。 返回同时以 str1 和 str2 作为子序列的最短字符串。 如果答案不止一个,则可以返回满足条件的任意一个答案。 输入:str1 =

福大大架构师每日一题

Go 算法 rust 福大大架构师每日一题

【文件管理】Linux系统-cp命令 – 复制文件或目录

百度搜索:蓝易云

Linux centos 服务器 云服务器 ECS

Centos更新升级内核命令-以及区别.

百度搜索:蓝易云

Linux centos 云服务器

AI重塑千行百业 华为云发布盘古大模型3.0和昇腾AI云服务

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 7 月 PK 榜

数智之潮下的移动生态: AI与低代码平台的完美交融!

不在线第一只蜗牛

移动应用 低代码 数智化 AI赋能

引领AI浪潮:低代码开发平台点燃数智时代,释放人工智能的巨大潜力!

快乐非自愿限量之名

人工智能 低代码 AI赋能

给大模型持久记忆!GitHub 2万星向量数据库云服务升级,国内云产品下周上线

Zilliz

云服务 Zilliz 向量数据库 zillizcloud

阿里云AI绘画创作大模型通义万相亮相,已开启定向邀测!

新云力量

AI 2023人工智能大会 科技改变生活

代码随想录Day10 - 栈与队列(上)

jjn0703

QEMU之CPU虚拟化(一):CPU虚拟化介绍

Linux内核拾遗

虚拟化 qemu kvm

测试技术的重要性与应用:现状、方法和未来展望

天翼云开发者社区

软件测试 数据测试

OpsGPT 智能运维大语言模型业界首发

乘云数字DataBuff

APM 可观测性 AIOPS Dynatrace Datadog

华为云Astro出品《低代码开发者101问》电子书上线

华为云PaaS服务小智

云计算 低代码 华为云

低代码开发,改变数字化游戏规则

伤感汤姆布利柏

华为云CodeArts Build-云端化的编译构建平台

华为云PaaS服务小智

华为云 华为开发者大会2023

C++实现读写ini配置文件

梦笔生花

做大模型不要沉迷有趣,要解决企业问题

新云力量

AI 2023人工智能大会 科技改变生活

软件测试 | Analysis使用基础

测吧(北京)科技有限公司

测试

阿里云通义大模型家族迎来新成员,通义万相已开启定向邀测~

新云力量

AI 2023人工智能大会 科技改变生活

【文件管理】Linux系统-ls命令 – 显示指定工作目录下的文件及属性信息

百度搜索:蓝易云

Linux 服务器 云服务器 蓝易云 ls

Linux系统使用cpulimit对CPU使用率进行限制

百度搜索:蓝易云

Linux 服务器 云服务器 蓝易云

【磁盘管理】fdisk命令 – 管理磁盘分区

百度搜索:蓝易云

Linux 命令 云服务器

GeaFlow图计算快速上手之PageRank算法

TuGraphAnalytics

PageRank 图算法 图计算 图论 GeaFlow

机器学习洞察 | 降本增效,无服务器推理是怎么做到的?

亚马逊云科技 (Amazon Web Services)

机器学习

跨功能需求(CFR)/ 非功能性需求(NFR)的目标设定

码猿外

技术管理 非功能性需求 跨功能需求

千万级规模微服务稳定性技术揭秘:隔离策略

中原银行

微服务 云原生 稳定性治理

iOS打包IPA教程

雪奈椰子

🎉号外号外!OpenTiny 将在HDC华为开发者大会正式发布!

Kagol

开源 前端 OpenTiny UI组件库

一文囊括Ceph所有利器(工具)

hs_wu

云计算 分布式存储 Ceph

解决CentOS yum源失效问题.

百度搜索:蓝易云

Linux centos 云服务器 香港VPS服务器 蓝易云

软件测试 | 如何看Analysis分析图

测吧(北京)科技有限公司

测试

基于改进YOLOV3的违禁品检测方案_AI&大模型_沙宇洋_InfoQ精选文章