光照模型(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,则表示该区域没有发生变化;否则,就认为该区域发生了变化。
该算法的核心代码已经实现,经过测试,对光照具有较强的鲁棒性(确实是具有鲁棒性,突然的光照变化不会引起全局大范围的变化,即不会出现前景一片白的情况,但是小范围内会出现白片的现象)。由于今天下班走得匆忙,代码下个星期更新附上。