部署可扩展的目标检测管道:推理过程(上)

部署可扩展的目标检测管道:推理过程(上)

基于YOLOv3的目标检测推理过程的所有代码都可以在eriklindernoren/PyTorch-YOLOv3 GitHub repo找到。                                                                                                     

为了进行审查,使用了完整版的YOLO配置文件。它包含有关网络,卷积层,三个YOLO检测层以及其它层及其属性的信息。使用PyTorch来解析配置文件并应用模型定义来实现网络。YOLOv3检测层默认情况下启用了CUDA。来自NGC软件中心的PyTorch CUDA提供了GPU优化的容器,并预先配置了cuDNN之类的库,以利用多个支持CUDA的处理器。

接下来,为YOLOv3-416加载了预训练的偏差和权重文件,该文件连接了层之间的节点。卷积层使用可训练的参数,其中包括内核权重和偏差。权重指定为3D张量,带有行,列和通道的数量。在整个网络中使用零填充来保持图像的尺寸。输入层不包含任何可训练的参数,因为它包含数据。而且,快捷方式和路由层没有权重,因为它们不执行任何卷积。

卷积层的可训练参数的数量由以下公式确定:

权重+偏见
输入x输出+偏差
如果最后一层很密集,则输入=节点数
如果最后一层是conv,则输入=过滤器数
输出=(过滤器数量)x(过滤器尺寸)
偏差=过滤器数量

输出层可训练的参数数由以下公式确定:

权重+偏见
输入x输出+偏差
输入=图像宽度x图像高度x过滤器数量
因为它是一个密集层,所以输出=节点数
偏差=节点数

网络通过称为网络卷积层内核步幅的因子对图像进行下采样。输入416 x 416时,将以13 x 13的步幅(步幅32),26 x 26的步幅16和52 x 52的步幅8进行检测。在每个尺度上,每个像元都使用三个锚点预测三个边界框(规模不同),总共有9个锚点。

基于预测概率的权重与边界框相关联-随后,将检测阈值某个值,以仅查看高评分检测。最后,非最大抑制(NMS)用于删除多个检测,以为每个检测到的目标选择一个边界框,以生成合并的推理图像输出。

 

1.推理过程。

推理输出

 

 

 2.原始的1280 x 720图像。

 

 

 3.比例尺为1的大型物体。

 

 

 4.以比例2检测到的中等物体。

 

 

 5.规模为3的较小物体被检测到。

 

 

 6.合并到推理图像中的预测边界框。

推理性能指标

目标检测推理过程负责执行图像分类和定位。每个图像可以具有用于分类和定位的不同类别的多个目标。检测到的目标类别包括汽车,卡车,公共汽车,行人和交通灯。目标检测性能指标用作量化评估推理对图像分类,定位和目标检测任务的执行程度的度量。

 

 7.汽车(单个目标)的图像分类。

 

图8:图像本地化(边界框)

 

 

 图9:目标检测(汽车,行人,交通信号灯)

 图7和8显示了单个目标。图9显示了多个目标。

评估图像分类

对图像进行分类是一个难题,而准确的分类则更加困难。对于预注释,力求在速度和图像分类精度之间取得平衡。在本节中,术语图像目标可互换使用。

图像分类的任务是为给定图像预测单个标签(或具有置信度的标签分布)。图像是从0到255的整数的3D数组,大小是宽度x高度x3。三个代表颜色通道:红色,绿色和蓝色。

以下是对影响图像推理速度和准确性的图像进行分类时,所面临的挑战的已知列表。在数据集中遇到了这些。另外,还提到了YOLOv3中包含的适用于应对这些挑战的技术和技巧。重要的是要注意,许多贡献来自许多先前的研究工作。深度卷积网络的分类可能是最具影响力的研究论文之一,其中包括其它著名的研究成果:

视点变化

目标的方向可能会因相机传感器的位置而异。

 

 10.左侧汽车的前视图。

 

 

 11:汽车的侧视图

 

  12:汽车的后视图

12:汽车的后视图

YOLOv3每幅图像的误报率(FPPI)随视点而变化。这取决于相机传感器的位置和视场(FOV)的影响。在某些情况下,较大的FFPI归因于从单个前置摄像头捕获的图像。

规模变化

目标的大小通常会变化(现实世界中的大小,不仅限于图像的大小)。

 

 13.大型汽车。

 

 

 14:中等规模的汽车

 

 

 15:小型汽车。

YOLOv3可以从检测大型物体到小型物体三个方面进行预测,尽管它在检测远距离较小的物体方面并不可靠。

失真

许多感兴趣的目标不是刚体。在极端情况下,它们可能以极端方式变形。

 

 16.人走。

 

 

 17:人员停止行走。

 

 

 18:等待行人过路。

 

由于YOLOv3是具有众所周知几何形状的刚性物体,因此在预测汽车,卡车,公共汽车和交通信号灯时更准确。但是,由于行人不是刚体,并且具有各种姿势和变形,因此有更好的网络结构可以使行人检测更加准确。

posted @ 2020-12-27 11:42  吴建明wujianming  阅读(107)  评论(0编辑  收藏  举报