阴影检测

简介: 阴影检测

阴影检测对于三维目标识别中有着重要的影响,本文针对阴影形成的机理,常见的检测模型等进行阐述。

阴影模型分析

      阴影形成,阴影的产生主要是由于光线的遮挡。如图一所示,扩展光源发出的光线被遮挡物遮挡后,物体表面亮度降低,其中光线完全无法到达的区域称为本影区,光线部分被遮挡的区域称为半影区,半影区亮度介于本影区与明亮区域之间.

2020010617324675.png

    人眼能够感知的物体亮度由入射至物体表面的光亮度和物体表面反射率决定. 通用的阴影模型常表示为亮度及反射率相乘的形式

20200106172827243.png

其中,式中:Ii为图像第i个像素位置的 RGB 向量,表示三通道灰度;Ld为光源发出的直射光亮度;Le为环境光亮度,同样是 RGB 颜色空间内的向量;Ri为图像中第i个像素位置对应的 RGB 三通道反射率;θi为直射光光线方向与物体表面法线方向的夹角;ti∈[0,1.0],为光源发出的光线到达物体表面的比例,ti=1.0代表明亮区域像素,ti=0 代表本影区像素,ti∈(0,1.0)代表半影区像素. 对于阴影检测任务,已知 RGB 彩色图像I,要求判断各位置像素的类别归属,即确定(1)中ti=1.0或是ti∈[0,1.0) . 式(1)中除Ii之外,其余参数均未知

基于颜色的常用阴影检测算法

   1)基于HSI颜色空间的阴影检测

   HSI颜色模型是一种更符合人类视觉感知特征的模型,符合人类肉眼对颜色的感知和识别,被广泛应用于计算机视觉领域。根据阴影产生的原因及特点。采用HSI颜色空间来检测阴影是再合适不过的。通常,对于阴影区域,其主要是由于光线的遮挡而产生的一个相对较暗的区域。在该区域中,颜色的色调信息H和饱和度信息S具有较小的变动,而亮度信息I会有较大的变换,但是HS基本上包含了颜色信息。因此根据这个特点,我们在检测某一个像素是否为背景时,之需要判断该像素的HS分量浮动较小,而I变化幅度较大就可以。

   2)基于RGB空间的阴影检测

    RGB颜色空间是我们常用的空间,是使用最广的一个颜色空间。利用RGB颜色空间来检查阴影,其主要原理:当一个物体的亮度变化时,人眼感知到的颜色信息是不变的,物体被感知的颜色取决于物体本身的属性(即物体表面翻身的光线),即物体的被感知的颜色特征取决于物体表面的光谱反射特征,不受广州变化,场景等影响,也和物体的几何形状无光,即色度是独立于亮度的。因此,用该模型来检测阴影,就需要将RGB颜色信息进行亮度和色度的分离,根据亮度和色度的变化来判断阴影像素。

   3)基于YUV颜色空间的阴影检测

    基于YUV颜色空间的阴影检测的基本原理:亮度信号Y与色度信号UV想好独立,即由亮度信号Y和色度信号UV构成的单色图可以进行单独编码和处理。该种方式可以克服阴影检测率不高和灰度空间轮廓线阴影消除方法中受亮度限制的缺陷,能有效地对视频序列中阴影进行检测与消除。

    至此,上述阐述的阴影检测方法都可以归纳为一类,即将颜色信息的亮度和色度信息分类,如HSI颜色模型分解为(HS和I),RGB颜色模型分解为亮度(Light)和色度(chromaticity),而YUV颜色模型分为(Y和UV)。另外,对于阴影的处理还有另一类方法,主要是恢复方法,即对于阴影区域进行复原,还原成没有阴影的信息,该类方法主要有(MSR、Retinex、以及暗通道先验(Dark Channel Prior,主要用于去雾)等)。


目录
相关文章
|
机器学习/深度学习 Python
python图像去阴影
python图像去阴影
|
机器学习/深度学习 缓存 并行计算
NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比
NVIDIA Tesla系列GPU适用于高性能计算(HPC)、深度学习等超大规模数据计算,Tesla系列GPU能够处理解析PB级的数据,速度比使用传统CPU快几个数量级,NVIDIA Tesla GPU系列P4、T4、P40以及V100是Tesla GPU系列的明星产品,云服务器吧分享NVIDIA.
78466 1
|
算法 数据安全/隐私保护 计算机视觉
定量分析图像渲染质量
通常都是由人眼来主观判断图像的质量高低,能否通过数学度量对判定图像的质量呢?比如通过图片的像素/亮度/边缘数量来判断图像是清晰还是模糊
402 0
正则表达式去除空格、符号,只保留中文、英文、数字
正则表达式去除空格、符号,只保留中文、英文、数字
903 0
|
7月前
|
Python
|
XML SQL Java
mybatis学习(22):查询排序
mybatis学习(22):查询排序
230 0
mybatis学习(22):查询排序
|
8月前
|
SQL XML Java
java与sql server数据库连接
在Java中连接SQL Server数据库,你通常需要使用JDBC (Java Database Connectivity)。以下是一个简单的步骤指南,帮助你建立连接: ### 1. **下载并
|
存储 达摩院 Cloud Native
基于Ganos轨迹引擎的运输车辆到达性分析
本文介绍了由阿里巴巴达摩院数据库与存储实验室研发的多模态时空数据库Ganos轨迹引擎在运输车辆位置分析中的应用场景。Ganos通过在数据库中原生内置移动对象的存储、检索与分析能力,打造了全球首个移动对象数据库,为交通、物流、出行、生活服务类客户提供海量轨迹数据的分析挖掘能力。通过阅读本文,用户可以更好的理解Ganos轨迹模型的存储结构与轨迹引擎的相关能力,助力业务开发走向便捷。

热门文章

最新文章