• 以detectron2了解maskrcnn实现源码(1)--双线性插值


    前前言

    按理说,应该先理清maskrcnn的整体脉络的。可是因为太多技术细节没理清。所以,就按着学习节奏,学到哪写到哪,最后再来个总结串起来。

    前言

    双线性插值在maskrcnn中用于RoiAlign过程中。
    本质作用:用来实现特征的压缩提取。
    其实,它真的很简单。原理简单,公式也简单。
    
    • 1
    • 2
    • 3

    正文

    举例场景:将一个2x2的特征汇聚成一个。

    常规的取平均值、最大值。这些办法都没有考虑到权重。
    RoiAlign中对于区域中心点来说,周围的像素点的权重就不一样。当然,此处不打算涉及RoiAlign,对它不了解也没事。反正就假设,现在要将一个2x2网格分布的4个特征汇聚成一个特征。

    双线性插值
    网上随便找了张图。我们将四个特征定义为:Q11、Q12、Q21、Q22。P就是采样点位置。
    P的位置对应不同的权重情况,就是说:实际场景中,提取特征时,4个特征的权重大小是通过P的位置来体现的。RoiAlign就是对其最直观的体现。
    为何能通过位置来体现呢?因为可以用P点离某个特征的距离远近来表示该特征的权重大小。
    此点不理解的话,下篇看了RoiAlign就理解了。

    既然用距离远近来代表权重大小,那也就是离某个特征越近那这个特征权重越大。你想呐,汇聚像素特征的时候,自然就该离哪个像素近就受其影响大,其权重就高。
    那我们现在将问题简化下,现在是二维的,因为图像是二维码的嘛。那我们先假设现在是提取一维的特征。比如:在Q11,Q21这条一维的横线上,提取R1点的特征。那R1取值时,Q11和Q21的权重与其R1的距离成反比。则有公式如下:

    R1 = Q11*(x2-x)/(x2-x1) + Q21*(x1-x)/(x2-x1)
    
    • 1

    其实,就是一条横线上的Q11和Q21,自身的值乘以自身权重再相加。而权重和距离成反比,所以此处用的x1,x2这边坐标轴来计算距离比值。
    R1已经计算出来,同理:R2也可计算出来。再同理,R1、R2、P此时处于一条一维竖线上了,就可以再次取值。
    所以,顾名思义,双线性插值。就是:P和周围4个点,不在一个维度不好插,那就先把那4个点拍成2个点,这2个点和P在一个维度,然后就好插了。也就是做了两轮线性插值。
    不管,双线性插值在数学上如何理解,但在cv上这样理解就足够了。
    其本质就是为了–让周围的像素点根据各自权重来发言。以免max取值那种一言堂,或者均值法那种绝对皿煮。

  • 相关阅读:
    Android:代码混淆概念整理
    HTML+CSS大作业 格林蛋糕(7个页面) 餐饮美食网页设计与实现
    EdgeView 4.3.6(Mac看图软件)
    【电子通识】USB3.0和USB2.0有什么区别?
    背靠TON公链的Notcoin游戏项目,能否杀出GameFi的红海?
    Java基础—循环栅栏CyclicBarrier
    什么是父子组件通信,一秒看懂emit
    springboot+vue上传图片
    Qt + FFmpeg 搭建 Windows 开发环境
    如何动态实现搜索框下方展示历史搜索记录?
  • 原文地址:https://blog.csdn.net/OHRadiance/article/details/125486471