YOLO模型test计算流程
来源:互联网 发布:amf数据分析器下载 编辑:程序博客网 时间:2024/06/06 05:00
YOLO可以一次性预测多个目标框的位置和类别,其设计理念遵循端到端(原始图像输入到CNN网络中,直接输出图像中所有目标的位置和类别)训练和实时检测。
目标检测的本质实际上是回归,即建立数学模型(CNN网络结构)并计算其中的未知参数,Tiny-yolo的网络结构如下:
模型训练可以独立进行,应用中只需考虑测试过程的计算,下面主要分析对于给定的输入图片,如何计算得到目标框位置及其类别。
测试流程如下:
主要的计算量在于网络预测,YOLO网络主要用到卷积层和池化层,不同的计算层执行的计算如下:
卷积层(Conv.Layer)计算:
离散卷积的计算过程是利用卷积模板(卷积核、滤波器)在原图像上滑动,把对应位置上的元素相乘后加起来,得到最终的结果,即实现滑动-相乘-叠加的操作。
一个卷积核作用于图像,可以得到一个特征图,不同的卷积核可以提取不同的图像特征,在神经网络中,一般会利用多个卷积核充分提取图像的特征,如上图,对于416*416*3的输入图像,采用16个3*3的卷积核,可以得到16个特征图。
池化层(Pooling Layer)计算
池化层主要是对图像不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值 (或最大值)。这些概要统计特征不仅具有低得多的维度 (相比使用所有提取得到的特征),同时还会改善结果(不容易过拟合),这种聚合的操作叫做池化,根据不同的计算池化的方法,又分为平均池化(Average Poolin)和最大池化(Max Pooling)。最大池化(Max Pooling)计算如下图所示:
池化层一般位于卷积层之后。
Tiny-yolo网络模型的前几层为卷积层和池化层的交替连接,后跟三个卷积层,模型的输出即为125个13*13的特征图。filters数目(这里为125)视具体地数据集而定,对于VOC数据集,我们需要预测5个boxes,每个boxes包含5个适应度值(x,y,width,height,confidence),每个boxes预测20类别。因此,输出为125=(20+5)*5 filters。
网络模型的输出即包含了目标框的位置和类别概率信息,接下来根据网络输出信息整合数据得到一系列box,并设置阈值,滤掉得分低的boxes,最后对保留的boxes进行非极大抑制(NMS)处理,去除重复框,得到最终的检测结果。
- YOLO模型test计算流程
- YOLO检测算法训练流程
- YOLO模型 训练及预测
- darknet yolo 计算mAP,recall
- YOLO计算验证集Acc
- YOLO论文记之模型篇
- yolo模型移植到android手机端
- 【YOLO】用 Python 来计算 IOU
- YOLO
- YOLO
- YOLO
- yolo
- YOLO
- yolo
- Yolo
- YOLO
- YOLO
- yolo
- 安卓7.0的适配---uri更改和安装apk
- (笔记)第二章 :先从看到的入手-探究活动
- Linux Wireless架构总结
- NanoPi—M1(H3)———基于该平台的一个内核中的按键中断程序开发历程
- Andriod下拉刷新(适配常用样式动画)
- YOLO模型test计算流程
- php禁止客户端访问目录文件
- ubuntu无图形界面,只有壁纸
- mysql慢查询日记
- C/C++中extern关键字详解
- Linux下的SVN服务器搭建
- VC/MFC如何设置对话框背景颜色
- java多线程(3):Lock接口和Condition监视器接口使用详解
- Win_Server_2003-2016_加密勒索事件必打补丁合集