Title: A Fast Intra CU Size Decision Algorithm Based on Canny operator and svm classifier
题目:一种基于Canny算子和SVM分类器的快速帧内编码块划分方法
来源:2018ICIP,HIT,C Sun.et al
HEVC帧内编码主要分为块划分和模式判决两个过程,前者通过递归四叉树得到,后者需要穷35种模式,十分耗时,针对块划分过程,本文提出了改进的canny边缘检测算子和svm结合的块划分加速算法。
motivation
从下面的CU划分例子中,不难发现纹理的复杂度貌似和CU划分深度正相关,图片越平滑的部分,块的尺寸就越大,反之越少。
contour based CU partition termination algorithm
基于上面的猜想,本文提出了基于轮廓的CU划分终止算法框架:
基本的处理流程如下:
- 遍历所有像素点,基于改进canny算子标记轮廓点;
- 将当前CU中的边缘点数目和svm得到的阈值比较
- 如果边缘点数目大于阈值,说明该CU比较复杂,应当继续划分;
- 如果边缘点数目小于阈值,说明CU比较平滑,应该停止划分
- 如果划分后最小尺寸小于8*8,则停止本次划分
下面依次介绍算法中出现的改进canny算子和svm的设置
改进canny算子
传统canny算子的详细描述略过,其存在两个问题:
- 阈值是预设的(preset),不适合动态的视频内容
- 非极大值抑制容易造成边缘断裂,而且额外引入了计算量,因为对于块划分来说,我们关注的是纹理信息,而不是轮廓是否完美,取消非极大值抑制并不影响结论;
传统canny检测算子为避免非极大值抑制造成的轮廓断续,往往会采用双门限阈值的方法。
基于此,本文提出的改进canny算子的步骤:
- 高斯滤波;
- 计算每个像素的梯度幅值和角度(?)
- 将幅值大于20的点设置为0(?)
- 将孤立点设置为0
第三步和第四步取代了传统非极大值抑制的过程,本文称其为 isolated point suppression process,由于取消了非极大值抑制,canny算子的复杂度降低了20%左右。
实验对比
两个双门限的传统canny检测算子和本文改进的canny检测算子的效果图:
可见,取消非极大值抑制果然造成了边缘线的模糊,但是将三者的划分结果和最优结果(遍历得到)相比,本文的方法的正确率是最高的:
SVM based CU partition method
SVM可以用来判断当前CU是否是平滑的,以此决定是否要终止划分。
我们采用线上和线下结合的方式进行训练,为了最大化训练效果,SVM分类器会使用group of intra pictures第一张图片进行on-line training,当然如果第一张图片的信息太少,不足以训练,则会使用off-line training的SVM分类器。
SVM的特征:1. contour_ratio,当前CU中的边缘点的平均数量;2. 相邻(左上、上、左)的CU的加权平均RD_loss
c
o
n
t
o
u
r
_
r
a
t
i
o
=
c
o
n
t
o
u
r
_
s
u
m
p
i
x
e
l
_
s
u
m
contour\_ratio=\frac{contour\_sum}{pixel\_sum}
contour_ratio=pixel_sumcontour_sum? contour_sum:当前CU中的轮廓点数量,pixel_sum:当前CU的总像素数
R
D
_
r
a
t
i
o
=
∑
i
=
1
3
w
i
R
D
i
p
i
x
e
l
_
s
u
m
RD\_ratio=\sum_{i=1}^{3}w_i\frac{RD_i}{pixel\_sum}
RD_ratio=i=1∑3?wi?pixel_sumRDi?? 其中,权重系数是自适应得到的,其应该正比于临近块和当前块的相关系数,反比于当前块的contour_ratio(contour_ratio越大,则说明当前CU越不smooth,即与临近块的差别就越大,权重系数就越小),因而得到经验公式:
w
i
=
e
?
∣
c
o
n
t
o
u
r
_
r
a
t
i
o
c
u
r
r
e
n
t
?
c
o
n
t
o
u
r
_
r
a
t
i
o
n
i
∣
∑
i
=
1
3
e
?
∣
c
o
n
t
o
u
r
_
r
a
t
i
o
c
u
r
r
e
n
t
?
c
o
n
t
o
u
r
_
r
a
t
i
o
n
i
∣
w_i=\frac{e^{-|contour\_ratio_{current}-contour\_ration_{i}|}}{\sum_{i=1}^3e^{-|contour\_ratio_{current}-contour\_ration_{i}|}}
wi?=∑i=13?e?∣contour_ratiocurrent??contour_rationi?∣e?∣contour_ratiocurrent??contour_rationi?∣? 特征选择的合理性
通过做实验,发现将contour_ratio和RD_ratio结合起来的效果是最好的,能够使hit_rate达到90%以上,实验中的五类视频素材为(2K,1080p,WVGA,QWVGA,720p)
Experiment
其中canny算子花费了总时间的0.6%,SVM训练和测试耗费了总时间的0.8%.
summary
本文为什么效果这么好,作者提出了两点可能的原因,1. canny算子是定制化的,即使用isolated suppression代替了极大值抑制;2. 本文的方法是up-to-down的,在SVM的帮助下直接决定CU划分方式。
评价
这篇文章还有很大的问题,canny算子的threshold为什么取20,尤其是第三步很难理解,怀疑是作者写反了; 而且svm和canny算子的结合较为生硬,尤其是svm部分的公式较为感性,没有严格推导,仅能从单调性上证明公式没有问题。
可以借鉴的点就是作者将划分标准和纹理复杂度结合在一起,并想到了canny边缘检测的方式统计轮廓点,以此作为判决是否平滑的重要标准,svm的特征选择也较为巧妙,临近块的RD_loss的权重正好能够使用contour_ratio自适应地得到。
,并想到了canny边缘检测的方式统计轮廓点,以此作为判决是否平滑的重要标准,svm的特征选择也较为巧妙,临近块的RD_loss的权重正好能够使用contour_ratio自适应地得到。
|