特征网络
输入输出
输入416∗416∗3416*416*3416∗416∗3大小的图片(不唯一,但图片大小必为32的倍数),输出3个尺度的feature map,分别为13∗13∗25513*13*25513∗13∗255,26∗26∗25526*26*25526∗26∗255,52∗52∗25552*52*25552∗52∗255,即分成13∗1313*1313∗13,26∗2626*2626∗26,52∗5252*5252∗52个grid cell.
每个grid cell生成3个anchor,每个anchor对应一个预测框,每个预测框有5+805+805+80个参数,{(x,y,w,h,c),80kindsofclass}\{(x,y,w,h,c),80 \space kinds \space of \space class\}{(x,y,w,h,c),80 kinds of class}
输出分析
(该图取自知乎博主)
13∗13∗25513*13*25513∗13∗255,26∗26∗25526*26*25526∗26∗255,52∗52∗25552*52*25552∗52∗255分别预测大,中,小物体。
13∗13∗25513*13*25513∗13∗255为下采样32倍得到的特征;
26∗26∗25526*26*25526∗26∗255为下采样16倍与13∗1313*1313∗13一次上采样结合得到的特征;
52∗52∗25552*52*25552∗52∗255为下采样8倍与26∗2626*2626∗26一次上采样结合得到的特征;
正负样本
正样本为anchor与真实框的IOU大于指定阈值,且最大IOU的anchor;
负样本为anchor与真实框IOU小于指定阈值的anchor。
损失函数
由正样本的坐标损失、置信度损失和类别损失,负样本的置信度损失构成。
λcoord∑i=0S2∑J=0B1i,jobj[(bx−bx^)2+(by−by^)2+(bw−bw^)2+(bh−bh^)2]+∑i=0S2∑J=0B1i,jobj[−log(pc)+∑i=1nBCE(ci,ci^)]+λnoobj∑i=0S2∑J=0B1i,jnoobj[−log(1−pc)]\lambda_{coord} \sum_{i=0}^{S^2}\sum_{J=0}^{B}1_{i,j}^{obj}[(b_x-\hat{b_x})^2+(b_y-\hat{b_y})^2+(b_w-\hat{b_w})^2+(b_h-\hat{b_h})^2]\\+\sum_{i=0}^{S^2}\sum_{J=0}^{B}1_{i,j}^{obj}[-log(p_c)+\sum_{i=1}^{n}BCE(c_i,\hat{c_i})]\\+\lambda_{noobj}\sum_{i=0}^{S^2}\sum_{J=0}^{B}1_{i,j}^{noobj}[-log(1-p_c)]λcoordi=0∑S2J=0∑B1i,jobj[(bx−bx^)2+(by−by^)2+(bw−bw^)2+(bh−bh^)2]+i=0∑S2J=0∑B1i,jobj[−log(pc)+i=1∑nBCE(ci,ci^)]+λnoobji=0∑S2J=0∑B1i,jnoobj[−log(1−pc)]
S2S^2S2为grid cell的总数,BBB为每一个grid cell的anchor数目。
第一行为计算正样本的坐标与真实框的坐标损失;
第二行为计算正样本的置信度和类别损失,1i,jobj1_{i,j}^{obj}1i,jobj表示是否为正样本;−log(pc)-log(p_c)−log(pc)中,若pcp_cpc越接近于1,则−log(pc)-log(p_c)−log(pc)越接近于0;类别损失中,对于检测的80类,每一个类别进行二叉熵损失运算。
第三行为负样本的置信度损失,−log(1−pc)-log(1-p_c)−log(1−pc)中pcp_cpc越接近于0,该式越小,接近于0
性能