论文讨论&&思考《Deformable Convolutional Networks》

论文讨论&&思考《Deformable Convolutional Networks》这篇论文真是让我又爱又恨,可以说是我看过的最认真也是最多次的几篇paper之一了,首先deformableconv的思想我觉得非常好,通过end-to-end的思想来做这件事也是极其的makese

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

  这篇论文真是让我又爱又恨,可以说是我看过的最认真也是最多次的几篇paper之一了,首先deformable conv的思想我觉得非常好,通过end-to-end的思想来做这件事也是极其的make sense的,但是一直觉得哪里有问题,之前说不上来,最近想通了几点,先初步说几句,等把他们的代码跑通并且实验好自己的几个想法后可以再来聊一聊。首先我是做semantic segmentation的,所以只想说说关于这方面的问题。

 

  直接看这篇paper的话可能会觉得ji feng的这篇工作非常棒,但实际上在我看来还是噱头多一点(我完全主观的胡说八道),deformable conv是STN和DFF两篇工作的结合,前者提供了bilinear sample的思路和具体的bp,后者提供了warp的思路和方法,不过好像说的也不是很准确。。我暂时的理解是这样的:deformable conv就是把deep feature flow中的flow换成了可学习的offset。接下来分为亮点和槽点来说一说。

一、亮点

  亮点说实话还是很多的,首先解决了STN(spatial transform network)的实用性问题,因为STN是对整个feature map做transform的动作,例如学习出一个linear transform的 matrix,这个在做minist的时候当然是极其合理的,但是在真实世界中,这个动作不仅不合理而且意义不大的,因为复杂场景下的信息很多,背景也很多,那么它是怎么做的呢?

  首先我想先说一个很重要的误区,很多人以为deformable conv学习的是个deformabe 的kernel,比方说本来是一个3*3相互连接的kernel,最后变成了一个没个位置都有一个offset的kernel。实际情况并不是这样的,作者并没有对kernel学习offset,而是对feature的每个位置学习一个offset,一步一步的解释就是:首先有一个原始的feature map F,在上面做channel为18的3*3的卷积,得到channel=18的feature map F_offset,然后再对F做deformable conv并且传入offset 的值F_offset,在新得到的结果上,每个值对应原来的feature map F上是从一个3*3的kernel上计算得到的,每个值对应的F上的3*3的区域上的每个值都有x、y方向上的两个offset,这3*3*2=18的值就由刚才传入的F_offset决定。。。。貌似说的有点绕,其实理清楚关键的一点就是:学习出来的offset是channel=18并且和原 feature map一样大小的,对应的是main branch上做deformable conv时候每位置上的kernel的每个位置的offset。

 

                  论文讨论&&思考《Deformable Convolutional Networks》 

知乎上有个人说了一句我特别赞同的话:用bilinear的方法代替weight的方法,即用采样代替权重的方法。这个思维是可以发散开来做更多的工作的,这也是我觉得这篇paper最棒的地方。

二、槽点

  这个其实我今天写篇blog的重点。。。我对offset能否学习到极其的的不看好,虽然最后还要看实验的效果和实际的结果,当我想说两点。

  1、从feature的需求来看,senmantic segmentation对于feature的需求是跟detection不同的,这个问题其实jifeng Dai和kaiming的R-FCN中都提到过,然后semantic segmentation需要的feature不会过于关注什么旋转平移不变性,也就是物体的旋转平移对结果是有影响的,他们对position是care的,这个问题有时间我想再看看R-FCN讨论一发,因此这里直接用feature 通过一层卷积就可以学习到offset,我是怀疑的。

  2.上面的怀疑其实有点没道理,这次有个稍微有那么一丢丢的怀疑,bilinear sample其实是一个分段线性函数,所以逻辑上在bp的时候,你要想你的目的是让loss下降的话,就不能让你的step太大以至于超过来当前的线性区间,也就是你在当前四个点中算出来梯度,如果你更新后跳到另外四个点上来,理论上这次的gradient的更新就是错误的,loss是不一定下降的,但是话说回来,如果不跳到另外四个点,这个offset永远限制在当前四个点里面的话,也是毫无意义的。话再说回来,因为整个feature map还是smooth的,这也跟图像的性质有关,所以我们还是比较相信只要你的lr不是很大,loss还是会下降的。  

 

三、总结

  总的来说这是一篇很有意义的工作,在我看来,任何能启发之后的工作和引起人思考的工作都是很有意义的,无论它work不work,在benchmark跑的怎么样。

  还有些东西我想等实验跑完再来说说,所以待续~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166926.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月6日 上午7:46
下一篇 2022年8月6日 上午8:00


相关推荐

  • 手机游戏开发现状分析[通俗易懂]

    手机游戏开发现状分析[通俗易懂]随着近年来手机的日渐普及,手机游戏已经成为整个游戏领域发展速度最快的部分。根据英国某媒体研究公布的统计数据,今年的手机游戏市场的产值已经达到5.87亿美元,比去年年翻了一番。该公司预计到今后几年里这一市场的产值将达到目前的6倍,增至38亿美元。 我国的手机游戏在最近一年,也有了长足的发展。但是就其规模而言,还远远没有达到国外的水平。这其中原因很多,但有一点是可以肯定的,我国的手机游戏前景是光明

    2022年4月30日
    44
  • 在 Windows 上安装 DeepSeek 的完整指南

    在 Windows 上安装 DeepSeek 的完整指南

    2026年3月15日
    2
  • idea 2020 license server 激活码_通用破解码

    idea 2020 license server 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    950
  • Vue安装Vue Devtools调试工具提示 Error: Cannot find module ‘@vue-devtools/build-tools’ 解决办法

    Vue安装Vue Devtools调试工具提示 Error: Cannot find module ‘@vue-devtools/build-tools’ 解决办法我看网络上面安装 VueDevtools 调试工具的步骤几乎都是按照文章链接里的步骤进行安装 安装链接详情但是在最终执行编译命令的时候 npmrunbuild 提示如下错误 尝试了很多方法 都不能解决改问题 为了能够在谷歌浏览器上安装 vue 调试工具 通过下面步骤最终把 Vue 的调试工具安装成功 步骤一 访问该地址 vue 调试工具插件 下载 vue 调试

    2026年3月19日
    2
  • centos8下重启网卡命令_Centos8 重启网卡方法

    centos8下重启网卡命令_Centos8 重启网卡方法问题情况 1 虚机 centos8 修改为静态 ip 后 由于网卡网段变更 无法上网 2 最小化安装 没有 ifconfig3 firewalld selinux 关闭 4 ping 不通物理机根本原因 静态路由配置错误解决方案 1 linux 命令 gt ip ipaddr 查看网络配置 nmcli 查看网络配置 2 修改为 DHCP 或修改默认路由为正确的默认路由地址修改配置文件 vi etc

    2026年3月17日
    2
  • cmdping命令_cmd ping端口命令

    cmdping命令_cmd ping端口命令标题cmd-ping命令一、ping命令:通过发送Internet控制消息协议(ICMP)回响请求消息来验证与另一台TCP/IP计算机的IP级连接。相应的回响应答消息的接收情况将和往返过程的时间一起显示出来。Ping是用于检测网络连接性、可到达性和名称解析的疑难问题的主要TCP/IP命令。如果不带参数,ping将显示帮助。(ping-PacketInternet…

    2026年2月19日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号