flownet之序数回归

mobilenet版本的flownet效果不是很好,猜测可能是mobilenet不适合做回归任务,所以要尝试将回归任务改为分类任务。

然鹅,重点来了!暴力的改为分类任务失去了了类之间大小关系。比如,对于视差图,将0-192暴力的分为193类,groud truth是3,那么我分成4还是100对于网络来讲都是一样的,都是分错了,然而没办法区别出错误的程度。
序数回归解决的就是这个问题。(对于视差图)每一个像素由193个通道组成,每个通道为1或者0,1代表着大于这个通道对应的数。

e.g. 3对应着111000…000(190个0)。类似于one-hot。

然而光流的取值范围理论上来讲可以无限大(然鹅实际上最大也就是图片对角线那么大,不过显然这是不能接受的)。
咋办捏?
借鉴于smooth_L1(K.He Faster-RCNN),在小于某个threshold(暂定10)的时候采用线性loss,大于threshold时采用log。(threshold_log_smooth)

流程:(操作需要对output和ground truth都处理)ps:需要写在loss function中,因为要集成到CNN的学习过程里
[1]threshold_log_smooth处理;
[2]使用sigmoid函数进行二分类,选概率最大的作为分类结果;
[3]序数回归。

猜你喜欢

转载自blog.csdn.net/weixin_39354819/article/details/81334690