大场景纹理映射,多视影像因曝光条件不一而导致色彩差异,人眼可以快速区分影像质量,如何利用图像信息辅助算法判断影像优劣。
问题场景
已有影像和其对应Mask(像素级标记主体区域),在已有 几何因子(夹角、距离/分辨率)、完整性因子(大尺寸平面无法被单张影像覆盖)的前提下,尝试在影像质量评价函数中加入 影像本身质量相关的评价因子,特别是对于曝光和离焦的判断,避免使用欠/过曝或者对焦不准的模糊影像进行纹理映射。
- 我们希望曝光评价因子尽可能 与图像内容无关,即不对图像灰度直方图的形状加以约束。
- 仅使用图像熵函数,无法正确反映同一色阶曲线左右平移带来的欠/过曝。因此需要增加能反映亮度值本身的物理量。
- 不同视角下图像内容的变化 会对亮度分布、熵和梯度造成影响。
特别是当角度刁钻时,未建模的物体拉花严重,在图像上占据更多的面积,导致熵/梯度快速增大,是一种伪信息。(待验证:梯度会比熵更加敏感?) - 熵可以部分程度反映图像清晰度。
这加入了另一个考虑因素:模糊度评价。理论上,我们想要找到曝光正确、对焦清晰的图像,这可以转换为寻找熵大+NRSS大的图像。经过实验我们发现,对于尺度变换 NRSS会比熵更不稳定。 对于NRSS,当主体在图像中占比较小即单个像素空间分辨率较大时,NRSS会比应有值更小,误认为图像很清晰。这可能是因为NRSS在生成参考影像的过程中,空间分辨率较大的影像高斯滤波前后变化更小,相似度更高。对于熵,空间分辨率大的影像意味着可能合并了相邻灰度级,会导致熵减,恰恰和我们尽可能选择分辨率较小的清晰图像的目标一致。
数字图像处理
基本统计量
- 灰度均值方差
- 梯度均值方差
- 梯度幅值
- 直方图
- 图像熵
p·log(p) - SSIM / NRSS
色彩空间变换
-
RGB -
转单通道灰度图像 mean = 225.7 stddev = 47.5mean = 158.5 stddev = 33.2 -
转灰度梯度域 gradMean = -0.0008297 / -0.000157461 gradVar = 9.94899 / 5.40874 -
HSV 分离色相 -
YCrCb 分离亮度 opencv中cv::COLOR_BGR2GRAY coeffs = { 0.299f, 0.587f, 0.114f } 正是BGR2YCrCb中luma(Y) 的计算方法,即灰度通道为亮度通道
亮度变换函数
校正欠 / 过曝光
白平衡
处理偏色(色温)寻找图像中的纯白
考虑欠/过曝的图像质量评价指标
自动曝光算法
-
传统自动曝光系统 将 整幅图像的亮度均值 与预设参考值比较来进行曝光控制 当对象主体与背景反差过大时不适用(背光/正面强光) 可对图像预先分区统计亮度值,但无法灵活处理目标实际位置 -
基于直方图统计 利用多阈值区分主体和背景并进行相应的曝光补偿 或者由直方图分布设计亮度统计量 -
基于图像熵 认为在正常光照下的熵最大,欠/过曝光时图像信息都会有所损失 -
基于梯度 -
机器学习 与各种典型场景的亮度值对应 部分结合人脸识别技术,能对人脸部分准确自动曝光
|