开发者学堂课程【高校精品课-华中科技大学 -智能媒体计算:镜头边界检测(中)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/811/detail/15699
镜头边界检测(中)
内容介绍
一、镜头边界检测方法
二、基于手工特征的镜头边界检测方法
一、镜头边界检测方法
镜头边界检测方法可分为两种类型,一种是基于手工特征的镜头边界检测方法,另一种是基于深度学习的镜头边界检测方法。手工特征是人针对特定对象构造的特征,主要是相对于机器学习特征而来的。
基于手工特征的镜头边界检测方法,包括基于像素( Pixel-Based )特征,基于直方图( Histogram-Based )特征,基于边缘( Edge-Based )特征,基于变换( Transform-Based )的特征,基于运动( Motion-Based )特征。
基于深度学习的镜头边界检测方法,是构造一个深度特征提取的模型,用不同的渐变类型来训练这个模型,训练是为了调整好模型参数,然后用训练好的模型去检测特定的边界。
二、基于手工特征的镜头边界检测方法
基于手工特征的镜头边界检测方法,一般流程的第一步是特征提取(视觉内容表示),第二步是相似性度量(连续信号的构造),还是要找帧间差,第三步是根据帧间差分类(连续信号分类),从而识别镜头变换的类型。
1.基于像素特征
先看第一种就是基于像素的镜头边界检测方法,它是计算相邻两帧的像素差的总和,若超过特定的阈值,则视为有镜头变换发生。计算公式如下:
大家想一想,两幅画面分别对应手举起来和手放下,手部位置的像素对应值是有差别的,但它并没有发生镜头的切变。该方法的缺点是对物体或相机的运动很敏感,而实际上手并没有离开画面,则需要去除位置的信息,可以通过用平滑滤波器对像素点的相邻点计算平均值,以此替代该像素点的值。
它的特点是计算方法与像素的位置密切相关;图像差别的计算对噪声和物体运动十分敏感;在镜头边界识别中,如果单纯采用基于像素的方法,容易造成误识。
2.基于直方图特征
比如说,它有一个运动矢量,但实际上它并没有发生镜头变化,这时可以装入一像素的均值,或者使用不考虑位置变化的方法,叫做基于直方图的方法,可以是颜色直方图或者是亮度直方图,直方图的意思是统计画面里所出现特定的颜色数量,比如说整个画面里面的颜色或者是亮度把它分成若干个,然后统计各个颜色的个数。
即假设相邻两帧图像 Ii 和 Ij 的直方图为 Hi 和 Hj ,则颜色直方差为(如图):
对于 RGB 图像,颜色由不同亮度的 R (红)、 G (绿)、 B (蓝)组成,可根据下面的公式进行计算:
直方图的特点是它没有位置信息,相对于基于像素的方法,它的抗干扰能力大幅提升。它丢失了颜色的位置信息,存在两幅图像,内容完全不同,但直方图相似。
这个情况在镜头边界里样出现的概率是很小的,因此基于直方图的方法用在镜头边界的检测上是没有问题的。有时仅用简单的颜色直方图匹配也容易造成误识别,可以通过分块直方图改进,将图像划分成若干子块,分别对各子块进行匹配,然后分别统计块内的直方图,块内跟位置无关,而不同的块又表明了相应的位置。
可以对物体运动、镜头缩放等情况有更好的适应性,同时也解决了完全失去位置造成的极个别情况的混淆。
看一下检测结果对比(如图),第一幅图是完全基于像素的检测方法,它有很多的峰值,但实际上没有这么多的镜头变换。
第二个是通过直方图直方差所求。第三个是直方差中的 p ,一开始 p 的取值是1,后来取值改成2,效果明显有所提升了。
一个差值取平方之后,会变得更小,而一个大的峰值拾取平方后会更大,这样可以使得分类的效果更明显。