面向视频侦查的局部过曝抑制降采样白斑算法
李众邦1, 解梦达1, 孙鹏1,2,*, 刘泽楷1, 娄群1
1.中国刑事警察学院,沈阳 110854
2.司法部司法鉴定重点实验室,上海 200063
* 通信作者简介:孙鹏,男,辽宁沈阳人,博士,教授,研究方向为声像资料检验、视频侦查技术、图像真伪性检验、监控视频人体特征检测技术。E-mail: 6094079@qq.com

第一作者简介:李众邦,男,山东济南人,本科在读,研究方向为公安视听技术。E-mail: 2758582382@qq.com

摘要

在视频侦查中,涉案视频的偏色将降低视觉类算法鲁棒性并导致人为认知偏差。然而,现有多数色彩恒常算法在偏色校正过程中的光照估计精度欠佳且实时性较差,导致难以应用于涉案视频的偏色校正。针对上述问题,提出了一种基于局部过曝抑制的降采样白斑算法,算法可用于视频帧或单幅图像的偏色校正。首先,为避免视频帧及图像中过曝像素对光照估计的干扰,基于像素通道分量值对过曝像素进行判定并采用掩模覆盖。随后,通过随机化选取像素的方式对视频帧及图像进行降采样并应用白斑算法,以弱化噪点及杂散噪声对光照估计的影响,同时降低数据量,加快算法运行速度。在标准数据集及自建数据集中的实验结果表明,该算法在采集自多个设备的视频帧及图像中均取得较好的偏色校正结果,在两类数据集中运行速度分别为0.03和0.02 s,相比大多数色彩恒常算法速度优势明显。本文提出的算法可以在采集自多个设备的视频帧或图像中快速执行光照估计并进行色彩校正,算法光照估计精度较高且速度优势明显,可作为涉案偏色视频以及单幅图像的一种校正策略。

关键词: 视频侦查; 计算机视觉; 偏色; 色彩恒常性; 光照估计; 过曝像素; 降采样; 白斑算法
中图分类号:DF793.2 文献标志码:A 文章编号:1008-3650(2022)05-0441-07
An Algorithm on Downsampling White Patches Inhibiting Local Over-exposed Pixels for Video Investigation
LI Zhongbang1, XIE Mengda1, SUN Peng1,2,*, LIU Zekai1, LOU Qun1
1. Criminal Investigation Police University of China, Shenyang 110854, China
2. Key Laboratory of Forensic Science, Ministry of Justice, Shanghai 200063, China
Abstract

In video investigation, the crime-related video color deviation will incur the relevant visual algorithm to reduce its robustness and lead to artificial cognitive bias. However, most present algorithms handling color constancy are poor of both illumination estimation accuracy and real-time performance for color cast correction, hence leaving them being difficult to apply into processing videos involved with crimes. To address the above problems, an algorithm is here proposed for downsampling white patches to inhibit the local over-exposed pixels so that the color cast correction can be carried out into a single image or one video frame. For avoiding interference to illumination estimation of the over-exposed pixels in video frames and/or images, those over-exposed pixels are to determine their componential values on the respective pixel channel so as to have a mask coverage be subsequently carried out. The video frames and/or images are afterwards to downsample through selecting pixels randomly. Finally, the white patch algorithm is to apply into weakening the influence of disturbing dots and/or stray noises on illumination estimation, meanwhile reducing the amount of data and speeding up the algorithmic operation. For the dataset of either the standard or the self-built, the built algorithm can deliver better color cast correction in the video frames and images collected from multiple devices, running at the respective 0.03 s and 0.02 s in the two datasets, demonstrating an obviously quicker speed than that from most algorithms of color constancy. The algorithm proposed here is able to quickly perform illumination estimation and color correction in the video frames or images collected from multiple devices, having advantages of high-precision illumination estimation and evident speed. It can be used as a correction strategy for one crime-related color-cast video and a single image.

Key words: video investigation; computer vision; color cast; color constancy; illumination estimation; over-exposed pixel; downsampling; white patch algorithm

视频侦查技术通过分析涉案视频以确定犯罪嫌疑人身份、所乘车辆及涉案物品等信息, 进而对犯罪嫌疑人进行追踪定位, 为案件侦破提供线索, 是当代公安工作中的核心侦查手段之一。然而, 侦查人员得到的第一手涉案视频往往由于场景光源变化产生色彩偏差, 影响侦查人员对目标的判断, 甚至导致基于目标色彩的错误同一认定, 误导侦查方向, 削损大量侦查力量。为解决上述问题, 需要对视频帧进行光照估计获取光源色彩信息, 以将偏色视频色彩校正至与在标准光源下一致。以上过程即被称为色彩恒常。

现有色彩恒常算法可分为以下两类:第一类是基于低级统计量的算法, 包括白斑算法、灰度世界算 法[1]、Shades of Gray(SoG)算法[2]、灰度边缘算法[3]等; 第二类是基于学习的算法, 包括色域映射算法、基于自然图像统计的算法以及基于贝叶斯学习的算法等。尽管基于低级统计量的算法不如基于学习的算法光照估计精度高, 但是前者往往速度更快且在跨设备光照估计中性能更佳[4]

针对偏色视频的色彩恒常实现通常将视频帧视作单幅图像处理。然而, 对于偏色视频的色彩恒常算法设计不仅需要考虑到算法的光照估计精度及跨设备运行可行性, 还需考虑算法运行的实时性。针对上述需求, 本文提出了一种基于局部过曝抑制的降采样白斑算法。在标准数据集及自建数据集中的实验结果表明, 该算法可在采集自多个设备的视频帧及图像中均表现出较高光照估计性能, 且对2K以上图像的处理时间低至0.03 s。

1 理论基础
1.1 光照反射模型

常见的色彩恒常算法模型均基于Lambert反射模型建立。Lambert反射模型将物体表面的反射类型视为漫反射, 公式为:

$f_{c}(x)=m(x) \int_{\omega} I(\lambda) \rho_{c}(\lambda) S(x, \lambda) d \lambda $ (1)

式(1)中, ƒ c(x)代表图像坐标x处像素的c(c∈ {R, G, B})通道取值, m(x)代表Lambert阴影系数, I(λ )代表光源的色彩, ρ c(λ )代表相机灵敏度函数, S(x, λ )代表坐标x处物体表面的光谱反射率, ω 代表可见光波长范围(380~780 nm), λ 代表可见光波长。假设图像场景由单一光源均匀照明, 由相机观察到的光源色彩ec与光源的实际色彩I(λ )及相机的灵敏度函数ρ c(λ )相关[5]:

$e_{c}=\int_{\omega} I(\lambda) \rho_{c}(\lambda) d \lambda$ (2)

基于窄带假设, 成像设备仅在某一特定波长处存在响应, 则联合式(1)与式(2), 图像在坐标x处三通道像素值ƒ (x)=[ƒ R(x) ƒ G(x) ƒ B(x)]T为:

$f(x)=\left[\begin{array}{ccc} e_{R} & 0 & 0 \\ 0 & e_{R} & 0 \\ 0 & 0 & e_{R} \end{array}\right]\left[\begin{array}{l} S_{R}(x) \\ S_{G}(x) \\ S_{B}(x) \end{array}\right]$ (3)

1.2 降采样白斑算法

白斑算法假设图像RGB各色彩通道的最大响应由场景中完美反射表面引起。由于完美反射表面能够反射所捕捉到的全部光源[6], 因此RGB各通道的最大分量值可视为图像场景中的光源色彩。该算法优点在于简单高效, 但往往会由于坏点、噪声像素干扰或数码相机的有限曝光范围导致光照估计精度较差[7]

降采样白斑算法基于传统白斑算法进行改进, 其主要思路是通过在图像中以随机化选取像素的降采样形式来规避对传统白斑算法影响较大的坏点及噪声像素。该算法的改进依据是利用大多数图像存在许多具有均匀或缓慢色彩变化的像素表面这一特性来规避坏点及噪声像素, 由于图像场景的同一表面中具有均匀或缓慢色彩变化的像素具有较高的相似度, 因此可以通过降采样的方法仅选取部分像素代表整个表面, 从而忽略剩余可能存在坏点或噪声的表面像素。在降采样过程中, 每次随机采集N个像素作为一个样本, 然后针对该样本应用白斑算法进行光照估计。为了避免可能采集到的坏点或噪声像素破坏单一样本, 上述过程将执行M次, 最终的光照估计为来自M个样本的M个估计光源平均值。实验结果表明, 该算法具有较高的光照估计性能, 同时也代表了白斑算法和灰度世界算法的一种降采样的泛化:当M设为1时, 可视为基于降采样的白斑算法; 当N设为1时, 则可视算法为基于降釆样的灰度世界算法[8]。依据参考文献[8], 我们设置M为20, N为60。

综上所述, 降采样白斑算法计算简便、效率高, 同时有效弱化了图像坏点、噪声像素对传统白斑算法的干扰。然而, 该算法在降采样过程中仍然存在误选到过曝像素的可能性, 这将导致算法在视频侦查中的应用效率降低。

2 本文算法

降采样白斑算法本质为利用随机采样得到的各通道分量最大值获取光源色彩信息。但事实上由于相机动态范围有限, 采样得到的各通道分量最大值可能由于发生色彩裁剪而无法代表图像的真实光源色彩信息。针对此问题, 本文在执行降采样白斑算法前采用掩模覆盖的方式对图像局部过曝像素进行抑制, 从而弱化色彩裁剪对光源色彩估计的干扰。

2.1 过曝像素判定

无论是白斑算法还是基于降采样的白斑算法, 均依赖于白斑假设寻找图像中由完美反射表面产生的最大通道响应进行光照估计。然而由于相机有限的动态范围, 白斑假设往往可能错误选取到图像中的过曝像素, 导致产生错误的光照估计。为进一步研究过曝像素对基于白斑假设色彩恒常算法的影响, 利用ColorCheckerREC数据集[9]进行预实验, 在对图像做归一化处理后, 设定初始过曝像素的判定阈值为1, 并以0.01为步长依次递减, RGB三通道任一通道分量小于判定阈值的像素将被视为过曝像素。在对过曝像素进行掩模操作后, 将基于白斑假设选取的像素进行光照估计, 并采用下式评估光照估计精度:

$\operatorname{err}_{\text {angular }}=\cos ^{-1}\left(\frac{e_{e} \cdot e_{t}}{\left\|e_{e}\right\| \cdot\left\|e_{t}\right\|}\right) $ (4)

式(4)中, eeet分别代表估计光源色彩及真实光源色彩, errangular则代表两者间的角误差, 角误差越低代表算法的光照估计性能越好。

基于白斑假设的光照估计角误差如图1所示, 在未去除过曝像素(阈值为1)时, 基于白斑假设选取的像素在光照估计中角误差较大, 这是由于白斑假设基于图像通道分量最大值选取像素进行光照估计, 然而由于相机的动态范围有限, 通道分量的最大值并不能较好地反映光源色彩信息, 因此最终得到的光照估计角误差较高。随着阈值的降低, 可以发现基于白斑假设的光照估计角误差逐渐降低, 并在阈值为0.93后升高, 这是由于在阈值设定过低时, 图像中益于光照估计的高光像素同样被去除, 这导致了光照估计角误差的升高。综上, 过曝像素的去除有利于弱化过曝像素对白斑假设选取像素点时的干扰, 实现光照估计性能的提升。此外, 针对过曝像素的阈值确定同样与光照估计性能关联, 因此需要准确选取过曝像素的阈值。

图1 基于白斑假设的光照估计角误差Fig. 1 Angular error under white patch hypothesis

2.2 过曝像素裁剪

将像素的三通道分量值分别与所设定的过曝阈值t进行比较, 任一通道分量值大于t的像素判定为过曝像素, 则本文所构建过曝像素的判定标准如下式所示:

$f_{c}\left(x_{1}, y_{1}\right)=\left\{\begin{array}{cc} 1 & R_{\left(x_{1}, y_{1}\right)}< t \cup G_{\left(x_{1}, y_{1}\right)}< t \cup B_{\left(x_{1}, y_{1}\right)}< t \\ 0 & \text { otherwise } \end{array}\right.$ (5)

式(5)中, ƒ c(x1, y1)为1代表判定为过曝像素, ƒ c(x1, y1)为0则代表判定为未过曝像素。最后, 将过曝像素集合采用掩模覆盖。本文算法的总流程见图2。

图2 基于局部过曝抑制的降采样白斑算法流程Fig. 2 Operating flowchart of the algorithm to downsample the white patches for inhibiting local over-exposed pixels

3 实验结果与分析
3.1 实验环境

实验环境为Inter(R)Core(TM)i7-8750CPU @2.20 GHZ, 16 GB内存。各类色彩恒常算法的测试均基于MATLAB2017a平台实现。所用数据集为标准数据集ColorCheckerREC和自建数据集, 部分参数见表1

表1 ColorCheckerREC数据集和自建数据集内图像参数 Table 1 Statistics of image parameters in the dataset of eihter the ColorCheckerREC or the self-built

自建数据集共包含图像360张, 以每个拍摄场景为一组, 分为室内场景和室外场景共30组(室外20组, 室内10组)。每组中包含12张照片, 分别由佳能700D、尼康D7100两种不同型号的相机在钨丝灯、阴影、白色荧光灯三种偏色白平衡模式下拍摄。相同场景及白平衡模式下的相机取景尽可能保持一致。图像均为JPG格式且分辨率为1 500× 1 000。相机拍摄模式设置为手动, 两部相机在相同场景下将采用一致的快门时间及光圈数, 具体参数设置将参考场景进行微调以确保图像正确曝光。

3.2 过曝阈值确定

为设定过曝阈值, 本文采用经验阈值方法, 通过实验的方式确定最佳阈值。分别对标准数据集ColorCheckerREC和自建数据集进行测试, 以1为起始值, 0.01为步长依次递减作为阈值, 并计算在不同阈值下得到的光照估计角误差均值及中值。实验结果如图3、图4所示。

图3 ColorCheckerREC数据集角误差Fig. 3 Angular error with ColorCheckerREC dataset

图4 自建数据集角误差Fig. 4 Angular error with the self-built dataset

由图3及图4可看出, 本文算法在两类数据集中的光照估计角误差均随设定阈值减小先降低后升高。由于角误差中值更适于作为衡量色彩恒常算法性能的指标[10], 因此本文对标准数据集ColorCheckerREC和自建数据集的阈值分别选取为0.83及0.99。

3.3 实验结果

为对比本文算法与常见色彩恒常算法性能, 设计在标准数据集ColorCheckerREC进行测试, 对比算法为灰度世界算法、白斑算法、降采样白斑算法、灰度阴影算法以及一阶、二阶灰度边缘算法。此外, 为研究不同算法在不同采集设备中的性能, 本文构建了一类由Nikon及Canon相机拍摄的色彩恒常数据集, 为模拟偏色视频中对视频帧的处理, 该数据集由不同场景及光照条件下的图像组成。各色彩恒常算法在两类数据集中的光照估计角误差如表2表3所示, 表中同样给出了各算法针对单幅图像的平均运行速度。

表2 各算法在ColorCheckerREC数据集中角误差及运行速度统计 Table 2 Angular errors and running speeds from the indicated algorithms with ColorCheckerREC dataset
表3 各算法在自建数据集中角误差及运行速度统计 Table 3 Angular errors and running speeds from the indicated algorithms with the self-built dataset

观察表2表3可知, 普通白斑算法虽然运算速度优于其他的色彩恒常算法, 但是对于标准数据集ColorCheckerREC和自建数据集来说, 无论是均值角误差还是中值角误差, 该算法所给出的结果均较差。本文算法主要解决了降采样白斑算法中易受过曝像素干扰的问题, 因此相比降采样白斑算法在两类数据集光照估计的准确性均得到了较大提高, 且在对比算法中为最优。最后对比各算法的运行速度, 可以发现降采样白斑算法的单幅图像运行速度最快, 且低于同类型白斑算法, 这是由于降采样操作降低了算法在处理单幅图像中的数据量, 因此算法的运行速度可以得到明显提升。相比之下, 本文算法虽然速度略慢于降采样白斑算法, 但相比白斑算法运行速度仍具有明显优势, 对2 K以上图像的处理时间仅为0.03 s左右, 可以在视频偏色校正中达到较好的实时性。为进一步分析本文算法的时间复杂度, 设图像像素数为K, MN分别为1.2节定义降采样操作参数, 则本文算法采用大O计法(Big-O notation)的时间复杂度为O(M× N+K)。

由于本文算法需要遍历图像像素以执行过曝判定, 因此算法速度与输入图像尺寸相关, 故在图像尺寸不同的ColorCheckerREC数据集以及自建数据集中运行时间不同。最后, 观察表4可知, 本文算法在跨设备的光照估计中具有较低的角误差及较高的稳定性, 这表明本文算法同样可以在采集设备未知或采集设备不同的情况下使用。

表4 不同采集设备下本文算法角误差统计 Table 4 Angular errors with the here-built algorithm having been deployed under different acquisition equipment
3.4 算法可视化分析

图5中不同算法的光照估计角误差标记在图像右下角。如图5所示, 白斑算法和降采样白斑算法都易于受过曝像素影响, 因此角误差较高, 且校正后在视觉上存在明显的偏色。而本文采用的基于局部过曝抑制的降采样白斑算法将对算法光照估计性能影响较大的过曝像素采用掩模覆盖, 因此可以得到更低的光照估计角误差, 校正后在视觉上无明显的偏色。

图5 算法可视化(a:原始图像; b:标准图像; c:白斑算法; d:降采样白斑算法; e:本文算法)Fig. 5 Exampled visualization with the algorithm of (a: original image; b: Ground Truth; c: White Patch; d: Downsampling White Patch; e: the Proposed in this paper)

4 结论

视频侦查应用中, 基于色彩恒常算法的偏色视频校正有利于获取目标真实色彩特征, 从而精确锁定嫌疑目标, 准确且快速地发现犯罪线索。本文针对现有色彩恒常算法运行速度慢且光照估计精度欠佳的问题, 提出了基于局部过曝抑制的降采样白斑算法。通过掩模覆盖视频帧或图像中局部区域过曝像素, 再以随机选取像素的方式进行降采样并应用白斑算法, 可以在采集自多个设备的视频帧或图像中快速执行光照估计并进行色彩校正。本文算法的不足之处在于难以处理多光源照明造成的视频偏色问题, 且过曝阈值选取依赖于先验知识, 因此后续工作将重点围绕多光源的光照估计以及过曝阈值的自动选取开展。

参考文献
[1] BUCHSBAUM G. A spatial processor model for object colour perception[J]. Journal of the Franklin Institute, 1980, 310(1): 1-26. [本文引用:1]
[2] FINLAYSON G D, TREZZI E. Shades of gray and colour constancy [C]//Proceedings of the Color and Imaging Conference. Kilworth Lane, Springfield, VA: Society Imaging Science & Technology Press, 2004: 37-41. [本文引用:1]
[3] VAN DE WEIJER J, GEVERS T, GIJSENIJ A. Edge-based color constancy[J]. IEEE Transactions on Image Processing, 2007, 16(9): 2207-2214. [本文引用:1]
[4] QIAN Y, KAMARAINEN J K, NIKKANEN J, et al. On finding gray pixels[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2019: 8062-8070. [本文引用:1]
[5] 张玉萍, 杨学志, 方帅, . 改进的高光边缘颜色恒常性算法研究[J]. 仪器仪表学报, 2015, 36(9): 2076-2082.
(ZHANG Yuping, YANG Xuezhi, FANG Shuai, et al. Research on improved specular edge color constancy algorithm[J]. Chinese Journal of Scientific Instrument, 2015, 36(9): 2076-2082.) [本文引用:1]
[6] GIJSENIJ A, GEVERS T, VAN DE WEIJER J. Computational color constancy: survey and experiments[J]. IEEE Transactions on Image Processing, 2011, 20(9): 2475-2489. [本文引用:1]
[7] FUNT B, SHI L. The rehabilitation of MaxRGB[C]//Color and Imaging Conference. Society for Imaging Science and Technology, 2010(1): 256-259. [本文引用:1]
[8] BANIC N, LONCARIC S. Improving the white patch method by subsampling[C]//2014 IEEE International Conference on Image Processing (ICIP). IEEE, 2015. [本文引用:2]
[9] HEMRIT G, FINLAYSON G D, GIJSENIJ A, et al. Rehabilitating the colorchecker dataset for illuminant estimation[C]//Color and Imaging Conference. Society for Imaging Science and Technology, 2018(1): 350-353. [本文引用:1]
[10] HORDLEY S D, FINLAYSON G D. Reevaluation of color constancy algorithm performance[J]. Journal of the Optical Society of America A, 2006, 23(5): 1008-1020. [本文引用:1]