您的位置:首页 > 其它

Yolo-lite:实时的适用于移动设备的目标检测算法(比ssd和mobilenet更快)

2018-11-24 10:31 281 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/ghw15221836342/article/details/84423087


YOLO-LITE: A Real-Time Object Detection Algorithm Optimized for Non-GPU Computers

论文:Yolo-lite paper

项目:Yolo-lite

摘要:

  作者提出了一种可以应用于便携式设备中运行的实时的目标检测算法,例如:手机或者没有gpu的笔记本.在PASCAL VOC和coco数据集上的map是33.81%和12.26%比ssd和mobilenet-v1训练的模型更快,目的就是为了得到更小,更快,更高效的模型.

引言:

  近年来,目标检测算法在计算机视觉领域中有着广泛的应用,是一个十分热门的领域,包括人脸识别、面部检测、姿态估计等其他应用。目标检测就是预测对象的位置,通过给定的边界框,并对框内目标进行分类。随着技术的发展,检测的精度和准确性不再是主要的因素和技术指标,例如自动驾驶汽车。需要实时监测车辆周边的实时环境,高效快捷算法是关键。目前,最先进的自动驾驶中使用的算法严重依赖昂贵的雷达和深度传感器,计算也需要大量的GPU,这增加了计算成本。建立更高更深的神经网络,提升算法的准确性成为一种趋势,但是对于现实生活中的运用并没有帮助,相反则需要提升自己的计算成本去运行。R-CNN和YOLO算法已经实现了很高的平均精确度,但是在没有Gpu的电脑上的FPS却十分感人。因此,作者打算采用一种轻量化的目标检测算法能够运行在移动设备中。

图1 YOLO-LITE目标检测效果图

 

相关概念:

A.R-CNN

     基于区域的卷积神经网络,采用选择性搜索的算法对于输入的图片进行区域选取,生成几千个区域,并将生成的区域放入卷积神经网络中去进行特征向量的提取,最后采用SVM对与特征向量进行评估.虽然精度高,但是需要昂贵的GPU以及漫长的训练时间,实际应用的效果不好.

B.YOLO

  YOLO=you only look once.创建一个可以同时实现边框预测和分类的算法.首先,输入的图像被分成了s×s的网格,每个网格中都有一个边界框,每个框格都有一个置信度分数。对象存在于每个边界框的概率是:C = P r (Object) ∗ IOUpred,IOU就是交并比,预测边界框和实际物体重叠区域的比值Iou=(AnB)/(AUB),理想的IOU=1

图2 交并比

 

在确定边界框的同时,每个网格还对区域进行分类
 

YOLO采用的损失函数如下;

 损失函数用来校正中心和预测的边界框. 每个图像分为一个S×S网格,每个网格有一个边界框。 bx并且通过变量指的是每个预测的中心,而bw和bh指的是边界框尺寸。 λcoord和.coordλnoobj变量用于增加对框的重视对象,并降低对没有对象的框的重视。 C是指置信度,p(c)是指分类预测。 如果对象在单元格i中则为1,否则为0。 损失表示模型的性能,损失较低表明性能更高。虽然损失函数用来衡量模型的性能,但是在目标检测中由模型作出的预测的准确性可以通过平均精确度来表示:

这里的P(k)是指阈值k的精度,而Δr(k)是指召回的变化。 

Yolo-lite结构

我们与YOLO-LITE的目标是开发一种架在a上至少可以运行~10帧/秒(FPS)PASCAL上的mAP为30%的非GPU供电计算VOC这个目标是通过查看该状态来确定的。艺术并创造一个合理的基准来达到。 YOLO-LITE为对象检测领域提供了两个主要贡献:
1)展示浅网络的能力
  快速非GPU对象检测应用程序。
2)建议不需要批量标准化
事实上,整体上放慢了速度网络的速度。有些作品专注于创作原始卷积层或修剪方法以便缩小网络规模,YOLO-LITE专注于服用
已存在的东西,并将其推向极限的准确性和速度。此外,YOLO-LITE专注于速度和速度不是网络的整体物理尺寸和重量。实验以敏捷的心态进行。运用以Tiny-YOLOv2为起点,不同层次重新移动并添加然后培训Pascal VOC 2007&2012年约10-12小时。所有迭代都使用了与Tiny-YOLOv2相同的最后一层。这一层负责将要素图分割为SxS网格以进行预测边界框。然后在验证上测试试验一套Pascal 2007来计算mAP.对于架构的发展,因为它的体积小允许更快的培训。 表现最好的模型是用作下一轮迭代的平台。虽然有一个重点是试图直觉提高mAP和FPS,很难找到好的指标。从一开始,就假设FLOPS计数与FPS相关; 事实证明这是事实。 然而,添加更多过滤器,使过滤器更大,并添加更多层不容易转化为改进的mAP。

A.设置
Darknet,用于开发YOLO的框架被使用
训练和测试模型。 培训是在a
Alienware Aura R7,配备Intel i7 CPU和Nvidia 1070
GPU。 每秒测试帧数是在戴尔上完成的
XPS 13笔记本电脑,使用Darkflow的现场演示示例脚本。

B. PASCAL VOC和COCO数据集
YOLO-LITE在两个数据集上进行了训练。 模型是首先使用PASCAL VOC 2007和
2012 。 它包含20个类,大约5,000个训练数据集中的图像。性能最高的PASCAL VOC培训模型
然后再对第二个数据集COCO 2014 [19]进行了再训练,包含80个课程,约40,000个培训
图片。 图3显示了一些带对象的示例图像从COCO数据集中获取的分段。

两个数据集中的训练集图片总数和种类

 C.速度和精度指标
表III揭示了什么是成功的,什么是不成功的在开发YOLO-LITE时。 报告的损失表III,不是mAP的良好指标。 虽然损失很大
表示低mAP之间没有确切的关系二。 这是由于公式3中列出的损失没有完全由mAP定义,而是组合不同的功能。 训练时间,在结合时进行随着时代的数量,是FPS的一个非常好的指标从试验3,6等看,FLOPS计数也很好指标,但考虑到FLOPS计数没有考虑到考虑批次所需的计算和时间正常化,它没有在时代考虑那么训练速率。试验4,5,8和10表明,添加更多层和过滤器与改进之间没有明确的关系准确性。

 D.图像大小
在将试验2与Tiny-YOLOv2进行比较时确定将输入图像大小减半可以超过网络速度加倍(6.94 FPS对2.4 FPS)但会也会影响mAP(30.24%对40.48%)。 减少输入图像大小意味着较少的图像通过网络。 这允许网络更精简,但也意味着有些数据丢失了。 为了我们的目的,我们确定最好是加快mAP的速度。

E批量标准化

BN可以用来加快培训时间,提高网络的准确度,但是很多研究表明,没有bn的网络可以提升运行速度.

F修剪

修剪是基于它们削减某些权重的想法重要性。 已经证明了一种简单的修剪方法删除任何低于某个阈值的东西都可以减少
Alexnet中的参数数量为9×和VGGnet13×对精度影响不大.也有人建议修剪权重和霍夫曼编码的量化可以很大缩小网络规模,并将网络速度提高3倍或4次(Alexnet,VGGnet)。修剪YOLO-LITE显示没有任何改善准确性或速度。 结果并不奇怪 YOLO-LITE主要由con构成卷积层。 这解释了缺乏结果。

结果(与其他的快速目标检测算法比较)

当谈到实时物体检测算法时非GPU设备,YOLO-LITE的竞争非常激烈。 YOLO的小型架构,这是起点对于YOLO-LITE有一些最快的物体检测算法。 虽然它们比更大的更快YOLO架构,它们几乎不能在非GPU上实时运行电脑(~2.4 FPS)。Google有一个具有模型的对象检测API有几个轻量级架构的选。 最多令人印象深刻的是SSD Mobilenet V1。 这种架构时在非GPU笔记本电脑上的5.8 FPS,mAP为21%。MobileNet使用深度可分离卷积,如反对YOLO的方法,为实时减轻模型物体检测。 深度可分离卷积的想法结合深度卷积和逐点卷积。然后,深度卷积在每个通道上应用一个滤波器逐点卷积应用1x1卷积。 这个技术旨在减轻模型,同时保持相同每个卷积中学到的信息量。 这些想法MobileNet中的深度卷积可能解释了SSD MobileNet COCO的mAP结果更高。

 

 表VIII显示了YOLO-LITE如何比较。YOLO-LITE比SSD快3.6倍,比Tiny-YOLOV2快8.8倍。

结论:

YOLO-LITE实现了实现物体检测的目标到非GPU电脑。 此外,YOLO-LITE提供以下服务,对物体检测领域的贡献。 首先,YOLO-LITE表明,浅层网络具有巨大的潜力用于轻量级实时对象检测网络。运行在非GPU计算机上21 FPS是非常有希望的
这么小的系统。 YOLO-LITE表明了批量标准化的使用应该受到质疑来到较小的浅网络。 在这个领域的运动轻量级实时对象检测是最后的前沿使对象检测在日常实例中可用。

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: