IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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

一阶段检测:
yolov1: 第一次尝试
yolov2: Anchor,Loss
yolov3: FPN
yolov4: 技巧
RetinaNet: Focal Loss
其他:ssd

yolov1:
1, 把一张图片分成S*S个cell [448*448->7*7]
如果某个物体中心落在某个cell的中心,那么这个cell负责预测这个物体。
如果多个物体的中心落在同一个cell中,就没办法。

2,每一个cell预测B个bounding box:
bounding box: x,y,w,h(center)
confidence: Pr(object)*IoU(truth, pred)
final output tensor:S*S*(5*B+C)
yolov1的S是7,B是2,C是20,5代表x,y,w,h,confidence.
S是filter size, B是bounding box个数,C是类别数,channel数是(5*B+C)。
一个物体预测多个bounding box,需要用nms算法取得最佳的bounding box。

为什么一个物体要预测多个bounding box,怕一个bounding box预测不好。

算ious的时候算w/h的时候为什么要加1,比如算w=x2-x1+1,因为数据不是在连续域,数字图像处理的问题全部对应离散域。

confidence的Pr(object)代表是不是物体,IoU是准不准的问题,confidence是网络输出的,是一个数,confidence=Pr(object)*IoU(truth, pred)是人们为了理解confidence而对它所做的解释。

损失函数:

λ c o o r d ∑ i = 0 S 2 ∑ j = 0 B 1 i , j o b j [ ( x i ? x i ^ ) 2 + ( y i ? y i ^ ) 2 ] + λ c o o r d ∑ i = 0 S 2 ∑ j = 0 B 1 i , j o b j [ ( w i ? w i ^ ) 2 + ( h i ? h i ^ ) 2 ] + ∑ i = 0 S 2 ∑ j = 0 B 1 i , j o b j ( C i ? C i ^ ) + λ n o o b j ∑ i = 0 S 2 1 i , j n o o b j ( C i ? C i ^ ) 2 ∑ i = 0 S 2 1 i o b j ∑ c ∈ c l a s s e s ( P i ( c ) ? P i ^ ( c ) ) 2 \lambda_{coord}\sum_{i=0}^{S^2}\sum_{j=0}^{B}1_{i,j}^{obj}[(x_i-x_i^{\hat{}})^2+(y_i-y_i^{\hat{}})^2]\\ +\lambda_{coord}\sum_{i=0}^{S^2}\sum_{j=0}^{B}1_{i,j}^{obj}[(\sqrt{w_i}-\sqrt{w_{i}^{\hat{}}})^2+(\sqrt{h_i}-\sqrt{h_i^{\hat{}}})^2]\\ +\sum_{i=0}^{S^2}\sum_{j=0}^{B}1_{i,j}^{obj}(C_i-C_i^{\hat{}})\\ +\lambda_{noobj}\sum_{i=0}^{S^2}1_{i,j}^{noobj}(C_i-C_i^{\hat{}})^2\\ \sum_{i=0}^{S^2}1_i^{obj}\sum_{c\in classes}(P_i(c)-P_i^{\hat{}}(c))^2 λcoord?i=0S2?j=0B?1i,jobj?[(xi??xi^?)2+(yi??yi^?)2]+λcoord?i=0S2?j=0B?1i,jobj?[(wi? ??wi^? ?)2+(hi? ??hi^? ?)2]+i=0S2?j=0B?1i,jobj?(Ci??Ci^?)+λnoobj?i=0S2?1i,jnoobj?(Ci??Ci^?)2i=0S2?1iobj?cclasses?(Pi?(c)?Pi^?(c))2
这样的方程首先看括号里的就明白许多,其次再看epsilon上下标和系数之类的东西。

坐标损失:
x,y: 预测bbox中心
w,h: 预测bbox的宽高
x ^ , y ^ x^{\hat{}},y^{\hat{}} x^,y^: 标签的bbox中心
w , h \sqrt{w}, \sqrt{h} w ?,h ?: 标签bbox的宽高
λ c o o r d \lambda_{coord} λcoord?: 5,因为有物体的cell很少,所以给的权重大一些。

第二行w,h为什么会有根号:
对于大物体和小物体是同等重要的,网络对于产生更大的loss的东西产生更多关注,对大物体特征倾斜,不会对小物体给予更多重视,bp的时候小物体学不来东西,如果不对大物体处理,那网络对于小物体的检测会非常差,加根号会抑制大小物体的比率。

1 i , j o b j , 1 i , j n o o b j 1_{i,j}^{obj},1_{i,j}^{noobj} 1i,jobj?,1i,jnoobj?存在的意义:
让不含物体的cell不参与含物体的cell的计算。
让含物体的cell不参与不含物体的cell的计算。

λ c o o r d \lambda_{coord} λcoord?存在的意义:
有物体的cell太少了,让正样本产生更多的loss,学到更多的东西,实际上是做了一个weighted loss。

为什么noobj里实际上是no object的cell标为0:
为了让结果更鲁棒。

置信度损失:
C i ^ C_{i}^{\hat{}} Ci^?: 当有物体时,是预测的bbox和标签的bbox的IoU,当没物体时为0
C i C_{i} Ci?: 网络生成的值
λ n o o b j \lambda_{noobj} λnoobj?: 0.5,因为没物体的cell太多,把权重设置小一点。

分类的损失:
一个cell只预测一个物体,这个物体由最大IoU的bbox决定,通过非极大值抑制可以获取每个物体最大IoU的bbox。

yolov1的优点:
一阶段,非常快

缺点:
对于密集的物体检测得不好,因为yolov1只有49个cell,一个cell值预测一个物体
对于小物体预测不好
对于新的宽高比的物体预测不好,比如长长的带鱼
没有BN

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-23 12:20:39  更:2021-11-23 12:21:40 
 
开发: 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 4:37:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码