| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> yolov3的正负样本分配策略mmdet代码详解 -> 正文阅读 |
|
[人工智能]yolov3的正负样本分配策略mmdet代码详解 |
以mmdet代码为例,核心代码在YOLOANchorGenerator,GridAssigner,PseudoSampler,YOLOBBoxCoder中,正负样本分配在GridAssigner 输入是neck后,即fpn后的值,(8,512,19,19),(8,256,38,38),(8,128,76,76),8是bs,输出是模型预测(8,21,19,19),(8,21,38,38),(8,21,76,76),这里的21=3*7,3是anchor,7=4+1+2,4是xywh,1是边界框置信度,2是类别。 1.生成yolo中的anchor。AnchorGenerator.grid_prior 基于特征图上的0,0坐标点生成anchor,每个网格的左上角坐标都有三组anchor,映射回原图,一共有19*19*3,38*38*3,76*76*3=22743个anchor。 2.YOLOAnchorGenerator.responsible_flags 计算gt的中心所在的网格,yolo是中心点落在哪个网格,哪个网格的anchor负责预测gt。三张特征图上都计算中心点落在网格上的索引。 3.GridAssigner.assign gt bbox和所有的anchor计算iou,gt bbox:15,4,anchor:22743,4 3.1 将最大iou小于0.5的iou索引置为0,将没有gt bbox中心位置的anchor iou强制设置为最小值为-1, 3.2.gt bbox中心落在A网格,但是最大iou对应的anchor不再A,在B,不允许出现这种情况,yolo是强制落在网格处才负责训练,用responsible_flags找索引,对于所有anchor中的每个位置,如果该位置和gt bbox的iou大于阈值,并且gt bbox中心点落在对应的anchor,iou大于阈值才会匹配,任何一个网格中心都有3个anchor,如果3个anchor的iou都大于阈值,都有可能匹配, 3.3 遍历每个gt,判断和它iou最大的anchor,大于0,保证每个gt一定有anchor匹配。 4.PseudoSampler.sample pos_inds,neg_inds 5.YOLOBBoxCoder.encode gt bbox的中心点和wh,anchor的中心点和wh,xywh编码,但是编码都是在stride的特征图上。其实预测的就是编码值。 6.loss |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/26 15:48:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |