| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> yolov1大体步骤 -> 正文阅读 |
|
[人工智能]yolov1大体步骤 |
1、输入图像2、将图像送入卷积神经网络中进行特征提取---得到特征图(前面是一些vgg的操作,就是来得到特征图) 3、对特征图进行操作,输出想要的形状(后面几个是对特征图简单操作一下,然后进行全连接,最后reshape成(7*7*30)) 这个有过解释,这个7*7*30本身没有意义,是作者赋予它意义,引导网络,按着作者的意思来进行。 这个7*7就是作者将图片划分成7*7的区域,共有49个网格,每个网格产生2个框,这2个框预测同一个类别,voc数据集是20类,每个框有(c,x,y,w,h)五个参数,所以每个网格有30个参数,所以通道数就是30。 4、将标签变换成一致的形状,进行损失的计算(自定义的损失函数一般也继承于pytorch的类,因为得到的损失,也要进行梯度计算,相当于通过框架来进行的一些计算,可以自动的求梯度) 4.1---标签变成与网络输出一致的形状,首先要确定网络输出的形状。网络输出的通道数30中,其中20是类别,另外2个c是置信度,还有2组的(x,y,w,h),其实这里直接写成(x,y,w,h)也可以,就是中心点坐标和宽高,但是这样的话没有一个范围,不便于优化,所以,最好是让这4个值是在0-1之间,那么很自然的想到进行归一化,把w和h都除以宽高,这时候w和h都是在0-1之间了。而对于x和y来说,替换成px和py,px,py是该中心点坐标在这个网格中的相对位置,取值范围也是0-1。所以,这个时候的(x,y,w,h)被替换成了(px,py,w/W,h/H)。替换后的这4个值,范围都在0-1之间。 (1)其实预测出来的几个值,没有限制,随便是谁都行,只要可以把这个框给描绘出来。 (2)这样的px和py,也就是,预测出来的中心点,一定在这个网格里,(因为作者希望的是每个网格只负责寻找中心落在当前网格内的bbox,而不是希望每个网格都寻找全局范围内的bbox) ?4.2---确定标签的形状?标签也需要转换成一个7*7*30的矩阵,其中通道中的每一个数的含义,都需要和网络输出中的对应上。 1、初始化一个全零的7*7*30的矩阵。 2、计算真实框在哪个网格中(i,j) 3、将真实框的(x,y,w,h)转换成(px,py,w/W,h/H) 4、将第(i,j)网格的前10个通道设置为( px,py,w/W,h/H ,1, px,py,w/W,h/H ,1),置信度设置为1 5、将第(i,j)网格的后20个通道设置为(0,0,0,,,1,,,0,0,0) ---------- 损失函数部分,可以分为3个部分,第一个部分,就是框的坐标误差;第二个部分,就是框的置信度误差;第三个部分,就是框的类别误差。 前提:以图片中只有一个目标为例。 标签中,只有第(i,j)这个网格的位置,通道数的30个数有值,其他的位置都没有数值。 预测图中,所有的网格位置,每个网格的通道数的30个数,都是有值的。 所以,第一个部分,框的坐标误差中,只计算第(i,j)这个网格位置,也就是只计算有真实框存在的这个网格,这个第(i,j)这个网格,预测出来的会有2个框,取iou最大的那个来计算坐标误差。 (说白了,如果样本标签提供了多少个真实bbox,那么该样本的网络输出只有同样数量的bbox会进行bbox的定位误差计算,这些bbox就是真实bbox中心所在的网格中,预测的2个bbox中,与真实bbox的iou更大的那个bbox,会产生bbox定位误差的损失。) 同样,第三部分,框的类别误差,也是计算第(i,j)这个网格位置。 最后,第二部分,框的置信度误差,计算所有的网格。置信度这个位置,计算不是(i,j)的那些网格的时候,前面需要加一个系数,论文中的 λ 是用来调整各部分损失权重的系数。网络预测的98个bbox中,只有少数几个会产生bbox的定位误差,而其他所有的bbox都是产生另一部分的误差,如果不调整损失权重的话,很可能导致网络对bbox的位置信息预测效果很差。所以,作者设置 λ = 5。 ? ? ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 16:36:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |