Kinect学习(6)——深度图与彩色图配准(学习版2)

本次主要学习两个使用标定+变换矩阵进行配准的方法,我还没有实际去做,暂时仅做理论学习。

1、Kinect深度图与摄像头RGB的标定与配准

作者:aipiano
作者使用了第三方摄像头采集RGB图像,Kinect一代采集深度图像。

第一步:RGB摄像头标定
棋盘法:用待标定的摄像头拍摄多幅不同视角下的棋盘图片,将这些图片扔给OpenCV或Matlab,从而计算出该摄像头的内参以及对应于每一幅图像的外参。

第二步:深度摄像头的标定
棋盘法:外置红外光源照射棋盘图,同时用黑胶带把Kinect红外发射器完全挡住,深度摄像头获取多幅红外图后,同样使用OpenCV或MATLAB计算参数。

第三步:计算内参
使用GML Calibration Toolbox计算RGB摄像头和Kinect深度摄像头的内参。

第四步:配准(核心部分)
这一部分的原理原博讲的很清楚,先利用深度摄像头内参矩阵把深度平面坐标(深度图坐标)转换到深度摄像头空间坐标,再利用外参计算旋转矩阵和平移矩阵,把深度摄像头空间坐标转换到RGB摄像头空间坐标,最后利用RGB摄像头内参矩阵把RGB摄像头空间坐标转换到RGB平面坐标(RGB图坐标)。这里只记录一下最终测试程序的思路:

  1. 获取Kinect的深度图像;
  2. 获取RGB摄像头的图像;
  3. 为深度图像中的每一个像素附上对应的RGB颜色,比如你要给坐标为(x, y)的深度图像素附上颜色,具体步骤如下;
  4. 构造一个三维向量p_ir = (x, y, z),其中x,y是该点的像素坐标,z是该像素的深度值;
  5. 用Kinect内参矩阵H_ir的逆,乘以p_ir得到对应的空间点坐标P_ir,具体公式见原文第四部分(配准);
  6. 由于P_ir是该点在Kinect坐标系下的坐标,我们需要将其转换到RGB摄像头的坐标系下,具体的,就是乘以一个旋转矩阵R,再加上一个平移向量T,得到P_rgb
  7. 用RGB摄像头的内参矩阵H_rgb乘以P_rgb,得到p_rgbp_rgb也是一个三维向量,其x和y坐标即为该点在RGB图像中的像素坐标,取出该像素的颜色,作为深度图像中对应像素的颜色;
  8. 对深度图像中的每一个像素都做上述操作,得到配准后的深度图。

需要注意的是,p_irp_rgb使用的都是齐次坐标,因此在构造p_ir时,应将原始的像素坐标(x,y)乘以深度值,而最终的RGB像素坐标必须将p_rgb除以z分量,即(x/z,y/z),且z分量的值即为该点到RGB摄像头的距离(单位为毫米)。

虽然没有实际去做,但是感觉很有可操作性,每一步都很具体,从作者的截图来看效果也不错。

2、kinect 2.0 SDK学习笔记(四)--深度图与彩色图对齐

作者:jiaojialulu
方法、公式和上面都一样,还有源程序。源程序先不分析了,用到的时候再看。相机参数计算工具:Camera Calibration Toolbox for Matlab

另外,作者用SDK的MapDepthFrameToColorSpace函数法和上面这种标定配准法的结果图像中都有重复纹理,他分析认为是因为深度摄像头和彩色摄像头不重合,导致深度图上的一部分在实际的场景中不能被彩色摄像头捕获,导致附着遮挡物体的纹理。

关于重复纹理的问题,参考StackOverflow上的一个提问:Kinect for Windows v2 depth to color image misalignment

小结

深度图与彩色图配准的方法:

  • SDK函数:
    MapColorFrameToDepthSpaceMapDepthFrameToColorSpace
  • 标定+坐标空间变换:
    先用棋盘法计算深度相机和RGB相机的内参、外参,再按如下顺序进行坐标空间转换。(SDK函数所做的应该就是这部分工作)
    深度平面坐标(深度图坐标) -> 深度相机空间坐标 -> RGB相机空间坐标 -> RGB平面坐标(RGB图坐标)
  • 特征匹配:
    利用特征匹配方法匹配两幅图的特征点对,进而配准。这种方法还没有研究。
3/09更新:

在用SDK函数MapColorFrameToDepthSpace时发现两个问题。
1、为了深度图显示,往往会扩大深度图数据一定倍数(我扩大了8倍,即左移3位),这会导致配准结果不准确,深度图相对彩色图有一定偏移。
2、与彩色图对齐的深度图两侧边缘有弧度,这是不是产生了畸变??

另外,我在重建配准彩色图的过程中出现了残影,其原因是每次填充新一帧配准彩色图时没有刷新Mat为全0,导致有些无效的像素仍然保留了上一帧的像素。解决方法就是每次填充前重置Mat为全0矩阵。

再另外,使用MapDepthFrameToColorSpace重建配准彩色图时出现了重影(重复纹理),原因如上面所说,应该是因为深度和彩色相机视角不同,导致(尤其是近处的)遮挡边缘处,深度相机能获取,但彩色相机不能获取,因此此处的深度像素重复对应了遮挡物体边缘像素。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,978评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,954评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,623评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,324评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,390评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,741评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,892评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,655评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,104评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,569评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,254评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,834评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,725评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,950评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,260评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,446评论 2 348

推荐阅读更多精彩内容