基于Shading Model(对光照变化一定不变性)的运动目标检测算法
光照模型(Shading Model)在很多论文中得到了广泛的应用,如robust and illumination invariant change detection based on linear dependence for surveillance application、Making background subtraction robust to sudden illumination Changes以及Illuminatin independent change detection for real world image sequence(本文介绍的内容)。后面两本文献虽然是90年代的东西,但还是值得看看。先来简单说说什么是光照模型(Shading Model)。光照模型就是给定一个观察的像素点Ip,其值是由照度(Illumination)Ii和光照系数(Shading coefficient)Sp决定的,用公式表示如下:
光照模型的完整形式可以用下图来说明:
由上图和学过的知识可知,光照系数是由物体表面材料的反射因子和物体物理表面结构决定的。因此,对于某一位置,如果其物理表面结构没有发生变化,那么其光照系数将也不会发生;反之,如果物体表面结构发生变化,光照系数也会发生变化。
基于以上的结论,光照系数是由物体的表面结构决定的,而相对于光照变化具有独立性。因此,基于光照系数的目标检测算法不仅可以准确,而且对光照变化具有强鲁棒性。然而,光照系数却事先无法得知,一般也不容易计算。但是,在视频序列中,可以通过计算两帧图像中某一区域的灰度比率(Intensity ratio)来检测光照系数的变化,以此进行运动区域的检测。
灰度比率的计算和检测原理如下:
通过式(17)得到灰度比率方差的举止,如果计算得到的灰度比率方差的均值接近0,则表示该区域没有发生变化;否则,就认为该区域发生了变化。
该算法的核心代码已经实现,经过测试,对光照具有较强的鲁棒性(确实是具有鲁棒性,突然的光照变化不会引起全局大范围的变化,即不会出现前景一片白的情况,但是小范围内会出现白片的现象)。由于今天下班走得匆忙,代码下个星期更新附上。