部署可扩展的目标检测管道:推理过程(上)
基于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中包含的适用于应对这些挑战的技术和技巧。重要的是要注意,许多贡献来自许多先前的研究工作。深度卷积网络的分类可能是最具影响力的研究论文之一,其中包括其它著名的研究成果:
• 2014年–用于大规模图像识别的超深度卷积神经网络
• 2015年–进一步发展卷积
• 2015年–用于图像识别的深度残差训练
视点变化
目标的方向可能会因相机传感器的位置而异。

• 图10.左侧汽车的前视图。

• 图11:汽车的侧视图

• 图12:汽车的后视图
YOLOv3每幅图像的误报率(FPPI)随视点而变化。这取决于相机传感器的位置和视场(FOV)的影响。在某些情况下,较大的FFPI归因于从单个前置摄像头捕获的图像。
规模变化
目标的大小通常会变化(现实世界中的大小,不仅限于图像的大小)。

• 图13.大型汽车。

• 图14:中等规模的汽车。

• 图15:小型汽车。
YOLOv3可以从检测大型物体到小型物体三个方面进行预测,尽管它在检测远距离较小的物体方面并不可靠。
失真
许多感兴趣的目标不是刚体。在极端情况下,它们可能以极端方式变形。

• 图16.人走。

• 图17:人员停止行走。

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

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

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

    部署可扩展的目标检测管道:推理过程(下) 融合 感兴趣的目标可以被遮挡.有时只能看到目标的一小部分(少至几个像素). • 图19.车辆和交通信号灯被遮挡. • 图20:阻塞了总线. • 图21:左侧的 ...

  2. 深度学习的目标检测通览(上)

    近年来,深度学习模型逐渐取代传统机器视觉方法而成为目标检测领域的主流算法,本系列文章将回顾早期的经典工作,并对较新的趋势做一个全景式的介绍,帮助读者对这一领域建立基本的认识.(营长注:因本文篇幅较长, ...

  3. Yolo:实时目标检测实战(上)

    Yolo:实时目标检测实战(上) YOLO:Real-Time Object Detection 你只看一次(YOLO)是一个最先进的实时物体检测系统.在帕斯卡泰坦X上,它以每秒30帧的速度处理图像, ...

  4. 【读点论文】PP-PicoDet: A Better Real-Time Object Detector on Mobile Devices,一种可在边缘设备上部署的深度学习目标检测

    PP-PicoDet: A Better Real-Time Object Detector on Mobile Devices https://github.com/ChanChiChoi/awes ...

  5. 英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

    主讲人 | 何琨 英伟达 量子位编辑 | 公众号 QbitAI 3月26日,英伟达图像处理系列公开课第三期线上开播,来自NVIDIA开发者社区的何琨老师,与数百位开发者共同探讨了: 利用NVIDIA迁 ...

  6. 20、NanoDet训练、测试 以及使用ncnn部署Jetson Nano 进行目标检测和串口数据转发

    基本思想:最近想尝试一下nano 上部署nanodet,于是记录一下训练过程,手中有一份labelme标注的数据集,于是开始了一波操作~ 首先进行划分数据集分为训练集和验证集 31.TensorFlo ...

  7. 用PaddleDetection做一个完整的目标检测项目(上)

    文章转载自:微信公众号:飞桨PaddlePaddle的微信文章 原文章中由于排版问题,导致文字遮挡,不便阅读,因此对文章格式稍作更改,增加了一些关键词加粗,便于后续阅读. PaddleDetectio ...

  8. opencv基础:adaboost+haar目标检测技术(上)

    Adaboost级联分类器经典运用案例:人脸识别 #include <opencv2/opencv.hpp> #define CV_COLOR_RED cv::Scalar(0, 0, 2 ...

  9. 目标检测——COCO数据集上SOTA模型的学习笔记

    1 GitHub上SOTA模型(By 2020.04.22) GitHub上目前开源的SOTA模型是YOLOv5x6-TTA,:

最新文章

  1. Hivr:基于BCH的社交应用
  2. 如何退出终端中的“git status”列表?
  3. SAP FI常用事务码
  4. java 算法 排序算法_Java七种排序算法以及实现
  5. dos命令在vba中应用
  6. mysql 实时性能_Mysql 实时查看性能
  7. PHP Lumen Laravel 解决validate方法自定义message无效的问题
  8. Java基础篇之如何使用try和catch
  9. 2017商业科技市场预测:云计算改变行业的十大关键发展
  10. TP5 使用redis
  11. Qt学习之路(一):动态添加/删除控件
  12. 遗传算法原理及应用三(遗传算法高级实现)
  13. 测试用例-----遥控器
  14. 计算机金钱符号怎么打,电脑键盘上怎么打钱的符号
  15. MKS Robin nano V3.0主板使用RRF 固件教程
  16. mac php pear pecl,mac 安装 pecl pear
  17. 定期进行磁盘碎片整理是对计算机系统进行,电脑需要定期对磁盘进行碎片整理吗?整理有什么好处?...
  18. 这可能是最全的天气Api接口 (可在小程序中使用)
  19. VSS2005的下载地址是:
  20. 计算机网络思科平台第五章测验答案

热门文章

  1. Access to XMLHttpRequest at file from origin ‘null‘ has been blocked by CORS policy谷歌浏览器本地打开项目js文件报错
  2. 恭喜你发现了宝藏,编程习惯-日积月累
  3. 将jar包部署在docker上,将jar包打成镜像,使用docker部署jar包
  4. 2022-2028年中国机制砂石行业投资分析及前景预测报告
  5. 2022-2028年中国在线旅行预订市场投资分析及前景预测报告
  6. Linux shell 学习笔记(11)— 理解输入和输出(标准输入、输出、错误以及临时重定向和永久重定向)
  7. 批量梯度下降(BGD)、随机梯度下降(SGD)以及小批量梯度下降(MBGD)的理解
  8. 激光雷达和V2X技术
  9. [C] Bellman-Ford边松弛:解决负权边
  10. mysql链接数据库properties_mysql 之通过配置文件链接数据库