作者丨灯会
来源丨极市平台
编辑丨极市平台
本文为极市平台原创,转载须经授权并注明来源

作者灯会为21届中部985研究生,七月份将入职某互联网大厂cv算法工程师。在去年灰飞烟灭的算法求职季中,经过几十场不同公司以及不同部门的面试中积累出了CV总复习系列,此为目标检测篇。

Faster-Rcnn网络

1.faster RCNN原理介绍,要详细画出图

​ Faster R-CNN是一种两阶段(two-stage)方法,它提出的RPN网络取代了选择性搜索(Selective search)算法后使检测任务可以由神经网络端到端地完成。在结构上,Faster RCNN将特征抽取(feature extraction),候选区域提取(Region proposal提取),边框回归(bounding box regression),分类(classification)都整合在了一个网络中,使得综合性能有较大提高,在检测速度方面尤为明显。

2.RPN(Region Proposal Network)网络的作用、实现细节

RPN网络的作用: RPN专门用来提取候选框,一方面RPN耗时少,另一方面RPN可以很容易结合到Fast RCNN中,成为一个整体。

RPN网络的实现细节:一个特征图(Faster RCNN的公共Feature Map)经过sliding window处理,得到256维特征,对每个特征向量做两次全连接操作,一个得到2个分数,一个得到4个坐标{然后通过两次全连接得到结果2k个分数和4k个坐标[k指的是由锚点产生的K个框(K anchor boxes)]}

2个分数,因为RPN是提候选框,还不用判断类别,所以只要求区分是不是物体就行,那么就有两个分数,前景(物体)的分数,和背景的分数; 4个坐标是指针对原图坐标的偏移,首先一定要记住是原图;

预先设定好共有9种组合,所以k等于9,最后我们的结果是针对这9种组合的,所以有H x W x 9个结果,也就是18个分数和36个坐标。

写一下RPN的损失函数(多任务损失:二分类损失+SmoothL1损失)

训练RPN网络时,对于每个锚点我们定义了一个二分类标签(是该物体或不是)。

以下两种情况我们视锚点为了一个正样本标签时:

1.锚点和锚点们与标注之间的最高重叠矩形区域

2.或者锚点和标注的重叠区域指标(IOU)>0.7

L(pi,ti)=1Ncls∑iLcls(pi,pi∗)+λ1Nreg∑ipi∗Lreg(ti,ti∗)L\left(p_{i}, t_{i}\right)=\frac{1}{N_{c l s}} \sum_{i} L_{c l s}\left(p_{i}, p_{i}^{*}\right)+\lambda \frac{1}{N_{r e g}} \sum_{i} p_{i}^{*} L_{r e g}\left(t_{i}, t_{i}^{*}\right) L(pi​,ti​)=Ncls​1​i∑​Lcls​(pi​,pi∗​)+λNreg​1​i∑​pi∗​Lreg​(ti​,ti∗​)

RPN损失中的回归损失部分输入变量是怎么计算的?(注意回归的不是坐标和宽高,而是由它们计算得到的偏移量)

smooth⁡L1(x)={0.5x2if ∣x∣<1∣x∣−0.5otherwise \operatorname{smooth}_{L_{1}}(x)=\left\{\begin{array}{ll} 0.5 x^{2} & \text { if }|x|<1 \\ |x|-0.5 & \text { otherwise } \end{array}\right. smoothL1​​(x)={0.5x2∣x∣−0.5​ if ∣x∣<1 otherwise ​

​ ti 和 ti* 分别为网络的预测值和回归的目标

tx=(x−xa)/wa,ty=(y−ya)/ha,tw=log⁡(w/wa),th=log⁡(h/ha)tx∗=(x∗−xa)/wa,ty∗=(y∗−ya)/ha,tw∗=log⁡(w∗/wa),th∗=log⁡(h∗/ha),\begin{array}{r} t_{x}=\left(x-x_{a}\right) / w_{a}, \quad t_{y}=\left(y-y_{a}\right) / h_{a}, \quad t_{w}=\log \left(w / w_{a}\right), \quad t_{h}=\log \left(h / h_{a}\right) \\ t_{x}^{*}=\left(x^{*}-x_{a}\right) / w_{a}, \quad t_{y}^{*}=\left(y^{*}-y_{a}\right) / h_{a}, \quad t_{w}^{*}=\log \left(w^{*} / w_{a}\right), \quad t_{h}^{*}=\log \left(h^{*} / h_{a}\right), \end{array} tx​=(x−xa​)/wa​,ty​=(y−ya​)/ha​,tw​=log(w/wa​),th​=log(h/ha​)tx∗​=(x∗−xa​)/wa​,ty∗​=(y∗−ya​)/ha​,tw∗​=log(w∗/wa​),th∗​=log(h∗/ha​),​

​ 在训练RPN时需要准备好目标t*。它是通过ground-truth box(目标真实box)和anchor box(按一定规则生成的anchor box)计算得出的,代表的是ground-truth box与anchor box之间的转化关系。用这个来训练rpn,那么rpn最终学会输出一个良好的转化关系t。而这个t,是predicted box与anchor box之间的转化关系。通过这个t和anchor box,可以计算出预测框box的真实坐标。

RPN中的anchor box是怎么选取的?

滑窗的中心在原像素空间的映射点称为anchor,以此anchor为中心,生成k(paper中default k=9, 3 scales and 3 aspect ratios/不同尺寸和不同长宽比)个proposals。三个面积尺寸(1282,2562,512^2),然后在每个面积尺寸下,取三种不同的长宽比例(1:1,1:2,2:1)

为什么提出anchor box?

全文链接:CV 面试问题详解宝典–目标检测篇

推荐大家关注极市平台公众号,每天都会更新最新的计算机视觉论文解读、综述盘点、调参攻略、面试经验等干货~

一位算法工程师从30+场秋招面试中总结出的超强面经——目标检测篇(含答案)相关推荐

  1. 【深度学习】一位算法工程师从30+场秋招面试中总结出的超强面经——目标检测篇(含答案)...

    作者丨灯会 来源丨极市平台 编辑丨极市平台 导读 作者灯会为21届中部985研究生,凭借自己整理的面经,去年在腾讯优图暑期实习,七月份将入职百度cv算法工程师.在去年灰飞烟灭的算法求职季中,经过30+ ...

  2. 【深度学习】深度学习三十问!一位算法工程师经历30+场CV面试后总结的常见问题合集(含答案)...

    作者丨灯会 来源丨极市平台 编辑丨极市平台 导读 作者灯会为21届中部985研究生,凭借自己整理的面经,去年在腾讯优图暑期实习,七月份将入职百度cv算法工程师.在去年灰飞烟灭的算法求职季中,经过30+ ...

  3. 图像处理知多少?准大厂算法工程师30+场秋招后总结的面经问题详解

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨灯会 来源丨极市平台 编辑丨极市平台 极市导读 本篇主要包含了图像滤波.边缘检测相关常考内容等相 ...

  4. 深度学习三十问!一位算法工程师经历30+场CV面试后总结的常见问题合集(含答案)...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨灯会 来源丨极市平台 编辑丨极市平台 极市导读 作者灯会为21届中部985研究生,凭借自己整理的 ...

  5. 秋招面试总结:Java+并发+Spring+MySQL+分布式+Redis+算法+JVM等

    轰轰烈烈的秋招季已经开始,有人欢喜有人愁,不管你是喜是忧,学习总归是好的.这不,小编特地整理了一下秋招面试知识点+答案(JAVA岗),一起分享出来给大家看看~ 需要完整版的 知识点+答案 的朋友可以  ...

  6. 秋招面试总结:Java+并发+Spring+MySQL+分布式+Redis+算法+JVM等,太香了~

    轰轰烈烈的"金九银十"秋招季已经落幕,有人欢喜有人愁,不管你是喜是忧,学习总归是好的.这不,小编特地整理了一下秋招面试知识点+答案(JAVA岗),一起分享出来给大家看看~ 第一部分 ...

  7. 春招/秋招面试前必看一文。如何找到 BAT 的实习机会。找实习中的一些困惑,如何解决?。浅谈秋招。

    春招/秋招面试前必看一文 春节过完,不管是大三/研二.还是大四/研三,就要投入到最激烈的春招当中去了,各大公司将会正式招聘,由元旦期间拉开序幕(1 - 2 月),到彻底的进入白热化阶段(3 - 4 月 ...

  8. 春招/秋招面试前必看一文

    春节过完,不管是大三/研二.还是大四/研三,就要投入到最激烈的春招当中去了,各大公司将会正式招聘,由元旦期间拉开序幕(1 - 2 月),到彻底的进入白热化阶段(3 - 4 月),竞争是相当的激烈,谁做 ...

  9. 想必这篇秋招面试贴会帮助你

    文章目录 面试的恋爱史 一:简单介绍 二 :秋招面试之初恋 1 和面试的第一个阶段--认识 2 和面试的第二个阶段--好感期 3 和面试的第三个阶段-- 怀疑 4 和面试的第四个阶段-- 信任 5 和 ...

最新文章

  1. pe卸载win10更新补丁_Win10更新翻车!CPU使用率飙升,直接损坏SSD,勿升级
  2. Tomcat 配置 Context
  3. 关节点和重连通分量,trajan算法实现(python)
  4. [渝粤教育] 西南科技大学 交通运输经济 在线考试复习资料
  5. note同步不及时 one_续航800仅卖23万,比亚迪唐DM为啥却卖不过理想ONE?
  6. Python 列表深浅复制详解
  7. 系统同传软件_语情快递 | 手语同传AI,你见过吗?
  8. 计算机文言,中国最具有概括性的文言文文字?本人学计算机编程的
  9. 《圈圈教你玩USB》之 USB鼠标
  10. 音频文件--PCM、 WAV、 MP3及AMR格式分析
  11. DB9串口定义及含义
  12. 如何处理出差或放假在家办公加密文件打不开?
  13. export_savedmodel
  14. Scrapy实战:使用IDE工具运行爬虫
  15. 读《杀死一只知更鸟To Kill a Mocking Bird》有感
  16. 神雕侠侣手游服务器维护,《神雕侠侣》3月30日更新维护新服开启公告
  17. java socket 读取文件_java中ServerSocket读取文件流不是分行读取
  18. 合作创新,携手共赢 共筑坚实数字底座
  19. 可以EI检索的国际会议论文,对学术研究和资历积累有用吗?
  20. 使用 Metasploit 利用 OpenSSH 用户枚举漏洞 (CVE-2018-15473, CVE-2016-6210, CVE-1999-0502)

热门文章

  1. SpringBoot之Servlet、Filter、Listener配置
  2. 【centos6.5 安装 node.js + npm】
  3. 10大主流压力测试工具推荐(转载)
  4. tr的display属性出现td的colspan无效问题
  5. wall poj 1113
  6. 解决MySQL数据库作古掉以及谢绝任事的办法
  7. ajax请求目标地址,AJAX功能目标
  8. oracle 数据立方_大数据之数据仓库分层
  9. 机器人学习--粒子滤波SLAM/MCL定位参考资料+学习经验
  10. 北斗导航 | RAIM:单差载波相位完好性监测(接收机自主完好性检测)