边缘设备上的实时AI人员检测:选择深度学习模型

在本系列的介绍性文章中,我们讨论了为边缘设备创建DL人员检测器的简单方法,该方法是找到合适的DNN模型并编写代码以在设备上启动它。在本文中,我们将讨论现有DNN方法的利弊,并选择一个经过预训练的模型以进行进一步的实验。

我们已经提到了三种用于图像中对象检测的现代DL技术: Faster-RCNN,单发检测器(SSD)和只看一次(YOLO)。为了选择最适合我们特定目的的技术,我们应该考虑每种技术的优缺点。

Faster-RCNN使用卷积神经网络以及区域建议(Region-Proposal)”块和完全连接(FC)层。CNN是网络的第一块;它的工作是从图像中提取特征。接下来的块——区域建议网络——负责建议可能的对象位置的兴趣区域(ROI)。最后一个块——FC层——用于边界框(BB)回归和每个框的对象分类。这是Faster-RCNN算法的简单方案:

SSD方法类似于 Faster-RCNN。在CNN特征提取器之后,它包含一个Multi-Box检测器,该检测器允许在单个前向传递中进行边界框检测和对象分类。这就是为什么它被认为比Faster-RCNN更快。

YOLO技术是基于暗网(Darknet)框架。它无需在不同的位置和比例上扫描图像,而是将整个图像划分为一个单元格网格并分析每个单元格,从而对每个单元格属于某个类别的概率进行评分。这使得YOLO算法非常快。

仅考虑速度将使YOLO成为显而易见的选择。但是在做出决定之前,还有一件事要考虑——算法精度。用于对象检测的精度概念比用于对象分类的精度概念更为复杂。在这里,我们不仅必须评估分类误差,还必须评估对象边界框位置的误差。

物体检测的主要精确度是交集相交IoU)——地面真值与检测到的边界盒的交点和并集比。因为我们可以找到许多类别来定位和分类,所以均值平均精度(mAP)用于计算整个数据集的精度。通常针对IoU = 0.5评估mAP值,并将其表示为“mAP@0.5”

我们不会深入探讨物体检测精度的测量理论。我们仅以mAP@0.5来比较三种竞争的DL方法:该值越高,模型越精确。

Internet上搜索各种Faster-RCNNSSDYOLO模型的精度值——您会发现很多截然不同的结果。这是因为每种检测方法都有许多预训练的DNN模型。例如,SSD技术可以使用不同的CNN模型进行特征提取,并且可以使用不同的数据集训练这些模型中的每一个:ImageNetCOCOVOC等。

与所有现有模型的精度指标进行完整比较并不是我们的目标。我们使用相同的数据集对这三种方法进行了测试,结果表明,使用Faster-RCNN方法可以获得最佳的精度,使用SSD模型可以达到较低的精度,而使用YOLO网络则可以达到最低的精度。

看来,物体检测方法越快,其提供的精度就越低。因此,我们选择快乐的介质——SSD模型,该模型可以提供足够的速度和足够的精度。

接下来,我们寻找一种现成的SSD模型,该模型应为:

  1. 足够小,可以在有限的计算资源上在Raspberry Pi上运行
  2. 经过训练可以检测人(模型也可以检测其他类别的对象——但其人为检测准确性对我们正在创建的应用程序很重要)

我们找到了两种合适的SSD型号。第一个基于MobileNet CNN,第二个使用预训练的SqueezeNet作为特征提取器。两种模型都使用COCO数据集进行了训练,并且可以检测二十种不同类别的物体,包括人、汽车、狗和其他物体。每个型号的大小约为20 MB,与用于高性能处理器的型号的普通大小200-500 MB相比非常小。因此,这两个看起来像是实现我们目的的正确选择。

下一步

接下来的文章中,我们将展示Python代码用于启动这些模型和图像中检测人类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值