第一篇:读书笔记(图像和视频中的不规则检测)
论文题目:Detecting Irregularities in Images and in Video 所载刊物:International Journal of Computer Vision 74(1), 17–31, 2007 作者:Oren Boiman and Michal Irani
主要内容和结论(观点):
该文主要阐述了作者在检测图像和视频等可视化数据中的不规则数据的研究成果。
文章中表明,图像和视频中不规则图像模型的探测在各种各样的任务中都是很有用的。对于监视和监测来说探测可疑行为或是异常目标是重要的。
早先识别可疑行为或活动的方法可以广泛的被分成两类:基于规则的方法和没有预定义规则的统计方法。
而在该文中作者提出将探测规则和不规则的问题公式化成为用从先前可视样本(数据库)中提取出来的时空块组成(解释)新的观察的可视数据(一个图像或是一段视频,在下面提到时用“查询”表示)的问题。这些可以用从样本数据库中抽取的大的连续数据块组成的查询中的区域被认为是相似的,这些区域越大,相似性就越强。在不能用样本数据库组成的查询中的区域被认为是不相似的或是可疑的。作者的方法因此可以从仅仅少量的几个样本就能推断或是归纳出更大的上下文的图像模式和行为,甚至那些从来都没有见过的特别构造。(这个过程被定义为“通过组合的推论”)
作者认为该文作出了以下四个主要的贡献:
1、提出了一个可以从仅有的几个样本中就可以推理和归纳的方法,这个方法是关于一个更大的上下文图像模式和行为的合法性的,甚至是那些从来都没有见过的特殊构造的合法性。
2、提出了一个基于图表的贝叶斯定理的推论算法,它可以在成倍增加的时空范围里有效探测大的整套的碎片块(例如,数以百计的碎片块)。同时它可以增强这些在整体以及单个的描述符上的碎片里的相关几何方面的排列上的约束。
3、提出了对图像和视频里术语中的“显著”和“视觉注意”给出一个新的解释。
4、提出了一个单一的、统一的框架来处理计算机视觉里几个的问题,这些问题在过去已经被单独地处理过。它们包括:图像和视频中值得注意的地方,可疑行为的识别,异常物体的识别,自动视频检查(例如,用于质量保证)等等。
论文中的基本算法:
1、统计公式
用y来表示一个观察到的查询范围内的碎片组合。计算连接的可能性P(x,y),其中观察到的查询中的组合y与在数据库(既在碎片的描述符值相似也在相对位置上相似)中的隐藏的组合x是相似的。我们可以把连接的可能性分解成:P(x, y)= P(y|x)P(x)。
令dy表示观察到的碎片y中的第i个描述符向量,ly表示它的位置(在绝对坐标里)。类似的,dx表示在碎片x中的第i个隐藏(数据库)的描述符向量,lx表示它的位置。令cy和cx表示被观察到的和隐藏的组合的“原始”点。任何这样一对组合y和x的相似性被以下的可能性公式捕获: iiii
P(x, y)= P(cx , d1x ,..., l1x ,..., cy , d1y ,..., l1y,...)(公式1)
我们用一个高斯分布在描述符间建立相似性模型:
P(diy|dix)=α1 exp(−1/2(diy− dix)T S D−1(diy− dix))(公式2)
这里,α1是一个常量,S D是一个常量协方差矩阵,它决定描述符值的可允许的偏差。其它的分布可以根据其它描述符的相似性函数插入到模型中。给定一个隐藏数据库碎片的相对位置(lx− cx),观察到的相应碎片(ly− cy)的相对位置被假设成不依赖于所有其它碎片位置。这个假设使得有足够灵活性去适应在视线角度、范围、位置和行为上的微小变化进行比较两个碎片组合的几何排列,这样: iiP(liy | lix, cx , cy)= α2 · exp(− 1/2((liy− cy)−(lix− cx))T× S−1L((liy− cy)−(lix− cx))))(公式3)
到目前为止我们已经建立了组合(描述符:dy, dx和相应位置:ly− cy , lx− iiiicx)间属性的关系模型,我们仍然需要建立隐藏组合内的关系(也就是一个碎片描述符dx和它的位置间lx的关系)模型。利用数据库中的样本进行非参数化的为它建模:
ii
1(dx , lx)∈ Database
P(dx | lx)=(公式4)
0otherwise
这里dx和lx是任意描述符和位置。
这样,对于一个观察到的组合y和一个隐藏数据库组合x,我们可以通过利用公式(2)–(4)来得出公式(1)的共同可能性P(x, y)如下:
P(cx , d1x ,..., l1x ,..., cy , d1y ,..., l1y)
=αP(liy| lix, cx , cy)P(diy| dix)P(dix| lix)(公式5)
i
对于任何隐藏的非零可能性的集团分配,我们定义组合代价为负的对数可能性函数:
-logP(cx , d1x ,..., l1x ,..., cy , d1y ,..., l1y)
= i-log P(liy| lix, cx , cy)+-log P(diy| dix)+α1(公式6)i
当α1= log(α)时是常量。
2、信任传播推论
给定一个观察到的组合,我们寻找一个隐藏的数据库组合,这个组合最大化它的MAP(最大归纳的可能性)分配。这被通过上面统计模型来完成,这个模型具有一个简单并且确切的信任传播运算法则。根据公式(5),MAP分配可以被写成:
1111P(c , d ,..., l ,..., c , d ,..., lxxxyyy)MaxX
=αiiiiiiiP(l| l, c , c)P(d| d)P(d| ly xxyy xx x)(公式7)MaxMaxlxidxi
首先我们为每一个碎片计算从结点dx到结点lx关于它在位置lx的信任消息: iii
midl(lix)= iii iP(d| d)P(d| ly xx x)(公式8)Maxdxi
也就是,对于每一个观察到的碎片,用高描述符相似性计算每一个候选数据
库位置lx。下一步,对这些候选数据库的每一个位置,我们都传递一个包含在数据库中可能原始位置cx: i
milc(cx)= iiiP(l| l, c, c)m(ly xx ydlx)(公式9)Maxlxi
在这一点,我们有一个被每一个碎片暗示的候选原始列表。为了计算一个整体组合任务的可能性,我们从组合里的所有个体碎片中乘这信任:
mc(cx)=milc(cx)(公式10)
i
通过这个运算法则处理的推论运算量一个MAP推论。
3、估算查询点的可能性
对于查询中每一个点,我们尝试在它周围组合一个大的区域。这可以通过检查围绕着每一个点的大区域的有效性,检查时用上面的推论处理过程(通过计算一个查询区域相似性)。这一点参与了很多查询区域中。我们定义一个查询点的相似性为包含那个点的最大区域可能性。因此,假如存在一个包含它的大区域,有相应的相似性数据库区域的话,在查询中的一个点将有一个高可能性。这样,我们可以利用部份的目标遮挡组合成查询,因为靠近边界的点被包含在目标里的一个大的区域中。然而,部分遮挡可能生成小的邻接的目标区域,这些区域不能用我们当前推论算法去组合。
在文章中,作者还提出了算法的性能改进,并介绍了一些基于该文中所述方法的探测图像和视频中不规则方面的应用:包括探测异常图像构造、单一图像的显著空间、探测可疑行为以及自动视频检查(质量保证)等等。
最后,文章给出了结论:“通过组合的推论”,允许我们可以由少数几个样例就能在一个更大的上下文中去归纳什么是规则的,什么是不规则的。这个压缩过程的实现是作为一个概率图像模型里的高效推论算法来完成的,它适应查询与数据库之间微小的时空变形。
“通过组合的推论”,也可以应用在完全没有任何早先样本的情况下探测可视数据的显著性。为了这个目的我们把每一个图像区域称作一个“查询”,并且尽力利用剩下部分的图像(数据库)去组合它。这个过程依次重复所有的图像区域。像这样一些不能用图像的其它部分“解释”(组合)的区域将作为显著区域
被探测出来。这导致了在可视数据上的一个新定义的术语:显著。在视频数据的案例中,这些区域是时空相关的,并且这些显著的视频区域是与显著的行为相呼应的。
“通过组合的推论”,这一方法是通用的并且因此能够研究在一个单一的、统一的框架里的问题,它的一般性使得它不用采取任何基于分类模型的预学习的方法。我们通过探测可疑行为,显著行为,显著图像区域,探测货物或产品来证明这个方法的应用。
文章中也提到,该文中的算法有两个主要的局限性:(i)尽管遮挡可以处理某种程度的影响,它不能处理一些极端的遮挡(例如当只有物体的小碎片部分是显著时)。(ii)时间和存储的复杂度在该文的推论算法中是随样本数据库的大小显线性变化的。这对于大的数据库来说显然是有问题的。这两个问题会是作者将来研究的一个主题。
相关研究介绍:
赵峰等人在《计算机研究与发展》中发表的《一种基于奇异值分解的图像匹配算法》提出一种新的基于奇异值分解的图像匹配算法。首先在待匹配图像中分别提取带主方向的角点作为特征点,通过计算特征点间经旋转补偿的归一化互相关值建立特征点相似度矩阵,然后利用奇异值分解算法生成特征点匹配矩阵并获得特征点间的--对应关系。在复杂自然图像上的实验结果表明,算法能够匹配任意角度旋转的图像,对局部遮挡、光照变化、随机噪声等具有较强的健壮性,并具有较快的计算速度和较高的匹配精度。
张军、刘志镜在《模式识别与人工智能》发表的《基于模糊理论的行人异常动作检测》中根据行人躯干和四肢轮廓角度的变化,设计用于模糊化的函数式。提出利用躯干和四肢的模糊隶属度通过计算来得到整个人异常度的一种基于模糊理论异常行为判别的算法。在系统实现中,提出利用质心轨迹和模糊判别的联合方法来甄别行人是否异常的方法。模糊判别可实现在视频监控范围内对行人行为的主动分析,从而能够对行人异常的动作做出识别并进行报警处理。
田永鸿等人申请的专利201010568248.X,“图像显著对象提取方法、互补显著度图学习方法及系统”,通过给定任意图像,自动准确地提取出图像中的显著物体,有效地解决了在复杂场景下一般显著物体提取结果缺乏的准确性和鲁棒性问题。
第二篇:图像和视频中的不规则检测
图像和视频中的不规则检测
摘要:我们从事于研究可视化数据中的不规则检测,例如检测视频中的可疑行为或者是识别图像中的跳跃性模式。“不规则”这个术语依靠于被定义的“规则的”或是“合法的”的上下文。然而,期待可以在一个给出的上下文显定义所有合法的结构是不现实的。我们把决定可视化数据合法性的问题当作构造迷题的过程:我们努力去用大块的数据(“一块块的迷题”)组成一个新的已经观察到的图像区域或是一个新的视频片断(“查询请求”),这些大块的数据是从先前的可视化样本(“数据库”)中抽取出来的。这些在被用数据库中的大块接近的数据组成的被观察的数据中的区域被认为是非常相像的,但是这些不可以从数据库(或者仅仅是可以用小片断数据组成)组成的被观察的数据中的区域是被认为是很不相像或是可疑的。这个问题被作为一个处理盖然论图像模型中的推论提出来。我们展示一些利用这些方法的应用程序来识别图像和视频中的显著,目的是用它来探测可疑行为和高质量保证的自动化图像检测。
关键字:探测可疑行为,显著,不规则探测,新奇事物探测,自动探测,动作识别,自动图像检查
1. 介绍
图像和视频中不规则图像模型的探测在各种各样的任务中都是很有用的。对于监视和监测来说探测可疑行为或是异常目标是重要的。对于质量控制和自动检查来说,在图像中识别空间显著是有用的。在视频中的行为显著对于吸引观看者的注意力是有用的。先前识别可疑行为或活动的方法可以广泛的被分成两类:基于规则的方法(例如,Ivanov and Bobick(1999))和没有预定义规则的统计方法(例如,Stauffer and Grimson(2000)和Zhong et al.(2004))。统计方法更加有吸引力,这是由于它们不用为所有合法结构假想出一系列预定义的规则集,而是,他们尝试着自动的从数据中学习规则中的概念,并且就这样推断出各种可疑行为。然而,在先前方法中已经被应用的代表方法要么是很有限制性(例如,trajectories of moving objects(Stauffer and Grimson, 2000))要么是太过全球性了(例如,a single small descriptor vector for an entire frame(Zhong等人, 2004))本论文中,我们用公式化的形式把探测规则和不规则的问题表示成为用从先前视频样本(数据库)中提取出来的时空块组成(解释)已经观察到的图像数据(一个图像或是一个视频,在下面提到时用“查询”表示)或是视频的问题。这些可以用从样本数据库中抽取的巨大接近的数据块组成的查询中的区域被认为是相似的,这些区域越大,相似性就越强。在不能用样本数据库组成的查询中的区域被认为是不相似的或是可疑的。我们的方法因此可以从仅仅少量的几个样本就能推断或是归纳更大上下文的图像模式和行为,甚至这些从来都没有见过的特别结构的图像模式和行为的合法性,本地描述符是从小图像或
是视频块(被组成在一起来形成大的块)中抽取出来的,因此它可以快速和高效的推断出行为改变中的细微但重要的改变(例如,一个人在走和一个人拿着一支枪在走的不同)。而且,我们的方法可以同时识别出一个合法的行为在一个视窗区域部分,并且可疑行为在另一个视窗区域中部分,因此在这一帧仅仅是标明探测到的可疑区域,而不是整一帧都标明出来。在第6节将给出这样的例子。从图像碎片中得出的推断在先前已经被应用到基于分类的目标识别(例如,Bart and Ullman(2004), Felzenszwalb和 Huttenlocher(2005)and Fergus等人)中的任务上去了。少数的情报帧已经被人学习和预选择用来作为少数的目标的预定义分类。然而,基于分类的表述不可以捕获组成一幅场景中未知目标或行为的所有一切的可能的情况,因此它不适合于探测不规则性任务。我们的方法也可以应用在探测图像和视频中的显著。例如,给出一幅没有先前信息的简单的图像,我们可以测量出每一幅图像区域(查询)相对于同样图像(被用作特殊查询的“数据库”)的剩下部分的“合法”性。类似的,给出一段简单的视频(没有关于什么是正常行为先前知识),我们可以探测“显著行为”,这些行为不能被任何其它在视频里同时发生的动态现象所支持。用来探测图像显著(例如,Itti等人(1998))的先前的方法被提议用来测量本地图像和它的瞬间周围区域的相异程度。因此,例如,显示出巨大改变的图像区域被探测为显著图像区域。他们的“视觉注意”的定义是来源于同样的推理。然而,我们相信显著的概念没有必
要由瞬间周围图像所决定。例如,一个在黑色纸上简单的黄点可以是显著。然而,假如在黑纸上有很多黄色的点,那么一个简单的黄点再也无法引起我们的注意,即使它相对于周围附近来说仍然有巨大的改变。因此我们的方法建议一种新对于术语“显著”更加直觉的解释,它来于整个图像的内部统计。我们处理空间图像显著的方法更接近于Honda和Nayar(2001).的方法。然而,(Honda 和Nayar, 2001)在重复性结构的图像模型是局限性的并且它高度依赖于本地周围图像属性,然而我们的方法却不是这样。用我们的方法探测图像空间显著和视频行为显著的例子将在第6节给出。我们的论文因此提供了四方面主要贡献:
1. 我们提议一个可以从仅有的几个样本中就可以推断和归纳的方法,这个方法是关于一个更大的上下文图像模式和行为的合法性的,甚至是这些从来都没有见过的特殊结构的合法性。2. 我们提出一个基于图表的贝叶斯定理的推论运算法则,它可以在成倍增加的时空范围里高效的探测巨大碎片块整体(例如,好几百块的碎片块)。它可以同时增强这些在整体以及单个的描述符上的碎片里的相关几何方面的排列上的约束。
3. 我们提议对图像和视频里术语中的“显著”和“视觉上的注意”给出一个新的解释。
4. 我们给出单个统一的框架来处理几个计算机视觉里的问题,这些问题在过去已经被单独的处理过。这些问题包括:图像的注意,视频的注意,可疑行为的识别,异常物体的识别,自动视频检查(例如,用来质量的保证)等等。
本论文的短文版在ICCV 2005(Boiman and Irani, 2005)提供。
2. 由组成得出的推论
当给出了几个样例后,我们(人类)对于什么是规则/合法,什么是不规则/可疑,甚至是见到以前我们从来没有见过的新结构的东西,都会有一个概念。我们从来不需要显定义给定上下文的合法结构的所有可能。“规则”/“合法”这些概念可以从简单的几个合法模型(视频中的行为或是图像的外观)的样例中学习和归纳得来,并且所有其它结构可以自动的从这些当中推断得到。图表1(Figure 1)说明了潜在于本论文的基本概念。假设一幅新图像(一个查询—Fig.1(a)),我们检查是否每个图像区域都可以从数据库里找到一张足够大的接近的区域来解释(见 Figs.1(b)和(c))。尽管我们从来没有见过一个人两臂举起来那样坐着,但是我们可以从这Fig.1(c)里的三个数据库图像里推断出这个动作的合法性。这样,能用数据库里巨大的数据块来解释的新观察到数据/查询(一个图像或是视频)里的区域被认为是很相像的,相反,不能用数据库里的足够大的数据块来解释的查询里的区域被认为是不相像或是可疑的。当一个视觉的查询是一个图像,那么这些数据块仅有空间的范围。当一个 视频查询是一个视频,那么这些数据块就既有空间又有时间范围了。
Detecting Irregularities in Images and in Video 19 Figure 1.The basic concept—Inference by Composition.A region in the query image is considered likely if it has a large enough contiguous region of support in the database.New valid image configurations can thus be inferred from the database, even though they have never been Seen before.Figure 2.Detecting a matching ensemble of patches.3. 碎片的组合
人类的行为或自然的空间结构从来都没有相同的重复着。例如,没有两个人是走路是相同的。一个人比另一个人的手臂抬高一点,或是仅仅走得快一点。我们因此想允许它在我们的“迷题的块”(数据块)里有一个小小的非严格变形(在空间和时间上)。这对于巨大的数据块来说尤其的正确。为了计算本地的非严格变形,巨大的块利用它们相对的几何位置在多维度上被分解成很多小块的组合。这在Fig.1(d)中有说明。在推论处理过程,我们寻找具有相似属性(行为或是外表)的块的相似的几何结构,同时允许在相对几何排列上有微小的本地未对准。这个概念在Fig.2中说明。当视觉查询是一个图像,碎片的组合被组成空间碎片(见Fig.3(a))。当视觉的查询是一个视频,那么碎片的组合被组成时空碎片(见Fig.3(b)),这允许我们捕捉动态的行为信息。在我们当前的实现来说,一个简单的典型的组合都同时从多维度(图像碎片案例中的多空间维度,和时空碎片案例中的多时空维度)具有好几百个碎片。当从样本碎片中组合新数据这个想法被先前证明对于大量的任务都是有用时,(e.g., Efros and Leung(1999), Freeman et al.(2000)and Wexler et al.(2004)),这些方法没有在用于构建的样本碎片上强加任何的几何约束,也就是说,它们的相对位置和距离在数据库里没有强加任何的几何约束。对于他们的目的来说一点必要都没有。然而对于检测不规则来说是至关重要的。经常,在相似和不相似现象之间区别的唯一真实的信息提示是数据库支持的碎片
程度。例如,一个举着一支枪的人伸直一条手臂和一个人走路时瞬间伸直手臂是相似的,但是在时间上它的区域的支持度是非常有限的。获取碎片的几何相关性被认为对于基于分类的目标识别(Bart and Ullman, 2004;Felzenszwalb and Huttenlocher, 2005;Fergus et al.,;Leibe et al.)任务来说是重要的。这些方法不适合我们的目标,因为两个原因:(i)他们的几何结构受限制于相关的小数量的碎片,这样就不能捕捉那些用来探测不规则性的敏感的区别。(ii)这些结构是为小数量预定义的目标类来预学习的,然而我们的框架是可以应用于任何类型的视觉数据。当Leibe等人的几何约束更加的灵活,这样就允许从仅仅少数几个样本就能识别新的目标结构,对于一堆有预定义目标中心的预定义的目标类,他们的方法仍然是有局限的。这就不适合于探测不规则性,它也没有目标类的概念。“Video Google‖(Sivic and Zisserman, 2003)强化了在巨大的非基于分类的描述符的几何约束,并且搜索他们都非常的高效。然而,这些描述符在自然界中有空间性的并且这搜索受限于单个的图像帧,这样就不能允许去捕捉行为。为了在合理的时间里推断处理完成,小块的信息和它们之间的相关排列必须被高效的存储在数据库里并且能从数据库里高效的抽取出来。对于每个从样本抽取出来的小块,一个描述符向量连同绝对相关碎片(空间的或是时空的相关性)被计算和存储(见下面)。这样,在图像和视频数据库里的所有碎片的相对排列都是隐式有效的。后来,我们的推论运算法则采取从视觉查询中的碎片组合并且查找数据
库来寻找相似的结构碎片(既有描述符又有他们的相对几何排列)。为了能快速的查找和检索,这些碎片被存储成多维的数据结构。用一个或然论的图形模式(第4节),我们为寻找问题的组合提出了一个高效的推论运算法则。
3.1 碎片描述符
碎片描述符是为每一个查询碎片和每一个数据库碎片而产生的。描述符捕捉关于外表和行为的本地信息。我们当前的实现用的是非常简单的描述符,这些描述符很容易就被那些更加世故圆滑的描述符所替代: 小空间碎片的空间图像描述符是由以下构成:为碎片里的每一个像素计算它的空间倾斜度的大小,这些值然后被一个向量所保存,这个向量规格化成一个单位长度。如此的描述符被密密麻麻的解压到图像里的每一个像素。这个描述符解压处理过程被几个图像的空间高斯金字塔的空间范围所替换。这样,一个从粗糙范围解压出来的7 X 7的碎片就比它的输入图像(也就是说精度)具有更高的空间支持度。在一些应用里,一个RGB/基于亮度的描述可能比一个基于倾斜度的描述符更适合。一般来说,我们的整体的框架没有局限SIFT(Lowe, 2004)于这些特殊的描述符。这些很容易就被比它更世故圆滑的空间描述符例如SIFT(Lowe, 2004)等所替代。一个小(也就是7×7×4)的时空视频碎片的时空视频描述符由碎片的所有像素的时间派生的绝对值所构成。这些值构成一个向量并且规格化成一个单位长度。这个描述符解压处理过程被几个时空视频金
字塔的空间时间维度所替代。这样,一个从粗糙维度解压出来的7 × 7 × 4的碎片比它的输入序列具有一个更大的空间和更大的时间支持度。注意到一点是,由于时间派生物在任何的静态的背景下总是为零的,所以这个描述符几乎是一个静态背景不等式。所以,利用这时空
描述符,我们可以在新的查询序列中探测不规则,而完全不用理会它的背景。然而,这简单的描述符依赖于空间织品的质量,比如当一个人穿着一件织地非常粗糙的衣服时它可能引起一个问题。我们的方法,然而就不会这样局限于这些简单描述符特殊的选择。这些描述符可以很容易的就被那些世故圆滑的时空描述符(这些描述符对动作敏感并且更加的外表不变)所替代,例如Shechtman 和 Irani(2005)或Laptev 和 Lindeberg(2003)。Boiman and Irani
Figure 3.Ensembles of patches in images and video.4. 基本的运算法则
给定一个新的视觉查询(一个图像或是一个视频),我们很愿意去估计它的每个点的可能性。这可以通过检查一个巨大的周围的每一个像素的区域(也就是说,50 × 50的图像区域和50 × 50 × 50视频区域)的合法性来实现。这巨大的周围区域被多维度(空间或是时空的)的分离成大量(好几百个)的小的碎片,并且被表述为一个单一的与特殊图像/视频点相关的碎片的组合。令q1, q2,..., qn表示组合中的碎片(见Fig.3(a))。每一个碎片qi都与两种类型的属性相关:(i)它的描述向量di和(ii)它的绝对坐标的位置li。我们选择任意的参考点C(也就是这组合的中心(见Fig.3(a)),C点作为本地坐标系统(这样就可以定义组合内碎片的相对位置)的“原点” 4.1.统计公式
令一个观察到的查询范围内的碎片组合用y来表示。我们想去计算连接的可能性P(x,y),其中观察到的查询中的组合y与在数据库(既在碎片的描述符值相似也在相对位置上相似)中的隐藏的组合x是相似的。我们可以连接可能性变成:P(x, y)= P(y | x)P(x)。我们的模型P(y | x)类似于Felzenszwalb and Huttenlocher(2005)的“星图”或然论模型。然而,在Felzenszwalb and Huttenlocher(2005)基于分类的设置表示为P(y;θ),其中θ是一个给定的基于分类的碎片群参数的预学习集。在我们的案例中,然而,对目标是没有概念的,也就是说,没
有数据库组合x的前验参数模型。这样,θ是未定义的,并且P(x)必须直接从样本数据库中非参数的评估。令diy表示观察到的碎片y中的第i个描述符向量,liy表示它的位置(在绝对坐标里)。类似的,dix表示在碎片x中的第i个隐藏(数据库)的描述符向量,lix表示它的位置。令cy和 cx表示被观察到的和隐藏的组合的“原始”点。任何这样一对组合y和x的相似性被以下的可能性公式捕获:
P(x, y)= P(cx , d1x ,..., l1x ,..., cy , d1y ,..., l1y,...)(1)
为了让计算Eq.(1)的可能性易于操作,我们做了一些简化的统计假设。给定一个隐藏数据库碎片和它的描述符dix,这相应的观察到的描述符diy被假设成与其它碎片描述符无关。(这是标准的马尔可夫链的假设,也就是说,Freeman等人(2000),这个在重叠碎片上明显是不合法的,但它是一个有用近似值)。我们用一个高斯分布在描述符间建立相似性模型:
P(diy|dix)=α1exp(−1/2(diy− dix)T S D−1(diy− dix))(2)这里,α1是一个常量,SD个常量协方差矩阵,它决定描述符值的可允许的偏差。其它的分布可以根据其它描述符的相似性函数插入到模型中。给定一个隐藏数据库碎片的相对位置(lix− cx),观察到的相应碎片(liy− cy)的相对位置被假设成不依赖于所有其它碎片位置。这个假设使得有足够灵活性去适应在视线角度、范围、位置和行为上的微小变化进行比较两个碎片组合的几何排列,这样:
P(liy | lix, cx , cy)= α2 exp(− 1/2((liy− cy)−(lix− cx))T× S−1L((liy− cy)−(lix− cx))))(3)这里α2是一个常量,SL是一个常量协方差矩阵,它捕获了相对碎片位置中的所被允许的偏差。(本案例中,相对位置的依赖是用高斯来建模,然而这模型并没有受限它)。到目前为止我们已经建立了组合(描述符:diy, dix相应位置:liy− cy , lix− cx)间属性的关系模型,我们仍然需要建立隐藏组合内的关系(也就是一个碎片描述符dix和它的位置间lix.的关系)模型。在一般的案例中,这关系是非常的不可分析,因此不能被参数化(与基于分类方法形成对照,也就是说Felzenszwalb 和 Huttenlocher(2005)和 Fergus 等人(2003))的建模。因此,我们利用数据库中的样本进行非参数化的为它建模:(dx, lx)∈ Database
P(dx| lx)=
0 otherwise
(4)
这里 dx 和 lx是任意描述符和位置。我们为cx和cy(本地原始点)假设一个相同的先验分布,也就是,没有预先优先选择哪一个本地数据库或是查询的组合。所有上面提到的变量之间的关系在Fig.4中的贝叶斯网络所描述。
Boiman and Irani
Figure 4 或然论图形模型
这贝叶斯依赖通过变量间的箭头表示出来。这依赖关系仅仅为组合中的一个碎片(第i个碎片)而表示出来。观察到的变量用“橙色”表示出来;隐藏变量用“蓝色”表示出来。cx 和 cy分别是隐藏的和观察到的组合的“原点”,Lix and li y是隐藏的和观察到的组合的第i个
碎片的位置(绝对坐标);dix 和 diy是每一个组合的第i个碎片的描述符向量。
这样,对于一个观察到的组合 y 和一个隐藏数据库组合 x,我
们可以通过利用Eqs.(2)–(4)来得出Eq.(1)的共同可能性P(x, y)如下: P(cx , d1x ,..., l1x ,..., cy , d1y ,..., l1y)
= αiP(liy| lix, cx , cy)P(diy| dix)P(dix| lix)(5)∏
我们可以得出连接可能性的协方差矩阵,每一个都与模型中的一个不同部分所关联着。当识别的任务受限于几个已知预定义的类型时,也就是每一个都有它的预定义部分和参数时,这是一个好方法。这,然而,不是我们案例中的设置,那里没有预定义我们要寻找什么的概念,然而,我们想能够探测相对于样本细小的不规则。我们的模型因此是 非参数的并且它的归纳能力不依赖于参数的调整,但是更依赖于数据库中样本的差异性。这在个意义上来说,我们的非参数模型具有了Leibe等人的非参数处理方法的共同之处。在我们的实现中,我们已经设置协方差矩阵SD和SL成为一个简单的凭经验决定的标量方差。这个简单的设置给我们的实验一个满意的答案。注意到在这个设置里,这两个参数的单一的目的就是适当的承担了几何变形和外表/描述符变形的代价。而且,注意到这些是模型中的仅有的参数,因此需要非常少的参数调整。4.2 信任传播推论
给定一个观察到的组合,我们寻找一个隐藏的数据库组合,这个组合最大化它的MAP(最大归纳的可能性)分配。这被通过上面统计模型来完成,这个模型具有一个简单并且确切的信任传播运算法则(Yedidia 等人,2003)。根据Eq.(5),MAP分配可以被写成: max1111P(c , d ,..., l ,..., c , d ,..., lxxxyyy)X maxP(li| li, c , c)maxP(di| di)P(di| li)(7)= α∏y xxyy xx xilixdix这个表达式可以被表达成一个在Fig.4里传递运算法则的消息。首先我们为每一个碎片计算从结点dix到结点lix关于它在位置lix的信任消息midl :
maxmdl(lx)= dixP(diy | dix)P(di x | lix)(8)ii也就是,对于每一个观察到的碎片,用高描述符相似性计算每一个候选数据库位置lix。下一步,对这些候选数据库的每一个位置,我们都传递一个包含在数据库中可能原始位置cx:
milc(cx)= maxlixP(liy | lix,cx,cy)mdl(lix)(9)在这一点,我们有一个被每一个碎片暗示的候选原始列表。为了计算一个整体组合任务的可能性,我们从组合里的所有个体碎片中乘这信任:
mi(c)(10)mc(cx)=∏ ilcx通过这个运算法则处理的推论运算量一个MAP推论。因此,在样本数据库中只发生一次的东西相等于那些发生很多次的东西。这个公式在很多应用中都很有用,然而,那可能有这样的应用,在那里我们愿意发生在数据库中的频率去影响一个组合的可能性。上面运算法则的
一个简单的修改允许去计算可能性而不是MAP,这是通过转换推论运算法则从一个最大乘积转换成一个和乘积。4.3 估计查询点的可能性
对查询中每一个点,我们尝试去在它周围组合一个巨大的区域。这可以通过检查一个围绕着每一个点的巨大区域的合法性,检查时用上面的推论处理过程(通过计算一个查询区域相似性)。这一点参与在很多查询区域中。我们定义一个查询点的相似性为包含那个点的最大区域可能性。因此,假如存在一个包含它的巨大区域,有相应的相似性数据库区域的话,在查询中的一个点将有一个高可能性。这个方法,我们可以利用部份的目标闭塞组合成查询,因为靠近边界的点被包含在目标里的一个巨大的区域中。然而,部分闭塞可能生成小的邻接的目标区域,这些区域不能被用高可能性利用我们当前推论运算法则去组合而已的。我们希望我们围绕每一个点组合的区域尽可能的大,因为这区域越大,这一点是不规则的这个证据就越大。然而,那有这样的案例,在这些案例里,一个“规则”的观察到的组合不能被完全的由一个简单的数据库组合而组成(例如,由于部分闭塞)。这那些案例中(不是很高频率的那些),我们减小观察区域的尺寸(例如,减小25%)并且重复着推论的过程,完全没有包括被丢弃的碎片。我们处罚总体组合可能性的分数为每一个我们丢弃的碎片。根据Eq.(6)我们增加一个常量代价处罚为每一个我们丢弃的碎片。处罚期限的大小,反映了我们归因于组合区域大小的重要程度。
处理不同大小的组合:为了探测在一个整体观察里的不规则区域,我们仅仅开始了在Eq.(6)里的组合代价。然而,那可能有一些观察到的组合大小可能不同的案例(例如,因为非情报性区域,排除分析的区域,数据边界,等等)。为了比较不同大小的组合合成代价,需要一个标准化的东西。我们利用一个标准化,它是基于统计组合代价显著水平的标准化。我们定义一个零假设H0,这样每一个观察到的组合都通过上面定义的统计模型来产生。因此,组成代价C0的统计显著水平可以通过P值 Pr(C > C0 | H0)来测量到。假定这零假设,并且给定一个隐藏的组合,每一期限在Eq(6)里的组成代价都是按照χ2分布的,并且总体代价的分布也是按χ2分布。这些分布可以被用到计算这样的P值,它为不同大小的组合“规格化”它们的组成代价。
5. 一个高效的推论运算法则
在第4.2节中信息传递运算法则的一个本地的实现是很不高效的,由于独立描符查询是为每一个观察到的组合中的碎片而处理的,完全不用回答先前被其它碎片处理的查询。这导致了一个O(Nk)的复杂度,N是数据库中碎片的数量(例如100,000个碎片为一个一分钟的视频数据库)并且K是组合中碎片的数量(例如256)。而且,我们将会扫描整个的查询(一个新图像或是一个新视频),这个查询导致一个总共O(Nkq)的复杂度,这里Q是查询中碎片的数量。这复杂性对于真实的应用来说是禁止的,因为每一个词语(N, k 和q)都是不可以忽
略的。在本章节中我们给出了怎么样可以做到不用牺牲精确度而显著的减少复杂度。5.1. 改进的排除过程
观察到的组合中的碎片与某一几何排列有关。我们可以用这知识通过改进的消除数据库里的查询空间来进行一个高效的查询:我们为一个少数量的碎片(例如1个)来计算消息midl。可能的候选原点的结果列表包含了为下一个碎片的非常有限的查询空间。下一个碎片,依次,从已经候选的短列表中消除附加的原点,等等。这个处理过程在Fig.5.中图表说明。为了加速这进步的消除的过程,我们在 Eqs.(2)和(3)用削去顶端的高斯分布(4σ之后的削去)。因此,根据几何学或是外观/描述符,这些分布将一个零的可能性给高碎片变形。第一个碎片查询的代价是O(N)。我们仅仅从被第一碎片(在我们的实现里,c=50)提议列表中保存了最好的C候选原点。第二碎片现在受限于C位置的近邻。第二碎片将受限于一个更加小数量的近邻。这样,在最糟糕的案例想定,我们的复杂是O(N + kc)≈ O(N)。相反,在Felzenszwalb and Huttenlocher(2005)and Leibe 等人的推论处理的复杂度是O(Nk),而这“群星模型”(Fergus 等人)复杂度在碎片数量上是指数型的。上面被提议的在复杂度方面的减少对于使能拥有几百个的碎片的组合的视频推论是极度重要的。值得注意的是极限缩小候选原点的数量直到C候选可能会是有问题的:例如,假如我们选择的第一个碎片是非情报的(也就是单边),那么选择最优C候选是武断的并且我们可能抛弃了全局最优组
合。在实践中,我们推论算法(多维度策略,预搜查,和扫描观察)的其它组件消除了这风险。注意到的是,假如我们采取削峰高斯分布(或其它有限支持分布),并且假如搜查第一个最新碎片范围少于C候选位置,那么这改进的消除处理保证一个确切的解决方法,因为我们仅仅抛弃有零相似性的候选。注意到这使得在这样的条件下,我们可以提供一个确凿推论,这个推论等价于含有简化复杂度的信任传播。而且,我们知道在推论过程中,这结果是确凿的(最优化)或是它仅仅是一个近似值。
5.2. 多维查找
为了进一步加速这消除过程,我们用一个由粗糙到精细的策略(既有时间又有空间)。我们从粗糙的维度选择第一个查找碎片,因为两个原因:(i)在数据库里有一个更小数量的粗糙碎片比精细的碎片(这样减少了有效的N在第一个最强烈的步骤中),并且(ii)粗糙的碎片更加有判别力的因为他们从巨大的区域中捕获了信息。这消除数据库组合的候选区域是非常快速的。我们进行下去直到我们处理完所有的在观察到的粗糙维度的碎片。于是我们投出候选原始点到下一个精密标度并且继续去处理在精密维度(既是空间上也是时间上的)里的碎片。我们用多维度的方法去处理所有在观察到组合里的碎片。这个多维度查找的复杂度是O(N0 + kc),这里N0是时空金字塔里最粗糙维度的碎片数量。
5.3.高效的数据库存储和检索
一个简单的数据库实现可以是用一个碎片描述符的排列和线性的查找。然而,时间和空间复杂度可以显著的分别的提升数据库的存储和检索。存储空间可以通过保持描述符向量近似值的方法得到显著的减少。例如,所有描述符向量通过利用标准技术例如PCA和ICA的技术可以被到映射成一个低维线性空间。另外,向量量子化技术(例如K均值,或是Jurie and Triggs(2005))可以被应用到描述符的聚类组中。映射和量子化的结果是出现更少存储的描述符,并且每一个描述符都更短了。另一个好处是数据库检索时间被缩短了。注意到映射和量子化在描述符向量里引进了错误。假如每一个“被压缩”的描述符向量包含一个连接原始描述符的话,我们就可以消除错误了。本案例中,存储空间没有被缩小,但是检索的时候将会被缩小。一个接近的相关的缩短数据库检索时间的相关方法是使用更好的数据结构去存储描述符向量,例如KD树和hash表去查找大约最近邻。这些数据结构使最快范围查询(在一个给定的元素的某一范围里发现所有在数据库里的元素)。这个时间复杂度的结果是O(Range(N0)+ kc),这里(N0)《 N0表示在有N0元素(碎片)的数据库数据结构的范围查询的代价。
5.4 利用预查询的方法
到目前为止我们假定上面描述的组合算法是被应用到所有观察的点,这些点完全不彼此不相关的。这常常是徒劳无功的,因为邻近的被观察到的组合在数据库里倾向于拥有近邻隐藏的组合。我们利用这个事实通过测试隐藏组合变量在空间和时间上的值去加速合成的过程。通过所有的先前组成的组合,凭借着从观察到的重叠碎片里获得的知识,我们预测隐藏组合中心的位置和数据库里的隐藏碎片的身份。我们用最简单的预测:给定一个近邻的观察到的组合(˜y和它的相应被探测的数据库组合~ X),我们预测一些在隐藏组合X里的隐藏变量,相对应的是一个新观察到的组合Y。我们预测用以下公式预测隐藏组合中心Cx:
cx = c˜x + cy − c˜y
(11)而且,对每一个观察到出现在预测组合(liy, diy)=(l˜jy ,d˜jy)的碎片(liy,diy),我们预测相应的隐藏变量(lix, dix)=(l˜jx ,d˜jx)。没有预测的剩下的隐藏变量,可以用改进的消除过程非常快的被推断出来。注意到的是对于近邻组合,大多数的观察到的碎片是重叠在一起的,因此组成一个新组合的复杂度是非常低的。万一预测错误并且因此导致一个低质量的组合(也就是说,被观察到的区域有较低的可能性),我们就抛弃这预测结果并且在整个的数据库里都用通用的推论。这样,这个预测查询就不会在数据库的别处阻止探测。然而,在大多数的情况下,这预测查询是很精确的并且它减少相当多的推论时间。假定有一个长度为r的合法性预测“链条”,在链条中预测一个组合的代价是O(k)。因此,这样一个链条的总的复杂度是O(Range(N0)+ kc + kr)而不是没有预测时的O(Range(N0)r +
krc)。除些之外,还非常的明显的缩短推论时间,预测确实提升了推论的准确性。这是因为组合精准的这些区域繁殖信息到了精确性不高的那些区域(例如,一个站立的人的一条腿比身体的上部有更少的确定性)。
6. 应用
在本论文提出的方法引起了各种各样包括探测图像和视频不规则方面的应用:
6.1.探测与异常图像结构
给定一个样本图像数据库,我们可以要新观察到的图像中探测一些异常的东西(例如从来都没有见过的物体,新的图像模式,等等)在Fig.6里给出一个例子。三个不同姿势的图像作为一个数据库被提供(Fig.6(a))。其它姿势的图像作为查询被提供(Fig.6(b))。新的合法的姿势被自动的从数据库里推断出来,尽管它们是从来都没有见过的。不能从三个数据库图像被推断出来的新姿势部分被用红色标示成“不熟悉的”(Fig.6(c))。Figure 6(d)真实的标出了这些能够为大多数查询图像中的每一个像素提供证据的数据库图像(也就是说,这告诉我们哪一个数据库图像包含了最大可能支持那像素的区域。注意,然而,这些并不是支持它们自己的区域)。默认具有相同碎片的和从推论过程中被抛弃(为了加快速度)的相同的碎片(具有可以忽略的图像倾斜度)被假定为合法的。
Figure 6.Detection of irregular image configurations.New valid poses are automatically inferred from the database(e.g., a man sitting on the chair with both arms up, a man sitting on a chair with one arm up), even though they have never been seen before.New pose parts which cannot be inferred from the three database images are highlighted in red as being ―unfamiliar‖.6.2 单一图像的空间显著
给定一幅单一的图像(也就是说没有数据库),显著图像区域可以被探测到,例如,那些凸出的不同于剩余部分的图像的区域。这可以通过测量每个相对于同一幅图像中剩余点的图像区域(即“查询”)的可能性来实现(这数据库用作推论这特殊的区域)。这个处理过程为每一个图像区域重复着。(当进行着从一个图像区域的分析到下一个图像区域的分析时,这个处理过程可以通过自适应增加或是减少数据库中的大约描述符的方法而很高效的实现)。这样的一个例子在Fig.7.中表示出来。这个方法可以被应用到自动视觉检测的问题中(计算机芯片、货物等的检测)。
Figure 7.Identifying salient regions in a single image(no database;no prior information).The Jack card was detected as salient.Note that even though the diamond cards are different from each other, none of them is identified as salient.6.3 探测可疑行为
给定显示几个合法行为例子的一个小数据系列,我们可以一个新的长
视频中探测到可疑和为。这是完全不管我们以前从来都没有看过这些行为的组合,而且是没有关于哪一类的可疑行为可能发生在视频里的先验知识的。这些是自动的组合与从数据库中的时空区域里推断出来的。Fig.8有一个这样的例子,它从一个2分钟长的视频短片里显示出几个用来探测可疑行为的例子。要看完整的视频请登录www.xiexiebang.combinations are automatically inferred from the database(e.g., two men walking together, a different person running, etc.), even though they have never been seen before.behaviors which cannot be inferred from the database clips are highlighted in red as being ―suspicious‖.For full videos see www.wisdom.weizmann.ac.il/∼vision/Irregularities.html
6.4 视频中的时空显著
利用我们的方法我们可以从一个简单的视频流里就能识别出显著行为,完全不用任何的数据库或是先验信息。例如,一个人在欢呼的人群中奔跑。这个人的行为很明显是显著的。在这个案例中,显著性是通过相对于同一时间观察到的其它行为的比较而测量出来的。每一个
时空视频片断(查询)的合法性是相对于所有其它视频片断而测量出来的。这个处理过程为每一个视频片断重复进行着。这样的例子在Fig.9里有给出。要获取全部视频,登录到www.wisdom.weizmann.ac.il/∼vision/Irregularities.html。视频显著性也可以通过相对于其它的时间窗口来测量到。例如,当显著性是通过相对于整个视频而测量的,那么那些只出现过一次的行为将显得突出。作为选择的,当显著性的测量是相对于过去(所有之前的帧)而测量的,那么新的之前没有发生过的行为就会被认出。这提升了应用的多样性,包括视频大纲。
Figure 9.Detecting salient behaviors in a video sequence(no database and no prior information).Saliency is measured relative to all the other behaviors observed at the same time.In this example, all the people wave their arms, and one person behaves differently.For full videos see www.wisdom.weizmann.ac.il/∼vision/Irregularities.html
6.5 自动视频检查(质量保证)
我们的方法可以被应用到自动视觉查检。自动视觉检查可以广泛的应
用在质量保证和货物的制造方面,电子印板,晶片等。自动检查的一个主要的问题是怎么描述所有可能正确的模式。在这些案例中,自动检测减少成一个具有转变探测的简单问题模型匹配。然而,有很多重要复杂案例,它是毫无意义或不可能提供比较参考,(例如,由于“好”案例的空间的组合复杂度)。我们用我们的方法从事这样的案例从而来探测不规则性。通过提供一些期待/正常模型的样例(对于货物,印刷板,晶片,光掩膜,平板显示,磁砖,织物,水果等)我们努力去从这些样例通归纳和组成新的从来都没有见过的现象。具有较低组成可能性的将为认为是错误的。在Fig.10给出这样的一个水果检查的样例。经常,被检查的产品呈现出重复的模型(例如,晶片,织物,平板显示)。在这些案例中,我们可以用我们的显著方法去探测错误根本不需要先验样例。这在Fig.11中图表说明晶片检查和Fig.12里的织物检查。对于给出的样例中,我们已经利用到基于RGB或是灰度等级的碎片描述符。我们已经利用到一个高斯分布来对描述符相似性建模。我们的方法,然而,没有局限于特定的描述符。
Figure 10.Detection of defects in grapefruit images.Using the single image(a)as a ―database‖ of high quality grapefruits, we can detect defects in different grapefruits at different arrangements in images(b),(c).In both image pairs the input image is to the left and the output image is to the right.Detected defects are highlighted in ―red‖.Figure 11.Detection of defects in wafer images(No database and no prior information).Wafers tend to exhibit repeating structures.This can be utilized using our saliency approach to detect defects without any database.In each example, the left image is the input, the right image is
the output.Detected defects are highlighted in ―red‖.Figure 12.Detection of defects in fabric images(No database and no prior information).Fabric tend to exhibit nearly repeating textures and patterns with small non-rigid deformations.This can be utilized using our saliency approach to detect defects without any database.Detected defects are highlighted in ―red‖.7. 结论
我们研究的问题是探测视觉数据(图像或视频)里的不规则现象。“不规则”这个术语是依赖于被定义“规则”或“合法”的上下文。然而,对于给定的上下文,期待显定义所有可能合法结构是不现实的。我们把决定视觉数据合法性的问题当作构造一个迷题的过程:我们尽力利用从先前视觉样例(数据库)中解压出来的数据块去组合一个新观察到的图像区域或是一个新视频片断(查询)。能够用数据库里的巨大邻接数据块去组成的观察到的数据区域被认为是相似的,相反那些不
能从数据库里的数据组成(或是能组成,但只是可以由小数量的碎片组成)的观察到的区域被认为是不相似/可疑的。我们把这个过程定义为“通过组合的推论”。它允许我们在仅仅少数几个样例就能在一个更大的上下文中去归纳什么是规则的什么是不规则的。这个压缩过程的实现是作为一个盖然论图像模型里的高效推论运算法则来完成的,它适应查询与数据库之间微小的时空变形。“通过组合的推论”也能应用在完全没有先验样例的情况下探测视觉数据显著性。为了这个目的我们把每一个图像区域称作一个“查询”,并且尽力利用剩下部分的图像(数据库)去组合它。这个过程依次对所有的图像区域重复着。像这样一些不能用图像的其它部分“解释”(组合)的区域将作为显著区域被探测出来。这引导了一个新定义的术语视觉数据显著性。在视频数据的案例中,这些区域是时空性的,并且这些显著性视频区域是相应于显著性行为。我们的“通过组合的推论”这方法是通用的并且因此能够研究在简单统一的框架里问题,它的一般性使它不用采取任何基于分类模型的预学习的方法。我们通过探测可疑行为,显著性行为,显著性图像区域,探测货物或产品来证明这个方法的应用。我们当前的运算法则有两个主要的局限性:(i)尽管闭塞可以被处理到一定程度,它不能处理一些极端的闭塞(例如当只有物体的小碎片部分是显著时)。(ii)时间和存储的复杂度在我们当前的推论算法中是随样例数据库的大小显线性变化的。这很显然对于巨大数据库来说是有问题的。这两个问题是我们将来研究的一个主题。
第三篇:基于SVW的图像隐写盲检测(读书笔记)
基于SVW的图像隐写盲检测
作者:管超
内容:隐写技术与隐写分析技术作为信息安全领域一个研究热点,在短短几年实践中缺的了很大进展。隐写术是利用人类感觉器官的不敏感性,以及图像本身存在的冗余,将秘密信息隐藏于一个数字媒体而不被察觉。而伴随而生的隐写分析技术即是揭示媒体中隐秘信息的存在性,判别媒体中的隐藏信息可能性。盲检测技术是根据隐藏信息嵌入前后,提取反映图像细微变化的数学统计特征,借助分类器对其特征进行分类,从而区分原始图像与含密图像。
此文主要总结了当前主要的盲检测特征提取算法,并指出其优缺点。分析了隐藏信息的嵌入对灰度共生矩阵的影响,提取灰度共生矩阵作为图像特征。同时从图像噪声的角度研究图像隐写和盲检测。针对纹理图像检测的困难,将纹理分类的方法引入图像隐写的盲检测中。
第四篇:实时视频图像的清晰度检测算法研究教案
实时视频图像的清晰度检测算法研究
2010-12-18 17:11:42
来源:微型机与应用
关键字: 实时视频图像
背景提取
Sobel算子
清晰度检测
实时视频图像的质量分析已成为众多应用领域性能好坏的关键因素之一,因此实时视频图像的清晰度检测变得尤为重要。目前针对实时视频图像清晰度检测的研究较少,图像清晰度检测算法的研究对象主要针对静止的图像。现有的图像清晰度检测算法大致分为空域和频域两类。在空域中多采用基于梯度的算法,如拉普拉斯(Laplace)算法、差分平方和(SPSMD)算法、Sobel算子等。此类算法计算简洁、快速、抗噪性能好、可靠性较高。在频域中多采用图像的FFT变换(或其他变换),如功率谱(Power-spectra)算法等[1-2]。此类算法的检测效果好,但计算复杂度高、计算时间长,不适合应用在基于软件实现的实时检测系统中。
当前对实时视频图像的一种重要应用是对运动目标的检测,常用的目标检测方法有帧差法、背景减法、光流法及运动能量法[3],其中最简单而又快捷的方法是背景差法。其基本思想是通过对输入图像与背景图像进行比较来分割运动目标,关键环节是背景图像的提取。目前常用的背景提取方法有多帧图像平均法、灰度统计法、中值滤波法、基于帧差的选择方法、单高斯建模等。参考文献[4]中对以上算法做了充分的研究。
本文是针对实时视频图像的清晰度检测,基于实时视频图像背景基本保持不变的环境。通过比较上述算法,针对实时视频图像的特点,提出一种基于背景提取与Sobel算子相结合的实时视频图像的清晰度检测算法。实时视频图像的清晰度检测算法原理
当视频播放画面超过24帧/s时,根据视觉暂留原理,人眼无法辨别每幅单独的静态画面,看上去是平滑连续的视觉效果。视频中的事物通常分为静止和运动两类,连续多帧画面中保持静止的物体可视为静止的背景,连续多帧画面中位置变化的物体可视为运动的前景。因此,实时视频图像中的每帧图像都可以划分为静止的背景和运动的前景两类区域。由于视频序列图像中运动的前景区域随机变化,引起图像像素点梯度值的随机改变,使得实时视频图像的清晰度检测较难实现。因此,本文的算法是利用实时视频图像中静止的背景区域检测视频序列图像的清晰度,即由背景提取和清晰度检测两部分组成。
1.1 实时视频图像的背景提取
由参考文献[5]可知,视频序列中帧图像的静止背景区域由灰度值变化较小的像素点构成,每个像素点都有一个对应的像素值,这个值在一段时间内保持不变;运动的前景区域由灰度值变化较大的像素点构成,各像素点在不同的帧图像中的位置改变,形成运动轨迹。背景提取的目标就是根据实时视频图像中像素值的上述特点,找出图像中背景像素点的值。采用多帧图像累加平均的方法来获取图像的背景,从统计学角度,运动物体可视为随机噪声,而均值可以降噪,采用多帧图像累加取均值可消除运动物体,获得静止的背景图片。背景图像的计算公式为:
式中,f(x,y)为图像灰度,gx和gy可以用卷积模板来实现,如图1所示。
传统的边缘检测中,Sobel算子利用如图1的水平和垂直两个方向的模板,但实际情况中的梯度方向是未知的,因此利用两个方向计算出来的结果存在一定的误差。为了提高梯度计算精度,将模板的数量增加到4个,如图2所示,即0°、45°、90°、135° 4个方向。虽然继续增加模板的数量可以进一步提高计算精度,但考虑到计算效率,模板数量不宜过多。算法描述
本算法大致分为三步:
(1)截取一段实时视频图像,获取初始背景图像。
(2)利用当前实时视频图像更新初始背景,获得待检测的背景图像。
(3)根据Sobel算子计算背景图像的边缘梯度值之和,根据阈值判断背景图像的清晰度,得到实时视频图像的清晰度评价值。
算法描述如下:
从实时视频图像中截取一段时长为1 min的视频图像,每5 s进行1次采样,共得到12帧图像。为减少计算量,将采样得到的12帧图像由RGB空间转换到灰度空间。对图像中每个像素点的灰度值f(x,y)累加求平均,得到实时视频图像的初始背景图像。计算公式为:
式中,n为边缘点的个数。将value与清晰的实时视频图像背景的清晰度检测范围值(经大量的实时视频图像实验得到)比较,若value∈T(α1,α2),则实时视频图像是清晰的;若valueT(α1,α2),则实时视频图像是模糊的。实验结果与分析
目前,大部分的摄像系统都是基于RGB颜色空间,每个像素点在RGB空间中是一个三维矢量。为了减少计算量,使用灰度图像序列,即将彩色视频序列转换成灰度视频序列,基于灰度视频图像完成提取背景及实时视频图像的清晰度检测。
实验程序在PC机上运行,编程软件是Matlab R2007b,采用的是24位RGB视频序列,30帧/s,每帧图片的分辨率是320×240。从实时视频图像中提取背景图像后,本文分别采用Sobel算子、平方梯度法和快速检测法三种算法对图像的清晰度进行检测。
实验拍摄的视频图如图3所示。视频中杯子为移动的物体,杯子由视野的右侧移动到视野的左侧,背景物体基本保持不变。图3中的图片1和图片2分别是从实验视频中截取的图片,杯子的位置不断改变,图片3为清晰的实时视频图像的背景图像,其像素梯度值作为判断视频序列图像清晰度的参考阈值,如表1所示。图3中的图征4~9分别是从6段不同的实时视频图像中提取的背景图片。6段视频序列图像的清晰度逐渐减弱,其背景图像也越来越模糊。基于上述背景图,本文采用了三种算法:Sobel算子清晰度检测、平方梯度算法和快速检测法。其中Sobel算子清晰度检测如文中所述,平方梯度算法将微分值平方,计算公式为:
式中,图像大小为M×N,f(x,y)表示(x,y)处的灰度值[6]。快速检测法是先求图像的灰度均值,分别计算灰度值大于和小于图像灰度均值的像素点的均值H和L,然后利用评价因子F=(H-L)/(H+L)来检测实时视频图像的清晰度。
三种算法对实时视频图像的清晰度检测结果如表1所示。清晰度评价值经过归一化处理,便于算法准确度性能的比较。由表1可知,Sobel算子清晰度检测和平方梯度算法的清晰度评价值的变化趋势与幅度和肉眼观测到的事实基本相符,视频序列图像越模糊,清晰度评价值越小,即实时视频图像1、2、3的清晰度评价值在评价范围内,实时视频图像是清晰的,实时视频图像4、5、6的清晰度评价值在评价范围之外,实时视频图像是模糊的。快速检测算法对清晰度的敏感度低,视频很模糊时,评价值仍然较大,不能很好地衡量清晰度的变化幅度。表2比较了三种算法的时间性能,可知Sobel算子清晰度检测算法与快速算法计算时间较为接近,平方梯度算法计算时间最长。综上所述,平方梯度算法评价效果较好,但实时性较差;快速算子计算速率高,但对模糊的灵敏度低;Sobel算子的评价效果好,实时性也符合系统的要求。
为了对实时视频图像的清晰度进行实时检测,针对实时视频图像的特点,本文提出了采用背景提取和Sobel算子相结合的清晰度检测算法,该算法在帧图像清晰度检测时计算效率高,能够自动实时地完成实时视频图像的清晰度检测。但目前此算法仅适用于实时视频图像中背景基本不变或微小变化的场景。如果背景图像变化幅度较大,需要调整判断视频清晰度的评价范围作为新的评价标准,这也是后续工作的研究重点,以使该算法在更多的场景中应用。
第五篇:图像视频处理基础知识总结
彩色图像基础知识普及篇
⑴ 图像采集的原理
数码相机,摄像机等都是通过传感器来获取图像的,传感器阵列是由横竖两个方向密集排列的感光元件(CCD或CMOS)组成的一个二维矩阵,它收集入射能量并把它聚焦到一个图像平面上,与焦点面相重合的传感器阵列产生与每一个传感器接收光总量成正比的输出。数字或模拟电路扫描这些输出,并把它们转换为信号,由成像系统的其他部分数字化。
⑵ BAYER矩阵
传感器阵列的排列方式可以有很多种,现在最常用的是Bayer矩阵模式的排列方式,即每个CCD就对应一个像素。其中R感应红光、G感应绿光、B感应蓝光,而在Bayer模式中G是R和B的两倍(因为我们的眼睛对绿色更敏感)。以下是Bayer阵列的一种排列方式: RGRGRGRGRG
GBGBGBGBGB
RGRGRGRGRG 以中心绿色的G为例,此像素只有G,缺少R与B,R就等于上下两个R的平均值,B就等于左右两个B的平均值。其他的R与B都是一样的,每个像素补齐RGB三色就可以。此种插值算法是最简单最高效的,当然在一些图像的边界之处其影像效果最会有一些折扣。
⑶ 伽马校正
数码相机拍摄出的彩色图像,以及我们把一幅图像在显示器上显示出来都要进行相应的伽马校正。数码RAW格式的拍摄是采用线性的gamma(即gamma 1.0),可是人的眼睛对光的感应曲线却是一“非线性”的曲线。所以RAW Converter会在转换时都会应用一条Gamma曲线到Raw数据上(简单的理解,就是相当于对原始数据进行一个f(x)的变换,并且注意,f(x)并不是一次的线性函数),来产生更加接近人眼感应的色调。同理,显示器的强度(Intensity)并非与输入讯号成正比(非线性关系),这种非线性特性称为Gamma特性。
各参数简述如下: ① Image_gamma:为输入影像的γ值,一般订为γNTSC=2.2,γPAL=2.8,γRGB=1,γMAC=1.8;
② Display_gamma:因制造技术的关系,每一制造厂生产出来的显示器γ值都会不一样,所以制造厂需提供显示器γ值,一般订为γCRT=2.5,γLCD=1.6;
③ Viewing_gamma:为最后我们用眼睛去看的结果,理想状况为1,即为看到的影像为原
始影像,一般会因外在环境的影响,γ值从1至1.5变化。
④ LUT_gamma:伽马参数的LUT表。
输入讯号经γ修正器与显示器后,最后希望看到的是与原输入影像一样的画面,即没有失真。
⑷ RGB和YUV图像
在计算机中使用最多的 RGB 颜色空间,分别对应红、绿、蓝三种颜色;通过调配三个分量的比例来组成各种颜色。一般可以使用 1、2、4、8、16、24、32 位来存储这三颜色,不过现在一个分量最大是用 8 位来表示,最大值是 255,对于 32 位的颜色,高 8 位是用来表示透明度的。彩色图一般指 16 位以上的图。灰度图有一个特殊之处就是组成颜色的三个分量相等;而一般灰度图是8 位以下。
在彩色电视机系统中,通常使用一种叫 YUV 的颜色空间,其中 Y 表示亮度信号,也就是这个 YUV 空间解决了彩色电视机和黑白电视机的兼容问题。对于人眼来说,亮度信号是最敏感的,如果将彩色图像转换为灰度图像,仅仅需要转换保存亮度信号就可以。
从 RGB 到 YUV 空间的 Y 转换公式为:
Y = 0.299R+0.587G+0.114B
在 WINDOWS 中,表示 16 位以上的图和以下的图有点不同; 16 位以下的图使用一个调色板来表示选择具体的颜色,调色板的每个单元是 4 个字节,其中一个透明度;而具体的像素值存储的是索引,分别是 1、2、4、8 位。16 位以上的图直接使用像素表示颜色。
⑸ 彩色图转换为灰度图
灰度图(GrayScale)是指只含亮度信息,不含色彩信息的图像。灰度化处理是把含有亮度和色彩的彩色图像变换成灰度图像的过程。灰度化处理在许多图像处理中是很重要的一步,他的结果就是后续处理的基础。所以,寻求一种正确有效的灰度化处理方法尤其重要。
那么如何将彩色图转换为灰度图呢?
常用的色彩系统有RGB、YIQ、YUV。
1)YIQ色彩系统属于NTSC电视广播制式系统。Y是亮度,即图像的灰度值,I和Q则是指色调。它与RGB的关系为:
2)YUV属于PAL电视广播制式系统。Y也是亮度,U和V也是色调。它与RGB的关系为:
灰度图中有调色板,首先需要确定调色板的具体颜色取值。我们前面提到了,灰度图的三个分量相等。当转换为 8 位的时候,调色板中有 256 个颜色,每个正好从 0 到 255 个,三个分量都相等。当转换为 4 位的时候,调色板中 16 个颜色,等间隔平分 255 个颜色值,三个分量都相等。当转换为 2 位的时候,调色板中 4 个颜色,等间隔平分 255 个颜色,三个分量相等。当转换为 1 位的时候,调色板中两个颜色,是 0 和 255,表示黑和白。
将彩色转换为灰度时候,按照公式计算出对应的值,该值实际上是亮度的级别;亮度从 0 到 255 ;由于不同的位有不同的亮度级别,所以 Y 的具体取值如下:
Y = Y/(1<<(8-转换的位数));
最后一点需要注意,得到 Y 值存放方式是不同的;分别用对应的位数来存储对应的 Y 值。在计算 Y 值的时候,使用的整数除法,这是有误差的,为了消除误差,需要采用误差扩散的算法,也就是将该误差值向其邻近的像素点扩散,当然按照一定的比例来分配;例如:整除之后,余数是 5,采用 3/2/3 的策略,就是,右边像素和正下面的像素各占 3/8,而右下角的像素占 2/8。
2.图像格式转换的算法描述
⑴ BAYER矩阵转换为RGB格式图像的算法描述
我们通常采用插值算法(Interpolation)把BAYER矩阵中的像素的颜色值转换为一个像素的RGB的数值。我们通常以3×3的插值算法来计算BAYER矩阵的像素的RGB值,该插值算法中某个位置像素的RGB分量的值只取决于以该像素为中心的3×3的邻域中同样分量的均值。
⑵ RGB格式图像转换为灰度图像的算法描述
我们进行图像处理通常都是在微机上进行的,因此以微机的Windows系统为例来介绍如何将RGB格式图像转换为灰度图像。
Windows系统中使用的是设备无关位图(DIB)
DIB即Device_Independent Bitmap。目前,Windows处理的DIB通常是以BMP文件存在。BMP文件文件有如下的四个部分;
1)位图头文件:BITMAPFILEHEADER,它是一个位图标志
2)位图信息头:BITMAINFOHEADER
它定义了图像的大小,长宽等信息,长度固定为40个字节。
3)调色板(Palette)
它用来存放位图的颜色,如果是真彩色图,则不需要调色板。其定义为: 所谓调色板就是在16色或256色的显示系统中,将图像中频率出现最高的16或256种颜色组成颜色表。对这些颜色按0至15或255进行编号,每一个编号代表其中的一种颜色。这种颜色编号就叫做颜色的索引号,4位或8位的索引号与24位颜色值的对应表叫做颜色查找表。使用调色板的图像叫做调色板图像,它们的象素值就是颜色在调色板查找表中的索引号。
4)实际的图像数据
对于用到调色板的位图,图像数据就是该像素颜色在调色板中的索引值,对于真彩色图,图像数据就是实际上的红(R)、绿(G)、蓝(B)的值。由前面介绍的原理可知,知道图像某点的R、G、B值,要得到亮度信息,则可由下式计算出: Y=0.299*R+0.587*G+0.114*B(1)
而在用BMP表示的灰度图中,其红(R)、绿(G)、蓝(B)三个分量的值相等,即有
R=G=B(2)式
把(2)式代入(1)式中,可得:I=Q=0,即图像没有了色彩信息。
同理,对YUV颜色空间也一样。
为了把彩色图像转换为灰度图像,首先要找出彩色图像的颜色值:R、G、B。然后,通过(3)式计算,即可得出亮度值Y。再令:R=G=B=Y,则得到的新的图像,即灰度图像。
对于24位或32位的真彩色图像而言,找出每点的RGB值相对容易。前面介绍了,24位或32位真彩不需调色板,它的图像数据就是实际的RGB的值。RGB三个分量分别占有一个字节,即容易取得RGB的值。
而对于16位位图言,它的一个点用两个字节来表示。它也不用调色板。要取得RGB的值,就需要了解R、G、B在这两个字节中的位置。它们所占的位置是这样的:
R占高5位,B占低5位,G占中间6位。
取出相应的RGB值后,都转变为八位(低位补0)。再通过(1)式,即可得到该点的亮度值Y。然后,写回新的256色位图时,令R=G=B=Y,这样,就得到了一个256级的灰度图像。