单目结构光-格雷码鲁棒二值化

这篇文章主要是回答以下问题:

1)为什么使用格雷码,不适用二进制码?

2)格雷码二值化容易出现什么问题?以及解决方案是什么?

3)格雷码相对移相格雷码的优缺点是什么?

-------------------------------------------------------------------------------------------------------------------------------------------

问题1:为什么使用格雷码,不适用二进制码?

 

问题2:格雷码二值化容易出现什么问题?以及解决方案是什么?

结构光光强照在黑色物体表面的亮度比照射在白色物体表面的亮度要低

 

可以利用结构光系列图片来帮助获取像素点当前是亮条纹还是暗条纹的信息

物体间没有漫反射

不一样的格雷码图片的光强分布,会造成物体间漫反射的光强不一样,导致其经历暗条纹时周围物体间漫反射到的光远大于结构光光源发出来的光,例如:该像素点处于某个物体对的阴影部分,一般情况下这样的点是没有光变化的,因为结构光本身无法直射到该位置,但是因为其周边物体漫反射的光有可能导致这个位置的光强发生剧烈变化。出现该位置经历暗条纹时光强比经历亮条纹时还要强。

1)最简单的二值化:全局固定阈值。

      存在问题:因为物体材质不一,同样的光条纹在不同物体上获取的灰度值不同,固定的阈值不能解决这样的问题

3)进一步的二值化:分析投射的格雷码编码序列图像每个像素的最大值,最小值,获取每个像素点的阈值

      In =\frac{I-Imin}{Imax-Imin}In >0.5,1;In <0.5,0

      存在问题:全1、全0的情况下就计算不了阈值了

3)进进一步的二值化:采用投影全黑+全白图像,获取每个像素点的阈值

      In =\frac{I-Iblack}{Iwhite-Iblack}In >0.5,1;In <0.5,0;或者In =I-\frac{Iwhite+Iblack}{2}In >0,1;In <0,0

      In =\frac{I-Iblack}{Iwhite-Iblack}>0.5

               \frac{I-Iblack}{Iwhite-Iblack}>\frac{1}{2}

               2I-2Iblack>Iwhite-Iblack

               I-\frac{Iwhite+Iblack}{2}

     两个其实是一样的,只是后一个感觉更简洁,容易理解:大于平均值为1,小于平均值为0

     右边背景在全白结构光投射时也比较暗,因此解码后的图像就完全乱了。

     存在问题:不一样的格雷码图片的光强分布,会造成物体间漫反射的光强不一样,导致其经历暗条纹时周围物体间漫反射到的光远大于结构光光源发出来的光,例如:该像素点处于某个物体对的阴影部分,一般情况下这样的点是没有光变化的,因为结构光本身无法直射到该位置,但是因为其周边物体漫反射的光有可能导致这个位置的光强发生剧烈变化。出现该位置经历暗条纹时光强比经历亮条纹时还要强。

 4)进进进一步的二值化:每幅格雷码编码的条纹做一个反向编码图

  第三种方法是采用全黑全白来计算阈值,因为有漫反射,这种方式与有黑白条纹时还是存在一点区别的 ,加入一个反向编码就同步了,阈值就通过当前投射结构光及其反向编码结构光计算:

     存在问题:第二种方法存在的问题描述种,这种方法依然没有解决,依然存在部分点,其经历暗条纹时仍旧可能比经历亮条纹时灰度值要更高,就是结构光无法打到,或打到已经很弱了,已经不及环境光和反射光了

     相机可见而投影仪不可见的表面点的像素应标记为不确定,这种点是无法编码的

 5)进进进进一步的二值化:每幅格雷码编码的条纹做一个反向编码图

    如果我们能求出当前灰度值中可能的来自结构光直接光源的成分的比例,就可以帮助我们辨别出该点是否经历暗条纹或者亮条纹

   

     d        是直接照明分量

     m       是预定最小阈值,d小于这个值,基本就是阴影了,作者设置为5(经验设置)

     itotal  投影仪所有像素照亮的场景的总间接分量

     P       像素点亮度(直接获取)

     \bar{P}       反向编码的像素点亮度(直接获取)

     以上可以参考文献《Robust Pixel Classification for 3D Modeling with Structured Light》

     文献资源:https://download.csdn.net/download/wuxianfeng1987/18274232

     翻译(工具翻译+自己理解修改,最好还是对照英文看,避免被误导):https://download.csdn.net/download/wuxianfeng1987/18274218

    

    

    Lp+ 是像素在格雷码系列图中灰度最大值,Lp-是像素在格雷码系列图中灰度最小值

    Ld可以看作是该像素点来自直接光源的灰度值,对应上面的“d”,Lg可以看作来自其他光源(物体间漫反射和环境光)等的光源的灰度值,对应上面的itotal

    公式里面的d是指光机某点关闭时与开启时的占比,是基于即使关闭还是存在一定程度的光强的假设。

    以上可以参考文献《Fast separation of direct and global components of a scene using high frequency illumination》

    我的理解:https://blog.csdn.net/wuxianfeng1987/article/details/116304916  

     可以看出,这种方法过滤掉了很多背景(认为不确定的点) 。

参考链接:

https://yongqi.blog.csdn.net/article/details/104629036

https://visual-xiaoxin.blog.csdn.net/article/details/100119285

参考文献:

Robust Pixel Classification for 3D Modeling with Structured Light

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值