镜头边界检测(中)| 学习笔记

简介: 快速学习镜头边界检测(中),介绍了镜头边界检测(中)系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【高校精品课-华中科技大学 -智能媒体计算镜头边界检测(中)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/811/detail/15699


镜头边界检测(中)


内容介绍

一、镜头边界检测方法

二、基于手工特征的镜头边界检测方法


一、镜头边界检测方法

镜头边界检测方法可分为两种类型,一种是基于手工特征的镜头边界检测方法,另一种是基于深度学习的镜头边界检测方法。手工特征是人针对特定对象构造的特征,主要是相对于机器学习特征而来的。

基于手工特征的镜头边界检测方法,包括基于像素( Pixel-Based )特征,基于直方图( Histogram-Based )特征,基于边缘( Edge-Based )特征,基于变换( Transform-Based )的特征,基于运动( Motion-Based )特征。

图片17.png

基于深度学习的镜头边界检测方法,是构造一个深度特征提取的模型,用不同的渐变类型来训练这个模型,训练是为了调整好模型参数,然后用训练好的模型去检测特定的边界。

 

二、基于手工特征的镜头边界检测方法

基于手工特征的镜头边界检测方法,一般流程的第一步是特征提取(视觉内容表示),第二步是相似性度量(连续信号的构造),还是要找帧间差,第三步是根据帧间差分类(连续信号分类),从而识别镜头变换的类型。

图片18.png

1.基于像素特征

先看第一种就是基于像素的镜头边界检测方法,它是计算相邻两帧的像素差的总和,若超过特定的阈值,则视为有镜头变换发生。计算公式如下:

图片19.png

大家想一想,两幅画面分别对应手举起来和手放下,手部位置的像素对应值是有差别的,但它并没有发生镜头的切变。该方法的缺点是对物体或相机的运动很敏感,而实际上手并没有离开画面,则需要去除位置的信息,可以通过用平滑滤波器对像素点的相邻点计算平均值,以此替代该像素点的值。

它的特点是计算方法与像素的位置密切相关;图像差别的计算对噪声和物体运动十分敏感;在镜头边界识别中,如果单纯采用基于像素的方法,容易造成误识。

2.基于直方图特征

比如说,它有一个运动矢量,但实际上它并没有发生镜头变化,这时可以装入一像素的均值,或者使用不考虑位置变化的方法,叫做基于直方图的方法,可以是颜色直方图或者是亮度直方图,直方图的意思是统计画面里所出现特定的颜色数量,比如说整个画面里面的颜色或者是亮度把它分成若干个,然后统计各个颜色的个数。

即假设相邻两帧图像 IiIj 的直方图为 HiHj ,则颜色直方差为(如图):

图片20.png

对于 RGB 图像,颜色由不同亮度的 R (红)、 G (绿)、 B (蓝)组成,可根据下面的公式进行计算:

图片21.png

直方图的特点是它没有位置信息,相对于基于像素的方法,它的抗干扰能力大幅提升。它丢失了颜色的位置信息,存在两幅图像,内容完全不同,但直方图相似。

这个情况在镜头边界里样出现的概率是很小的,因此基于直方图的方法用在镜头边界的检测上是没有问题的。有时仅用简单的颜色直方图匹配也容易造成误识别,可以通过分块直方图改进,将图像划分成若干子块,分别对各子块进行匹配,然后分别统计块内的直方图,块内跟位置无关,而不同的块又表明了相应的位置。

可以对物体运动、镜头缩放等情况有更好的适应性,同时也解决了完全失去位置造成的极个别情况的混淆。

图片22.png

看一下检测结果对比(如图),第一幅图是完全基于像素的检测方法,它有很多的峰值,但实际上没有这么多的镜头变换。

第二个是通过直方图直方差所求。第三个是直方差中的 p ,一开始 p 的取值是1,后来取值改成2,效果明显有所提升了。

一个差值取平方之后,会变得更小,而一个大的峰值拾取平方后会更大,这样可以使得分类的效果更明显。

相关文章
|
算法 计算机视觉 开发者
镜头边界检测(上)| 学习笔记
快速学习镜头边界检测(上),介绍了镜头边界检测(上)系统机制, 以及在实际应用过程中如何使用。
373 0
镜头边界检测(上)| 学习笔记
|
16天前
【着色器实现FishEye鱼眼画面膨胀效果_Shader效果第十六篇】
【着色器实现FishEye鱼眼画面膨胀效果_Shader效果第十六篇】
|
16天前
【着色器实现Twist扭曲穿越形变效果_Shader效果第二十篇】
【着色器实现Twist扭曲穿越形变效果_Shader效果第二十篇】
|
5月前
|
Web App开发 XML JavaScript
像素是怎样练成的(二)
像素是怎样练成的(二)
|
5月前
|
Web App开发 存储 前端开发
像素是怎样练成的(一)
像素是怎样练成的(一)
|
5月前
|
存储 Web App开发 缓存
像素是怎样练成的(四)
像素是怎样练成的(四)
|
5月前
|
缓存 JavaScript 前端开发
像素是怎样练成的(三)
像素是怎样练成的(三)
|
前端开发 JavaScript
神奇的滤镜!巧妙实现内凹的平滑圆角
神奇的滤镜!巧妙实现内凹的平滑圆角
220 0
神奇的滤镜!巧妙实现内凹的平滑圆角
|
机器学习/深度学习 算法 计算机视觉
镜头边界检测(下)| 学习笔记
快速学习镜头边界检测(下),介绍了镜头边界检测(下)系统机制, 以及在实际应用过程中如何使用。
245 0
镜头边界检测(下)| 学习笔记
|
存储 编解码 计算机视觉
图像和视频中的颜色(下)| 学习笔记
快速学习图像和视频中的颜色(下),介绍了图像和视频中的颜色(下)系统机制, 以及在实际应用过程中如何使用。
146 0
图像和视频中的颜色(下)| 学习笔记