本发明涉及机器视觉技术领域,具体涉及一种单目单帧多光谱三维成像方法。
背景技术:
自然世界是三维的,有平面(x,y)位置信息,还包含有z深度信息。人识别深度信息的方法主要包括:通过左右眼视差信息识别、通过眼睛相对于物体运动的运动信息识别和通过物体表面颜色信息识别,目前也有通过物体表面纹理信息探测深度的识别方法。
在过去二三十年间,学术界所研究的3d视觉方法主要包括通过分析左右眼视差信息来获取深度信息。尽管文献中对3d视觉进行了长期讨论,但当今大多数机器视觉系统往往依赖于对两个摄像头所获取的两个二维图像进行分析(如cn201610987447双目立体视觉系统及深度测量方法、cn201410490534根据立体视图原理的3d相机和用于获取深度图的方法和cn201410490534根据立体视图原理的3d相机和用于获取深度图的方法)。然而这类双目立体机器视觉方法信息处理量大,难以快速给出深度检测结果。此外,双摄像头刻度难度较高,同步控制较难,因此目前还难以在实践中广泛应用。
目前还仍然依赖价格昂贵的激光扫描视觉系统来获取周围环境3d图像信息。激光3d视觉系统采用多路激光束,测量激光束从发出到被障碍物反射回来信息的时间差来计算周边障碍物信息,其缺点除了价格昂贵外,还存在空间分辨率不高的问题,主要以点云形式来表现周边环境及障碍物情况,不能实现逼真的图像信息。
技术实现要素:
本发明的主要目的在于克服已有机器视觉方法尤其是双摄像头立体视觉方法计算量大实时性较差的缺点,及已有3d激光视觉系统价格昂贵检测结果为稀疏云团而不能有逼真2d图像信息的缺点,提出一种单目单帧多光谱三维成像方法。
本发明解决其技术问题所采用的技术方案是:
一种单目单帧多光谱三维成像方法,包括如下步骤:
1)图像获取:采用快照式多光谱摄像装置进行一次曝光零时差采集n幅光谱图像;其中,n≥3;
2)图像梯度计算:计算n幅光谱图像梯度,获取n幅光谱图像边缘梯度图;
3)图像边缘提取:提取n幅光谱图像中物体边缘,获取n幅光谱图像边缘位置图;
4)图像边缘梯度:对于全部n幅光谱图像,将得到的图像边缘梯度图与图像边缘位置图做乘积运算,获取n幅光谱图像边缘梯度图;
5)深度探测:遍历边缘梯度图,将每一个像素值代入基于光学模型深度估计函数
具体的,基于光学模型深度估计函数从n幅光谱图像中获得(n-1)*2个深度估计,记为
其中,
所述步骤5)之前,还包括光学模型深度估计函数中不同光谱图像的对焦平面深度dj与di(i,j∈(λ1,λ2,…,λn)的刻度步骤,具体包括:
5.1)将一模板放置于已知某一纵向位置,采用快照式多光谱摄像装置进行一次曝光零时差,采集n幅光谱图像;
5.2)计算n幅光谱图像在每一个像素的聚焦清晰度,表征该刻度模板在已知某一纵向位置时的成像质量;
5.3)重复步骤5.1)及5.2),对于全部n幅光谱图像,建立不同纵向深度d与其成像质量关系曲线,成像质量最高处所对应的纵向深度d即为该波段对焦平面深度df;
5.4)根据步骤5.3)的关系曲线,获取全部n幅光谱图像对应的对焦平面深度dk(∈(λ1,λ2,…,λn)),完成深度估计模型
所述由(n-1)*2个
对于深度估计函数
所述步骤1)中,还包括:使用图像分离提取算法,获取n幅光谱图像。
所述步骤2)中,还包括图像预处理方法;具体为对n幅光谱图像进行滤波处理和灰度归一化处理。
所述步骤3)中,图像边缘提取的方法包括:roberts算子、prewitt算子、sobel算子、laplace算子、kirsh算子、log算子和canny算子的边缘提取方法。
与现有技术相比,本发明的有益效果是:
(1)本发明可以一次曝光获得xy平面空间位置自然校准而图像同一边缘梯度不同的多幅窄带光谱图像;
(2)本发明通过配套的分析算法分析对每次曝光所获得的多副光谱窄带图像进行分析,获得每个边缘处二维位置信息(x,y)的深度z信息,实现空间三维(x,y,z)的探知;
(3)本发明可用于先进制造、智能机器人移动、无人驾驶汽车导航与避障。
以下结合附图及实施例对本发明作进一步详细说明,但本发明的一种单目单帧多光谱三维成像方法不局限于实施例。
附图说明
图1为本发明的单目单帧多光谱三维成像方法流程图;
图2为本发明所述的关系曲线图;
图3为本发明的深度探测步骤的具体实施图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案做进一步说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的一种单目单帧多光谱三维成像方法,其通过至少一个快照式多光谱摄像装置和至少一个图像处理分析装置实现,该方法包括以下步骤:
1)图像获取,利用快照式多光谱摄像装置,进行一次曝光零时差采集n幅(n≥3)光谱图像。
2)图像梯度计算:图像处理分析装置计算n≥3幅光谱图像每一个像素(x,y空间位置)图像梯度。该步骤中还包括n幅光谱图像分离提取,获取n幅光谱图像。
还包括图像预处理方法,统一滤波处理减少噪声干扰,其采用不同光谱通道图像灰度归一化处理步骤,使得不同亮度的光谱通道图像可以比拟。
3)图像边缘提取:图像处理分析装置分析n≥3幅光谱图像梯度,提取n≥3幅光谱图像边缘。
该步骤可采用roberts算子、prewitt算子、sobel算子、laplace算子、kirsh算子、log算子和canny算子提取图像边缘。
4)图像边缘梯度:对于全部n幅光谱图像,将得到的图像边缘梯度图与图像边缘位置图做乘积运算,获取n幅光谱图像边缘梯度图;
5)深度探测:遍历边缘梯度图,将每一个像素值代入基于光学模型深度估计函数
其中,
具体的,光学模型深度估计函数中不同光谱图像的对焦平面深度dj与di(i,j∈(λ1,λ2,…,λn)的刻度步骤,具体包括:
5.1)将一个已知平面刻度模板放置在已知纵向深度d,采用快照式多光谱摄像装置进行一次曝光零时差,采集n幅光谱图像;
5.2)计算n幅光谱图像聚焦清晰度,表征该刻度模板在已知某一纵向深度d时,该刻度模板表面的成像质量,所述聚焦清晰度取得最大值时对应的纵向深度d值即为聚焦平面深度值。成像质量可用成像模糊光斑直径b表示(但不限于成像模糊光斑直径b,其他可表示成像质量的参数亦可使用),如图2,所述关系曲线可用公式表示:
其中d为光学系统(光谱摄像装置的镜头)通光孔径,s为像面与光学系统距离,df为对焦平面深度,d为纵向深度。所述关系曲线公式表明,成像模糊光斑直径b为0时对应的深度值d即为对焦平面深度df,即此处的成像质量最好,图像清晰度最高。所述模糊光斑直径b由于光学系统衍射极限及光学传感元件尺寸限制无法取得0值,则成像模糊光斑直径b取得最小值时对应的深度值d即为对焦平面深度df,即此处的成像质量最好,图像清晰度最高。
5.3)重复步骤5.1)及5.2),建立刻度模板在与n幅光谱图像边缘梯度之间的关系;类似地重复p≥3次(类似第一步到第三步循环连续进行),对于全部n幅光谱图像,建立任意p个不同纵向深度d与其成像质量(清晰度)fk(x,y)关系曲线,其中k=1,2,…,n,图像成像质量最好(清晰度最高)处对应的纵向深度d值即为对焦平面深度df值。
5.4)根据步骤5.3)得到的关系曲线,获取全部n幅光谱图像对应的对焦平面深度dk(k∈n),完成深度估计模型
进一步的,由深度估计模型可知,该步骤每次计算需用到两个波段光谱图片,深度估计函数中的
如图3所示为该步骤具体实施,对于任意3个波段光谱图像序号分别记为i、j、k,其中i,j,k∈1,2,…,n,将第i波段光谱图像边缘梯度值与第j波段光谱图像边缘梯度值代入深度估计模型得到两个深度估计值,记为d11、d12,将第j波段光谱图像边缘梯度值与第k波段光谱图像边缘梯度值代入深度估计模型得到两个深度估计值,记为d21、d22;用d11与d21、d22分别作差取绝对值并保留最小值记为m1,用d12与d21、d22分别作差取绝对值并保留最小值记为m2;比较m1与m2,如果m1<m2则输出d11作为真实深度值d,反之如果m1>m2则输出d12作为真实深度值d。遍历图像每一个像素计算获取边缘每一个像素所对应纵向位置的深度信息。
使用本发明,可以一次曝光获得xy平面空间位置自然校准而图像边缘梯度不同的多幅窄带光谱图像。该系统的意义在于,可以通过配套的分析算法分析对每次曝光所获得的多幅光谱窄带图像进行分析,获得周围每个二维位置信息(x,y)的深度z信息,实现空间三维(x,y,z)的探知。本发明可用于先进制造、智能机器人移动、无人驾驶汽车导航与避障。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。