CN109741385A - 一种图像处理***、方法、装置、电子设备及存储介质 - Google Patents
一种图像处理***、方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109741385A CN109741385A CN201811583936.6A CN201811583936A CN109741385A CN 109741385 A CN109741385 A CN 109741385A CN 201811583936 A CN201811583936 A CN 201811583936A CN 109741385 A CN109741385 A CN 109741385A
- Authority
- CN
- China
- Prior art keywords
- image
- pretreated
- disparity map
- pixel
- dsp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种图像处理***、方法、装置、电子设备及存储介质,所述***包括双目摄像机、数字信号处理DSP和现场可编程门阵列FPGA;所述双目摄像机,用于向所述DSP发送采集的第一图像和第二图像;所述DSP,用于对所述第一图像和第二图像进行预处理;所述FPGA,用于针对每个视差方向,并行在该视差方向上对所述预处理的第一图像和第二图像进行立体匹配,生成该视差方向上的视差图;根据每个视差图,确定深度图。由于在本发明实施例中,FPGA并行确定每个视差方向上的视差图;进而根据每个视差图,确定深度图。避免了先依次确定每个视差方向上的视差图,然后再确定深度图带来的延时问题,因此确定深度图的实时性较好。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种图像处理***、方法、装置、 电子设备及存储介质。
背景技术
立体视觉是计算机视觉研究最广泛的领域之一,被广泛应用于自动驾驶、 三维重建、障碍检测等领域。立体视觉是通过左右相机获得同一场景不同视角 的图片,然后再通过立体匹配算法获得场景的深度图的过程。
现有技术中在确定深度图时,通常采用数字信号处理(Digital SignalProcessing,DSP)的模式,如图1所示,DSP接收左右两个摄像机sensor0 和sensor1传输的图像,然后对两个图像进行深度图算法。
现有技术存在的问题是,在确定深度图时,需要计算多方向的视差图,但 是DSP只有单通道处理能力,只能依次确定每个方向的视差图,待每个方向 的视差图都计算完成后,再确定最终的深度图,因此现有技术确定深度图的实 时性较差。
发明内容
本发明实施例提供了一种图像处理***、方法、装置、电子设备及存储介 质,用以解决现有技术中确定深度图的实时性较差的问题。
本发明实施例提供了一种图像处理***,所述***包括双目摄像机、数字 信号处理DSP和现场可编程门阵列FPGA;
所述双目摄像机,用于向所述DSP发送采集的第一图像和第二图像;
所述DSP,用于对所述第一图像和第二图像进行预处理;
所述FPGA,用于针对每个视差方向,并行在该视差方向上对经过预处理 的第一图像和第二图像进行立体匹配,生成该视差方向上的视差图;根据每个 视差图,确定深度图。
进一步地,所述DSP,具体用于根据所述第一图像和第二图像中预设的像 素点的标记信息,判断所述第一图像和第二图像是否为相同帧号的左图和右图, 如果是,将所述第一图像和第二图像发送至所述FPGA。
进一步地,所述FPGA中包括三块缓存;
所述DSP,具体用于将经过预处理的第一图像和第二图像依次发送至所述 FPGA中的第一块缓存、第二块缓存和第三块缓存;所述第二块缓存,用于数 据缓冲;
所述FPGA,还用于从第三块缓存中获取所述经过预处理的第一图像和第 二图像。
进一步地,所述FPGA,还用于对所述经过预处理的第一图像和第二图像 进行极线校正。
进一步地,所述FPGA,具体用于确定所述经过预处理的第一图像中的每 个第一像素点相对于经过预处理的第二图像中每个第二像素点的代价值;根据 所述每个第一像素点的代价值,分别确定左、上、右、左上和右上五个方向的 视差图;
其中,所述FPGA将确定的代价值按照顺序存储,用于确定左、上、左上 和右上四个方向的视差图;将确定的代价值按照倒序存储,用于确定右方向的 视差图。
进一步地,所述FPGA,具体用于按照预设的数量,并行确定所述经过预 处理的第一图像中的每个第一像素点相对于经过预处理的第二图像中每个第 二像素点的代价值。
进一步地,所述FPGA,还用于将左、上、左上和右上四个方向的每一行 视差图按照顺序进行存储;将所述右方向的奇数行视差图按照倒序进行存储, 偶数行视差图按照顺序进行存储。
进一步地,所述FPGA,还用于对所述深度图进行中值滤波处理,并将处 理后的深度图发送至所述DSP。
另一方面,本发明实施例提供了一种图像处理方法,所述方法包括:
接收DSP发送的经过预处理的第一图像和第二图像;其中,所述第一图 像和第二图像是双目摄像机采集并发送至所述DSP的;所述DSP对所述第一 图像和第二图像进行预处理;
针对每个视差方向,并行在该视差方向上对所述经过预处理的第一图像和 第二图像进行立体匹配,生成该视差方向上的视差图;根据每个视差图,确定 深度图。
进一步地,所述接收DSP发送的经过预处理的第一图像和第二图像之后, 针对每个视差方向,并行在该视差方向上对所述经过预处理的第一图像和第二 图像进行立体匹配,生成该视差方向上的视差图之前,所述方法还包括:
对所述经过预处理的第一图像和第二图像进行极线校正。
进一步地,所述针对每个视差方向,并行在该视差方向上对所述经过预处 理的第一图像和第二图像进行立体匹配,生成该视差方向上的视差图包括:
确定所述经过预处理的第一图像中的每个第一像素点相对于经过预处理 的第二图像中每个第二像素点的代价值;根据所述每个第一像素点的代价值, 分别确定左、上、右、左上和右上五个方向的视差图;
其中,所述FPGA将确定的代价值按照顺序存储,用于确定左、上、左上 和右上四个方向的视差图;将确定的代价值按照倒序存储,用于确定右方向的 视差图。
进一步地,所述确定所述经过预处理的第一图像中的每个第一像素点相对 于经过预处理的第二图像中每个第二像素点的代价值包括:
按照预设的数量,并行确定所述经过预处理的第一图像中的每个第一像素 点相对于经过预处理的第二图像中每个第二像素点的代价值。
进一步地,分别确定左、上、右、左上和右上五个方向的视差图之后,所 述方法还包括:
将左、上、左上和右上四个方向的每一行视差图按照顺序进行存储;将所 述右方向的奇数行视差图按照倒序进行存储,偶数行视差图按照顺序进行存储。
进一步地,所述确定深度图之后,所述方法还包括:
对所述深度图进行中值滤波处理,并将处理后的深度图发送至所述DSP。
本发明实施例提供了一种图像处理装置,所述装置包括:
接收模块,用于接收DSP发送的经过预处理的第一图像和第二图像;其 中,所述第一图像和第二图像是双目摄像机采集并发送至所述DSP的;所述 DSP对所述第一图像和第二图像进行预处理;
确定模块,用于针对每个视差方向,并行在该视差方向上对所述经过预处 理的第一图像和第二图像进行立体匹配,生成该视差方向上的视差图;根据每 个视差图,确定深度图。
本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通 信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的方法 步骤。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质 内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的 方法步骤。
本发明实施例提供了一种图像处理***、方法、装置、电子设备及存储介 质,所述***包括双目摄像机、数字信号处理DSP和现场可编程门阵列FPGA; 所述双目摄像机,用于向所述DSP发送采集的第一图像和第二图像;所述DSP, 用于对所述第一图像和第二图像进行预处理;所述FPGA,用于针对每个视差 方向,并行在该视差方向上对经过预处理的第一图像和第二图像进行立体匹配, 生成该视差方向上的视差图;根据每个视差图,确定深度图。
由于在本发明实施例中,FPGA并行确定每个视差方向上的视差图;进而 根据每个视差图,确定深度图。避免了先依次确定每个视差方向上的视差图, 然后再确定深度图带来的延时问题,因此确定深度图的实时性较好。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的 一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图1为现有技术中图像处理***结构示意图;
图2为本发明实施例提供的图像处理***结构示意图;
图3为本发明实施例提供的图像中标记信息的示意图;
图4为本发明实施例提供的三块缓存读写示意图;
图5为本发明实施例提供的每个像素点的五个方向示意图;
图6为本发明实施例提供的确定最终代价值的过程示意图;
图7为本发明实施例提供的第一图像和第二图像的代价值示意图;
图8为本发明实施例提供的代价值存储示意图;
图9为本发明实施例提供的并行计算代价值的电路图;
图10为本发明实施例提供的第一行的视差图存储示意图;
图11为本发明实施例提供的第二行的视差图存储示意图;
图12为本发明实施例提供的图像处理***流程图;
图13为本发明实施例提供的图像处理过程示意图;
图14为本发明实施例提供的图像处理装置结构示意图;
图15为本发明实施例提供的电子设备结构示意图。
具体实施方式
下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅 仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本 领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都 属于本发明保护的范围。
图2为本发明实施例提供的图像处理***结构示意图,所述***包括双目 摄像机11、数字信号处理DSP12和现场可编程门阵列FPGA13;
所述双目摄像机11,用于向所述DSP12发送采集的第一图像和第二图像;
所述DSP12,用于对所述第一图像和第二图像进行预处理;
所述FPGA13,用于针对每个视差方向,并行在该视差方向上对经过预处 理的第一图像和第二图像进行立体匹配,生成该视差方向上的视差图;根据每 个视差图,确定深度图。
如图2所示,图像处理***包括双目摄像机11,双目摄像机11包括左右 两个摄像头,左右两个摄像头分别采集第一图像和第二图像。其中,可以将左 摄像头采集的图像作为第一图像,将右摄像头采集的图像作为第二图像,也可 以将左摄像头采集的图像作为第二图像,将右摄像头采集的图像作为第一图像。
图像处理***还包括DSP12和FPGA13,双目摄像机采集的第一图像和第 二图像可以发送至DSP12,DSP12对第一图像和第二图像进行预处理,然后将 经过预处理的第一图像和第二图像发送至FPGA13。DSP12对第一图像和第二 图像进行预处理可以是对第一图像和第二图像进行去躁处理、ISP处理等。
FPGA13接收经过预处理的第一图像和第二图像之后,同时在每个视差方 向上对第一图像和第二图像进行立体匹配,确定出每个视差方向上的视差图, 进而根据每个视差图,确定深度图。其中,每个视差方向可以是上方向、左上 方向、左方向、右上方向和右方向等。
由于在本发明实施例中,FPGA并行确定每个视差方向上的视差图;进而 根据每个视差图,确定深度图。避免了先依次确定每个视差方向上的视差图, 然后再确定深度图带来的延时问题,因此确定深度图的实时性较好。
为了准确确定深度图,在上述实施例的基础上,在本发明实施例中,所述 DSP12,具体用于根据所述第一图像和第二图像中预设的像素点的标记信息, 判断所述第一图像和第二图像是否为相同帧号的左图和右图,如果是,将所述 第一图像和第二图像发送至所述FPGA13。
由于双目摄像机11两个摄像头传输图像的速度可能有差异,因此DSP12 接收到的第一图像和第二图像有可能不是同一帧号的两帧图像,为了保证确定 的深度图准确,首先需要在确定视差图时,是针对同一帧的第一图像和第二图 像确定的。因此在本发明实施例中,对第一图像和第二图像进行预处理除了进 行去躁处理、ISP处理之外,还可以是判断第一图像和第二图像是否为同一帧 的左图像和右图像。
具体的,双目摄像机11采集的第一图像和第二图像中预设的像素点可以 携带标记信息,该标记信息用于指示图像的帧号和左右图。
具体的,双目摄像机11可以在第一图像和第二图像中自左上角起第一个 像素点上携带标记信息第一帧图像的标记信息为1,第二帧图像的标记信息为 2,以此类推。DSP12接收到第一图像和第二图像后,根据第一图像和第二图 像中第一个像素点上携带的标记信息,判断第一图像和第二图像是否为相同帧 号的图像。
另外,第一图像和第二图像中预设的像素点携带的标记信息还可以指示图 像为左图还是右图。例如,标记信息为a,图像为左图,标记信息为b,图像 为右图。
需要说明的是,用于指示图像帧号的标记信息和用于指示图像为左图还是 右图的标记信息可以是同一信息,例如,该标记信息携带与第一个像素点,那 么,标记信息为a1的图像为第一帧左图,标记信息为a2的图像为第二帧左图, 等等;标记信息为b1的图像为第一帧右图,标记信息为b2的图像为第二帧右 图,等等。当然,用于指示图像帧号的标记信息和用于指示图像为左图还是右 图的标记信息也可以是携带在不同像素点的两个标记信息,例如,图像的第一 个像素点携带标识图像为左图还是右图的标记信息,图像的第二个像素点携带 标识图像帧号的标记信息。只要DSP12根据第一图像和第二图像中预设的像素点的标记信息,能够判断出第一图像和第二图像是否为相同帧号的左图和右 图即可。只有当DSP12判断第一图像和第二图像为相同帧号的左图和右图, 才将第一图像和第二图像发送至所述FPGA13,否则不发送图像,直到接收到 的第一图像和第二图像满足条件才发送。
图3为图像中标记信息的示意图,如图3所示,第一个像素点的标记信息 用于指示左图还是右图,第二个像素点的标记信息用于指示图像的帧号。
由于在本发明实施例中,DSP12根据第一图像和第二图像中预设的像素点 的标记信息,判断第一图像和第二图像为相同帧号的左图和右图时,才将第一 图像和第二图像发送至FPGA13。因此可以保证FPGA13确定的视差图以及深 度图是针对相同帧号的左图和右图确定的,因此确定的深度图更准确。
为了进一步提高图像处理的时效性,在上述各实施例的基础上,在本发明 实施例中,所述FPGA13中包括三块缓存;
所述DSP12,具体用于将经过预处理的第一图像和第二图像依次发送至所 述FPGA13中的第一块缓存、第二块缓存和第三块缓存;所述第二块缓存,用 于数据缓冲;
所述FPGA13,还用于从第三块缓存中获取所述经过预处理的第一图像和 第二图像。
在本发明实施例中,FPGA13中包括三块缓存,DSP12具体用于将经过预 处理的第一图像和第二图像依次发送至FPGA13中的第一块缓存、第二块缓存 和第三块缓存。FPGA13中的每块缓存都要存取同一帧号的左图和右图,如果 找不到帧号相同的左图和右图,就一直写当前块的缓存,直到找到帧号相同的 左图和右图,才写下一块缓存。FPGA13用于从第三块缓存中获取经过预处理 的第一图像和第二图像,并进行后续确定视差图的过程。
这样可以保证第一块缓存用于DSP12写入经过预处理的第一图像和第二 图像,第三块缓存用于FPGA13读出经过预处理的第一图像和第二图像,第二 块缓存用于经过预处理的第一图像和第二图像传输的缓冲。对于一个视频流来 说,采用本发明实施例提供的为FPGA13开辟三块缓存的方式,可以实现图像 的同时写入和读出,从而可以进一步提高图像处理的时效性。
图4为三块缓存读写示意图,如图4所示,FPGA13中包括三块缓存分别 是buff0、buff1和buff2,对于一个视频流来说,buff0为写入点write_point, buff2为读出点read_point。
为了进一步使确定的深度图更准确,在上述各实施例的基础上,在本发明 实施例中,所述FPGA13,还用于对所述经过预处理的第一图像和第二图像进 行极线校正。
FPGA13可以获取预先标定得到的双目摄像机11的参数,同时读出经过预 处理的第一图像和第二图像之后,使用该参数对经过预处理的第一图像和第二 图像进行极线校正。然后将极线校正完成的第一图像和第二图像写回外部存储 器。经过极线校正后,同一环境点在第一图像中对应的像素点的纵坐标与在第 二图像中对应的像素点的纵坐标相同。此处的纵坐标为图像坐标系中的纵坐标。
经过极线校正的第一图像和第二图像,可以使得确定的各个视差方向上的 视差图更准确,进一步使得确定的深度图更准确。其中,对第一图像和第二图 像进行极线校正的过程属于现有技术,在此不再对该过程进行赘述。
为了使确定每个视差方向上的视差图更准确,在上述各实施例的基础上, 在本发明实施例中,所述FPGA13,具体用于确定所述经过预处理的第一图像 中的每个第一像素点相对于经过预处理的第二图像中每个第二像素点的代价 值;根据所述每个第一像素点的代价值,分别确定左、上、右、左上和右上五 个方向的视差图;
其中,所述FPGA将确定的代价值按照顺序存储,用于确定左、上、左上 和右上四个方向的视差图;将确定的代价值按照倒序存储,用于确定右方向的 视差图。
在本发明实施例中,以确定五个方向的视差图为例进行说明,如图5所示, 每个像素点的五个方向为左、上、右、左上和右上方向。每个方向的视差图都 是相互独立并行处理的,在本发明实施例的基础上可以快速扩展为确定6、7、 8等数量方向的视差图。
在确定每个视差方向上的视差图之前,首先需要确定经过预处理的第一图 像中的每个第一像素点相对于经过预处理的第二图像中每个第二像素点的代 价值。
具体的,首先确定经过预处理的第一图像对应的第一梯度图像和经过预处 理的第二图像对应的第二梯度图像,在确定梯度图像时,针对每个原图像中的 每个像素点,计算位于该像素点右侧的像素点的像素值与该像素点的像素值的 差值,得到该像素点在对应的梯度图像中的像素值,对于最右侧的像素点对应 在梯度图像中的像素值可以全部设置为0,也可以将最右侧的像素点的像素值 作为对应在梯度图像中的像素值。
图6为确定最终代价值的过程示意图,在确定经过预处理的第一图像中的 每个第一像素点相对于经过预处理的第二图像中每个第二像素点的代价值时, 需要分别确定第一梯度图像中的每个像素点相对于第二梯度图像中每个像素 点的代价值,以及经过预处理的第一图像中的每个第一像素点相对于经过预处 理的第二图像中每个第二像素点的代价值,然后将对应的代价值相加,得到最 终的代价值。为了提高实时性,计算第一梯度图像中的每个像素点相对于第二 梯度图像中每个像素点的代价值,以及经过预处理的第一图像中的每个第一像 素点相对于经过预处理的第二图像中每个第二像素点的代价值的过程是并行 处理的。
代价值的处理,是按照行进行计算,并且梯度图像和原图像计算代价值的 过程完全相同,在此只介绍计算经过预处理的第一图像中的每个第一像素点相 对于经过预处理的第二图像中每个第二像素点的代价值的过程。
假设经过预处理的第一图像和第二图像的分辨率是M*N,根据开始匹配 点参数min_disparity取出经过预处理的第一图像的像素点U,同时取出该像素点 左右相邻的两个像素点Ur和Ul,然后同时计算U和Ur、U和Ul的平均值得到U0和U1。然后比较U、U0、U1得到三者之间的最大值和最小值Umax、Umin。对经 过预处理的第二图像中的像素点V做同样的处理,求出最大值和最小值Vmax、 Vmin。然后同时根据公式max(Vmin-Umin,max(0,Umin-Vmax))、 max(Vmin-Umax,max(0,Umax-Vmax))求出C0和C1。最后取C0和C1最小值作为当前像素 点的代价值,同时经过预处理的第一图像中每个像素点需要匹配右图 num_disparit个y像素点,所以经过预处理的第一图像中每个像素点的代价值有 num_disparity个,经过预处理的第一图像和第二图像的代价值如图7所示。
另外,由于图像数据都是按行进行发送的,而且每行是从左到右的方向。 为了便于后续视差图的计算,如图8所示,FPGA13将确定的代价值按照顺序 存储,用于确定左、上、左上和右上四个方向的视差图;将确定的代价值按照 倒序存储,用于确定右方向的视差图。
左、上、右、左上和右上五个方向都有对应的视差公式,在确定出经过预 处理的第一图像中的每个第一像素点相对于经过预处理的第二图像中每个第 二像素点的代价值之后,分别将代价值代入每个方向对应的视差公式,便可以 确定左、上、右、左上和右上五个方向中每个方向的视差图,然后可以对每个 方向的视差图进行相加,确定经过预处理的第一图像和第二图像的视差图。然 后根据双目摄像机的焦距、双目摄像机的两个镜头光心之间的距离和确定出的 第一图像和第二图像的视差图,可以确定经过预处理的第一图像和第二图像的 深度图。具体的,可以采用公式depth=(f*baseline)/disp;确定深度图,式中,f为双目摄像机的焦距,baseline为双目摄像机的两个镜头光心之间的距离, disp为第一图像和第二图像的视差图,depth为第一图像和第二图像的深度图。
由于第一图像中每个像素点的代价值有num_disparity个,如果采用串行的 处理方式,很难满足实时性要求。因此,为了进一步提高图像处理的实时性, 在上述各实施例的基础上,在本发明实施例中,所述FPGA13,具体用于按照 预设的数量,并行确定所述经过预处理的第一图像中的每个第一像素点相对于 经过预处理的第二图像中每个第二像素点的代价值。
FPGA13中可以预设并行处理数量,在进行代价值计算时,根据预设数量, 并行确定经过预处理的第一图像中的每个第一像素点相对于经过预处理的第 二图像中每个第二像素点的代价值。如果预设的数量为K,在整个确定代价值 的过程中,时间上为串行处理的1/K。
图9为并行计算代价值的电路图,如图9所示,预设的数量为K,针对每 个像素点,同时可以计算出该像素点的K个代价值。具体的,取出经过预处理 的第一图像的像素点U,同时取出该像素点左右相邻的两个像素点Ur和Ul,然 后同时计算U和Ur、U和Ul的平均值得到U0和U1。然后比较U、U0、U1得到 三者之间的最大值和最小值Umax、Umin。对经过预处理的第二图像中的像素点V 做同样的处理,求出最大值和最小值Vmax、Vmin。然后同时根据公式 max(Vmin-Umin,max(0,Umin-Vmax))、max(Vmin-Umax,max(0,Umax-Vmax))求出C0和C1。 最后取C0和C1最小值作为当前像素点的代价值。像素点V1至Vk的处理过程 完全相同。
由于在本发明实施例中,FPGA按照预设的数量,并行确定经过预处理的 第一图像中的每个第一像素点相对于经过预处理的第二图像中每个第二像素 点的代价值。因此可以进一步提高图像处理的实时性。
为了节约存储器资源,在上述各实施例的基础上,在本发明实施例中,所 述FPGA13,还用于将左、上、左上和右上四个方向的每一行视差图按照顺序 进行存储;将所述右方向的奇数行视差图按照倒序进行存储,偶数行视差图按 照顺序进行存储。
在本发明实施例中,第一行的左、左上、上、右上四个方向是根据顺序的 匹配代价值进行视差计算,然后相加存储到行缓存器中;而右方向的是根据倒 序的匹配代价值进行视差图计算,计算的结果也存储在行缓存中。因此,第一 行的视差图存储如图10所示,左、左上、上、右上四个方向的视差可以存储 在同一个行缓存器中,但是右方向的视差需要存储在另外的行缓存器中,并且, 右方向的视差是倒序存储的。
在计算第二行的视差图,此时先读取右视差图中第一行视差图,缓存器基 地址等于(N-1)*num_disparity/,K同时在当前的地址中存储第二行视差图 SPN1..k.的值,然后依次读第一行其他像素(P)的基地址(N-P)*num_disparity/K, 同时在该地址中存储第二行的SP(N-P)1...k的值。第二行的视差图存储如图11 所示,左、左上、上、右上四个方向的视差存储在同一个行缓存器中,但是右 方向的视差需要存储在另外的行缓存器中,并且,右方向的视差是顺序存储的。
在计算第三行的视差图,此时先读取右视差图中第二行视差图,缓存器基 地址等于(1-1)*num_disparity/K,同时在当前的地址中存储第三行视差图SPN1...k 的值,然后依次读第二行其他像素(P)的基地址(P-1)*num_disparity/K,同时在 该地址中存储第三行的SP(P-1)1...k的值。第三行的视差图存储与图10相同。
从上面的推理也可以看出左、左上、上、右上四个方向视差图的和共享一 个存储器,同时右方向视差图奇数行和偶数行是交替存储的,奇数行视差图按 照倒序进行存储,偶数行视差图按照顺序进行存储,这样对于右方向视差图, 也仅需要一个存储器,从而极大节约了存储器资源。
为了提高确定的深度图的质量,在上述各实施例的基础上,在本发明实施 例中,FPGA13,还用于对所述深度图进行中值滤波处理,并将处理后的深度 图发送至所述DSP12。
FPGA13确定出深度图之后,按照预设的窗口尺寸对深度图进行中值滤波 处理,中值滤波处理也就是针对深度图中的每个像素点,以该像素点为中心放 置预设的窗口,然后将窗口中像素点按照从大到小,或从小到大的顺序排序, 取中间值对该像素点的像素值进行更新。预设的窗口尺寸可以是3x3窗口、5x5 窗口等。最后将处理后的深度图发送至DSP12,由DSP12对深度图进行后续 的传输或处理。
由于在本发明实施例中,FPGA对深度图进行中值滤波处理,并将处理后 的深度图发送至DSP,从而可以提高深度图的质量。
图12为本发明实施例提供的图像处理***流程图,如图12所示,DSP接 收到双目摄像机发送的第一图像和第二图像后,对第一图像和第二图像进行预 处理然后存入FPGA中的缓存DDR,缓存DDR中的第一图像和第二图像存入 外部存储器,FPGA再从外部存储器获取第一图像和第二图像,分别进行极线 校正,极线校正后的第一图像和第二图像存入外部存储器,FPGA再从外部存 储器获取极线校正后的第一图像和第二图像,通过立体匹配,确定深度图。其 中,该立体匹配可以是半全局立体匹配。FPGA将深度图存入外部存储器,经由外部存储器发送至DSP。
图13为本发明实施例提供的图像处理过程示意图,该过程包括以下步骤:
S101:接收DSP发送的经过预处理的第一图像和第二图像;其中,所述 第一图像和第二图像是双目摄像机采集并发送至所述DSP的;所述DSP对所 述第一图像和第二图像进行预处理。
S102:针对每个视差方向,并行在该视差方向上对所述经过预处理的第一 图像和第二图像进行立体匹配,生成该视差方向上的视差图;根据每个视差图, 确定深度图。
图像处理***包括双目摄像机,双目摄像机包括左右两个摄像头,左右两 个摄像头分别采集第一图像和第二图像。其中,可以将左摄像头采集的图像作 为第一图像,将右摄像头采集的图像作为第二图像,也可以将左摄像头采集的 图像作为第二图像,将右摄像头采集的图像作为第一图像。
图像处理***还包括DSP和FPGA,双目摄像机采集的第一图像和第二图 像可以发送至DSP,DSP12对第一图像和第二图像进行预处理,然后将经过预 处理的第一图像和第二图像发送至FPGA13。DSP12对第一图像和第二图像进 行预处理可以是对第一图像和第二图像进行去躁处理、ISP处理等。
FPGA接收经过预处理的第一图像和第二图像之后,同时在每个视差方向 上对第一图像和第二图像进行立体匹配,确定出每个视差方向上的视差图,进 而根据每个视差图,确定深度图。其中,每个视差方向可以是上方向、左上方 向、左方向、右上方向和右方向等。
由于在本发明实施例中,FPGA并行确定每个视差方向上的视差图;进而 根据每个视差图,确定深度图。避免了先依次确定每个视差方向上的视差图, 然后再确定深度图带来的延时问题,因此确定深度图的实时性较好。
为了准确确定深度图,在上述实施例的基础上,在本发明实施例中,所述 接收DSP发送的经过预处理的第一图像和第二图像之后,针对每个视差方向, 并行在该视差方向上对所述经过预处理的第一图像和第二图像进行立体匹配, 生成该视差方向上的视差图之前,所述方法还包括:
对所述经过预处理的第一图像和第二图像进行极线校正。
FPGA可以获取预先标定得到的双目摄像机的参数,同时读出经过预处理 的第一图像和第二图像之后,使用该参数对经过预处理的第一图像和第二图像 进行极线校正。然后将极线校正完成的第一图像和第二图像写回外部存储器。 经过极线校正后,同一环境点在第一图像中对应的像素点的纵坐标与在第二图 像中对应的像素点的纵坐标相同。此处的纵坐标为图像坐标系中的纵坐标。
经过极线校正的第一图像和第二图像,可以使得确定的各个视差方向上的 视差图更准确,进一步使得确定的深度图更准确。其中,对第一图像和第二图 像进行极线校正的过程属于现有技术,在此不再对该过程进行赘述。
为了使确定每个视差方向上的视差图更准确,在上述各实施例的基础上, 在本发明实施例中,所述针对每个视差方向,并行在该视差方向上对所述经过 预处理的第一图像和第二图像进行立体匹配,生成该视差方向上的视差图包括:
确定所述经过预处理的第一图像中的每个第一像素点相对于经过预处理 的第二图像中每个第二像素点的代价值;根据所述每个第一像素点的代价值, 分别确定左、上、右、左上和右上五个方向的视差图;
其中,所述FPGA将确定的代价值按照顺序存储,用于确定左、上、左上 和右上四个方向的视差图;将确定的代价值按照倒序存储,用于确定右方向的 视差图。
在本发明实施例中,以确定五个方向的视差图为例进行说明,如图5所示, 每个像素点的五个方向为左、上、右、左上和右上方向。每个方向的视差图都 是相互独立并行处理的,在本发明实施例的基础上可以快速扩展为确定6、7、 8等数量方向的视差图。
在确定每个视差方向上的视差图之前,首先需要确定经过预处理的第一图 像中的每个第一像素点相对于经过预处理的第二图像中每个第二像素点的代 价值。
具体的,首先确定经过预处理的第一图像对应的第一梯度图像和经过预处 理的第二图像对应的第二梯度图像,在确定梯度图像时,针对每个原图像中的 每个像素点,计算位于该像素点右侧的像素点的像素值与该像素点的像素值的 差值,得到该像素点在对应的梯度图像中的像素值,对于最右侧的像素点对应 在梯度图像中的像素值可以全部设置为0,也可以将最右侧的像素点的像素值 作为对应在梯度图像中的像素值。
图6为确定最终代价值的过程示意图,在确定经过预处理的第一图像中的 每个第一像素点相对于经过预处理的第二图像中每个第二像素点的代价值时, 需要分别确定第一梯度图像中的每个像素点相对于第二梯度图像中每个像素 点的代价值,以及经过预处理的第一图像中的每个第一像素点相对于经过预处 理的第二图像中每个第二像素点的代价值,然后将对应的代价值相加,得到最 终的代价值。为了提高实时性,计算第一梯度图像中的每个像素点相对于第二 梯度图像中每个像素点的代价值,以及经过预处理的第一图像中的每个第一像 素点相对于经过预处理的第二图像中每个第二像素点的代价值的过程是并行 处理的。
代价值的处理,是按照行进行计算,并且梯度图像和原图像计算代价值的 过程完全相同,在此只介绍计算经过预处理的第一图像中的每个第一像素点相 对于经过预处理的第二图像中每个第二像素点的代价值的过程。
假设经过预处理的第一图像和第二图像的分辨率是M*N,根据开始匹配 点参数min_disparity取出经过预处理的第一图像的像素点U,同时取出该像素点 左右相邻的两个像素点Ur和Ul,然后同时计算U和Ur、U和Ul的平均值得到U0和U1。然后比较U、U0、U1得到三者之间的最大值和最小值Umax、Umin。对经 过预处理的第二图像中的像素点V做同样的处理,求出最大值和最小值Vmax、 Vmin。然后同时根据公式max(Vmin-Umin,max(0,Umin-Vmax))、 max(Vmin-Umax,max(0,Umax-Vmax))求出C0和C1。最后取C0和C1最小值作为当前像素 点的代价值,同时经过预处理的第一图像中每个像素点需要匹配右图 num_disparit个y像素点,所以经过预处理的第一图像中每个像素点的代价值有 num_disparity个,经过预处理的第一图像和第二图像的代价值如图7所示。
另外,由于图像数据都是按行进行发送的,而且每行是从左到右的方向。 为了便于后续视差图的计算,如图8所示,FPGA13将确定的代价值按照顺序 存储,用于确定左、上、左上和右上四个方向的视差图;将确定的代价值按照 倒序存储,用于确定右方向的视差图。
左、上、右、左上和右上五个方向都有对应的视差公式,在确定出经过预 处理的第一图像中的每个第一像素点相对于经过预处理的第二图像中每个第 二像素点的代价值之后,分别将代价值代入每个方向对应的视差公式,便可以 确定左、上、右、左上和右上五个方向中每个方向的视差图,然后可以对每个 方向的视差图进行相加,确定经过预处理的第一图像和第二图像的视差图。然 后根据双目摄像机的焦距、双目摄像机的两个镜头光心之间的距离和确定出的 第一图像和第二图像的视差图,可以确定经过预处理的第一图像和第二图像的 深度图。具体的,可以采用公式depth=(f*baseline)/disp;确定深度图,式中,f为双目摄像机的焦距,baseline为双目摄像机的两个镜头光心之间的距离, disp为第一图像和第二图像的视差图,depth为第一图像和第二图像的深度图。
由于第一图像中每个像素点的代价值有num_disparity个,如果采用串行的 处理方式,很难满足实时性要求。因此,为了进一步提高图像处理的实时性, 在上述各实施例的基础上,在本发明实施例中,所述确定所述经过预处理的第 一图像中的每个第一像素点相对于经过预处理的第二图像中每个第二像素点 的代价值包括:
按照预设的数量,并行确定所述经过预处理的第一图像中的每个第一像素 点相对于经过预处理的第二图像中每个第二像素点的代价值。
FPGA中可以预设并行处理数量,在进行代价值计算时,根据预设数量, 并行确定经过预处理的第一图像中的每个第一像素点相对于经过预处理的第 二图像中每个第二像素点的代价值。如果预设的数量为K,在整个确定代价值 的过程中,时间上为串行处理的1/K。
图9为并行计算代价值的电路图,如图9所示,预设的数量为K,针对每 个像素点,同时可以计算出该像素点的K个代价值。具体的,取出经过预处理 的第一图像的像素点U,同时取出该像素点左右相邻的两个像素点Ur和Ul,然 后同时计算U和Ur、U和Ul的平均值得到U0和U1。然后比较U、U0、U1得到 三者之间的最大值和最小值Umax、Umin。对经过预处理的第二图像中的像素点V 做同样的处理,求出最大值和最小值Vmax、Vmin。然后同时根据公式 max(Vmin-Umin,max(0,Umin-Vmax))、max(Vmin-Umax,max(0,Umax-Vmax))求出C0和C1。 最后取C0和C1最小值作为当前像素点的代价值。像素点V1至Vk的处理过程 完全相同。
由于在本发明实施例中,FPGA按照预设的数量,并行确定经过预处理的 第一图像中的每个第一像素点相对于经过预处理的第二图像中每个第二像素 点的代价值。因此可以进一步提高图像处理的实时性。
为了节约存储器资源,在上述各实施例的基础上,在本发明实施例中,分 别确定左、上、右、左上和右上五个方向的视差图之后,所述方法还包括:
将左、上、左上和右上四个方向的每一行视差图按照顺序进行存储;将所 述右方向的奇数行视差图按照倒序进行存储,偶数行视差图按照顺序进行存储。
在本发明实施例中,第一行的左、左上、上、右上四个方向是根据顺序的 匹配代价值进行视差计算,然后相加存储到行缓存器中;而右方向的是根据倒 序的匹配代价值进行视差图计算,计算的结果也存储在行缓存中。因此,第一 行的视差图存储如图10所示,左、左上、上、右上四个方向的视差可以存储 在同一个行缓存器中,但是右方向的视差需要存储在另外的行缓存器中,并且, 右方向的视差是倒序存储的。
在计算第二行的视差图,此时先读取右视差图中第一行视差图,缓存器基 地址等于(N-1)*num_disparity/K,同时在当前的地址中存储第二行视差图SPN1...k的值,然后依次读第一行其他像素(P)的基地址(N-P)*num_disparity/K,同时在 该地址中存储第二行的SP(N-P)1...k的值。第二行的视差图存储如图11所示, 左、左上、上、右上四个方向的视差存储在同一个行缓存器中,但是右方向的 视差需要存储在另外的行缓存器中,并且,右方向的视差是顺序存储的。
在计算第三行的视差图,此时先读取右视差图中第二行视差图,缓存器基 地址等于(1-1)*num_disparity/K,同时在当前的地址中存储第三行视差图SPN1...k的值,然后依次读第二行其他像素(P)的基地址(P-1)*num_disparity/K,同时在 该地址中存储第三行的SP(P-1)1...k的值。第三行的视差图存储与图9相同。
从上面的推理也可以看出左、左上、上、右上四个方向视差图的和共享一 个存储器,同时右方向视差图奇数行和偶数行是交替存储的,奇数行视差图按 照倒序进行存储,偶数行视差图按照顺序进行存储,这样对于右方向视差图, 也仅需要一个存储器,从而极大节约了存储器资源。
为了提高确定的深度图的质量,在上述各实施例的基础上,在本发明实施 例中,所述确定深度图之后,所述方法还包括:
对所述深度图进行中值滤波处理,并将处理后的深度图发送至所述DSP。
FPGA确定出深度图之后,按照预设的窗口尺寸对深度图进行中值滤波处 理,中值滤波处理也就是针对深度图中的每个像素点,以该像素点为中心放置 预设的窗口,然后将窗口中像素点按照从大到小,或从小到大的顺序排序,取 中间值对该像素点的像素值进行更新。预设的窗口尺寸可以是3x3窗口、5x5 窗口等。最后将处理后的深度图发送至DSP12,由DSP12对深度图进行后续 的传输或处理。
由于在本发明实施例中,FPGA对深度图进行中值滤波处理,并将处理后 的深度图发送至DSP,从而可以提高深度图的质量。
图14为本发明实施例提供的图像处理装置结构示意图,所述装置包括:
接收模块141,用于接收DSP发送的经过预处理的第一图像和第二图像; 其中,所述第一图像和第二图像是双目摄像机采集并发送至所述DSP的;所 述DSP对所述第一图像和第二图像进行预处理;
确定模块142,用于针对每个视差方向,并行在该视差方向上对所述经过 预处理的第一图像和第二图像进行立体匹配,生成该视差方向上的视差图;根 据每个视差图,确定深度图。
在上述各实施例的基础上,本发明实施例中还提供了一种电子设备,如图 15所示,包括:处理器151、通信接口152、存储器153和通信总线154,其 中,处理器151,通信接口152,存储器153通过通信总线154完成相互间的 通信;
所述存储器153中存储有计算机程序,当所述程序被所述处理器151执行 时,使得所述处理器151执行如下步骤:
接收DSP发送的经过预处理的第一图像和第二图像;其中,所述第一图 像和第二图像是双目摄像机采集并发送至所述DSP的;所述DSP对所述第一 图像和第二图像进行预处理;
针对每个视差方向,并行在该视差方向上对所述经过预处理的第一图像和 第二图像进行立体匹配,生成该视差方向上的视差图;根据每个视差图,确定 深度图。
基于同一发明构思,本发明实施例中还提供了一种电子设备,由于上述电 子设备解决问题的原理与图像处理方法相似,因此上述电子设备的实施可以参 见方法的实施,重复之处不再赘述。
本发明实施例提供的电子设备具体可以为桌面计算机、便携式计算机、智 能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、网络侧 设备等。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总 线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根 总线或一种类型的总线。
通信接口152用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可 以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存 储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、 专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体 管逻辑器件、分立硬件组件等。
在本发明实施例中处理器执行存储器上所存放的程序时,实现接收DSP 发送的经过预处理的第一图像和第二图像;其中,所述第一图像和第二图像是 双目摄像机采集并发送至所述DSP的;所述DSP对所述第一图像和第二图像 进行预处理;针对每个视差方向,并行在该视差方向上对所述经过预处理的第 一图像和第二图像进行立体匹配,生成该视差方向上的视差图;根据每个视差 图,确定深度图。由于在本发明实施例中,FPGA并行确定每个视差方向上的 视差图;进而根据每个视差图,确定深度图。避免了先依次确定每个视差方向 上的视差图,然后再确定深度图带来的延时问题,因此确定深度图的实时性较 好。
在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存 储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序, 当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
接收DSP发送的经过预处理的第一图像和第二图像;其中,所述第一图 像和第二图像是双目摄像机采集并发送至所述DSP的;所述DSP对所述第一 图像和第二图像进行预处理;
针对每个视差方向,并行在该视差方向上对所述经过预处理的第一图像和 第二图像进行立体匹配,生成该视差方向上的视差图;根据每个视差图,确定 深度图。
基于同一发明构思,本发明实施例中还提供了一种计算机可读存储介质, 由于处理器在执行上述计算机可读存储介质上存储的计算机程序时解决问题 的原理与图像处理方法相似,因此处理器在执行上述计算机可读存储介质存储 的计算机程序的实施可以参见方法的实施,重复之处不再赘述。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可 用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光 盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如 ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD) 等。
在本发明实施例中提供的计算机可读存储介质内存储计算机程序,计算机 程序被处理器执行时实现接收DSP发送的经过预处理的第一图像和第二图像; 其中,所述第一图像和第二图像是双目摄像机采集并发送至所述DSP的;所 述DSP对所述第一图像和第二图像进行预处理;针对每个视差方向,并行在 该视差方向上对所述经过预处理的第一图像和第二图像进行立体匹配,生成该 视差方向上的视差图;根据每个视差图,确定深度图。由于在本发明实施例中,FPGA并行确定每个视差方向上的视差图;进而根据每个视差图,确定深度图。 避免了先依次确定每个视差方向上的视差图,然后再确定深度图带来的延时问题,因此确定深度图的实时性较好。
本发明实施例提供了一种图像处理***、方法、装置、电子设备及存储介 质,所述***包括双目摄像机和数字信号处理DSP,所述***还包括:现场可 编程门阵列FPGA;所述双目摄像机,用于向所述DSP发送采集的第一图像和 第二图像;所述DSP,用于将所述第一图像和第二图像发送至所述FPGA;所 述FPGA,用于针对每个视差方向,并行在该视差方向上对所述第一图像和第 二图像进行立体匹配,生成该视差方向上的视差图;对每个视差图进行配准, 确定深度图。
由于在本发明实施例中,FPGA并行确定每个视差方向上的视差图;进而 对每个视差图进行配准,确定深度图。避免了先依次确定每个视差方向上的视 差图,然后再确定深度图带来的延时问题,因此确定深度图的实时性较好。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产 品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入 式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算 机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一 个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设 备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中 的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个 流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使 得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处 理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个 流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基 本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要 求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (17)
1.一种图像处理***,其特征在于,所述***包括双目摄像机、数字信号处理DSP和现场可编程门阵列FPGA;
所述双目摄像机,用于向所述DSP发送采集的第一图像和第二图像;
所述DSP,用于对所述第一图像和第二图像进行预处理;
所述FPGA,用于针对每个视差方向,并行在该视差方向上对经过预处理的第一图像和第二图像进行立体匹配,生成该视差方向上的视差图;根据每个视差图,确定深度图。
2.如权利要求1所述的***,其特征在于,所述DSP,具体用于根据所述第一图像和第二图像中预设的像素点的标记信息,判断所述第一图像和第二图像是否为相同帧号的左图和右图,如果是,将所述第一图像和第二图像发送至所述FPGA。
3.如权利要求1所述的***,其特征在于,所述FPGA中包括三块缓存;
所述DSP,具体用于将经过预处理的第一图像和第二图像依次发送至所述FPGA中的第一块缓存、第二块缓存和第三块缓存;所述第二块缓存,用于数据缓冲;
所述FPGA,还用于从第三块缓存中获取所述经过预处理的第一图像和第二图像。
4.如权利要求1所述的***,其特征在于,所述FPGA,还用于对所述经过预处理的第一图像和第二图像进行极线校正。
5.如权利要求1所述的***,其特征在于,所述FPGA,具体用于确定所述经过预处理第一图像中的每个第一像素点相对于经过预处理第二图像中每个第二像素点的代价值;根据所述每个第一像素点的代价值,分别确定左、上、右、左上和右上五个方向的视差图;
其中,所述FPGA将确定的代价值按照顺序存储,用于确定左、上、左上和右上四个方向的视差图;将确定的代价值按照倒序存储,用于确定右方向的视差图。
6.如权利要求5所述的***,其特征在于,所述FPGA,具体用于按照预设的数量,并行确定所述经过预处理第一图像中的每个第一像素点相对于经过预处理第二图像中每个第二像素点的代价值。
7.如权利要求5所述的***,其特征在于,所述FPGA,还用于将左、上、左上和右上四个方向的每一行视差图按照顺序进行存储;将所述右方向的奇数行视差图按照倒序进行存储,偶数行视差图按照顺序进行存储。
8.如权利要求1所述的***,其特征在于,所述FPGA,还用于对所述深度图进行中值滤波处理,并将处理后的深度图发送至所述DSP。
9.一种图像处理方法,其特征在于,所述方法包括:
接收DSP发送的经过预处理的第一图像和第二图像;其中,所述第一图像和第二图像是双目摄像机采集并发送至所述DSP的;所述DSP对所述第一图像和第二图像进行预处理;
针对每个视差方向,并行在该视差方向上对所述经过预处理的第一图像和第二图像进行立体匹配,生成该视差方向上的视差图;根据每个视差图,确定深度图。
10.如权利要求9所述的方法,其特征在于,所述接收DSP发送的经过预处理的第一图像和第二图像之后,针对每个视差方向,并行在该视差方向上对所述经过预处理的第一图像和第二图像进行立体匹配,生成该视差方向上的视差图之前,所述方法还包括:
对所述经过预处理的第一图像和第二图像进行极线校正。
11.如权利要求9所述的方法,其特征在于,所述针对每个视差方向,并行在该视差方向上对所述经过预处理的第一图像和第二图像进行立体匹配,生成该视差方向上的视差图包括:
确定所述经过预处理的第一图像中的每个第一像素点相对于经过预处理的第二图像中每个第二像素点的代价值;根据所述每个第一像素点的代价值,分别确定左、上、右、左上和右上五个方向的视差图;
其中,所述FPGA将确定的代价值按照顺序存储,用于确定左、上、左上和右上四个方向的视差图;将确定的代价值按照倒序存储,用于确定右方向的视差图。
12.如权利要求11所述的方法,其特征在于,所述确定所述经过预处理的第一图像中的每个第一像素点相对于经过预处理的第二图像中每个第二像素点的代价值包括:
按照预设的数量,并行确定所述经过预处理的第一图像中的每个第一像素点相对于经过预处理的第二图像中每个第二像素点的代价值。
13.如权利要求11所述的方法,其特征在于,分别确定左、上、右、左上和右上五个方向的视差图之后,所述方法还包括:
将左、上、左上和右上四个方向的每一行视差图按照顺序进行存储;将所述右方向的奇数行视差图按照倒序进行存储,偶数行视差图按照顺序进行存储。
14.如权利要求9所述的方法,其特征在于,所述确定深度图之后,所述方法还包括:
对所述深度图进行中值滤波处理,并将处理后的深度图发送至所述DSP。
15.一种图像处理装置,其特征在于,所述装置包括:
接收模块,用于接收DSP发送的经过预处理的第一图像和第二图像;其中,所述第一图像和第二图像是双目摄像机采集并发送至所述DSP的;所述DSP对所述第一图像和第二图像进行预处理;
确定模块,用于针对每个视差方向,并行在该视差方向上对所述经过预处理的第一图像和第二图像进行立体匹配,生成该视差方向上的视差图;根据每个视差图,确定深度图。
16.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求9-14任一项所述的方法步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求9-14任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811583936.6A CN109741385A (zh) | 2018-12-24 | 2018-12-24 | 一种图像处理***、方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811583936.6A CN109741385A (zh) | 2018-12-24 | 2018-12-24 | 一种图像处理***、方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109741385A true CN109741385A (zh) | 2019-05-10 |
Family
ID=66359640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811583936.6A Pending CN109741385A (zh) | 2018-12-24 | 2018-12-24 | 一种图像处理***、方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109741385A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832494A (zh) * | 2020-07-17 | 2020-10-27 | 中国联合网络通信集团有限公司 | 信息存储方法及设备 |
CN113345001A (zh) * | 2021-05-19 | 2021-09-03 | 智车优行科技(北京)有限公司 | 视差图确定方法和装置、计算机可读存储介质、电子设备 |
WO2021185036A1 (zh) * | 2020-03-18 | 2021-09-23 | 广州极飞科技有限公司 | 点云数据的生成及实时显示方法、装置、设备及介质 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1175848A (zh) * | 1996-06-29 | 1998-03-11 | 三星电子株式会社 | 视频数据的混洗方法和装置 |
CN101185580A (zh) * | 2006-11-15 | 2008-05-28 | 深圳迈瑞生物医疗电子股份有限公司 | 超声诊断***高速射频回波数据采集方法和装置 |
CN101308697A (zh) * | 2008-07-10 | 2008-11-19 | 哈尔滨工业大学 | 基于sdram的大容量fifo突发缓存器及数据存储方法 |
CN101841730A (zh) * | 2010-05-28 | 2010-09-22 | 浙江大学 | 一种基于fpga的实时立体视觉实现方法 |
CN102395958A (zh) * | 2011-08-26 | 2012-03-28 | 华为技术有限公司 | 一种数据包的并发处理方法及设备 |
CN103167306A (zh) * | 2013-03-22 | 2013-06-19 | 上海大学 | 一种基于图像匹配的高分辨率深度图实时提取装置及方法 |
US20140002441A1 (en) * | 2012-06-29 | 2014-01-02 | Hong Kong Applied Science and Technology Research Institute Company Limited | Temporally consistent depth estimation from binocular videos |
CN103561255A (zh) * | 2013-10-24 | 2014-02-05 | 洪丹 | 一种裸眼立体显示方法 |
CN106525004A (zh) * | 2016-11-09 | 2017-03-22 | 人加智能机器人技术(北京)有限公司 | 双目立体视觉***及深度测量方法 |
CN106570901A (zh) * | 2016-11-11 | 2017-04-19 | 浙江大学 | 一种基于cuda的双目深度信息恢复加速方法 |
CN206557758U (zh) * | 2017-03-06 | 2017-10-13 | 扬州大学 | 一种基于fpga可扩展的nand flash存储芯片阵列控制器 |
CN107437273A (zh) * | 2017-09-06 | 2017-12-05 | 深圳岚锋创视网络科技有限公司 | 一种虚拟现实的六自由度三维重构方法、***及便携式终端 |
CN108257165A (zh) * | 2018-01-03 | 2018-07-06 | 上海兴芯微电子科技有限公司 | 图像立体匹配方法、双目视觉设备 |
CN108520537A (zh) * | 2018-03-29 | 2018-09-11 | 电子科技大学 | 一种基于光度视差的双目深度获取方法 |
CN108629763A (zh) * | 2018-04-16 | 2018-10-09 | 海信集团有限公司 | 一种视差图的评判方法、装置及终端 |
CN108682026A (zh) * | 2018-03-22 | 2018-10-19 | 辽宁工业大学 | 一种基于多匹配基元融合的双目视觉立体匹配方法 |
CN108742495A (zh) * | 2018-03-26 | 2018-11-06 | 天津大学 | 一种用于医疗领域的三维立体腹腔镜***及立体匹配方法 |
-
2018
- 2018-12-24 CN CN201811583936.6A patent/CN109741385A/zh active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1175848A (zh) * | 1996-06-29 | 1998-03-11 | 三星电子株式会社 | 视频数据的混洗方法和装置 |
CN101185580A (zh) * | 2006-11-15 | 2008-05-28 | 深圳迈瑞生物医疗电子股份有限公司 | 超声诊断***高速射频回波数据采集方法和装置 |
CN101308697A (zh) * | 2008-07-10 | 2008-11-19 | 哈尔滨工业大学 | 基于sdram的大容量fifo突发缓存器及数据存储方法 |
CN101841730A (zh) * | 2010-05-28 | 2010-09-22 | 浙江大学 | 一种基于fpga的实时立体视觉实现方法 |
CN102395958A (zh) * | 2011-08-26 | 2012-03-28 | 华为技术有限公司 | 一种数据包的并发处理方法及设备 |
US20140002441A1 (en) * | 2012-06-29 | 2014-01-02 | Hong Kong Applied Science and Technology Research Institute Company Limited | Temporally consistent depth estimation from binocular videos |
CN103167306A (zh) * | 2013-03-22 | 2013-06-19 | 上海大学 | 一种基于图像匹配的高分辨率深度图实时提取装置及方法 |
CN103561255A (zh) * | 2013-10-24 | 2014-02-05 | 洪丹 | 一种裸眼立体显示方法 |
CN106525004A (zh) * | 2016-11-09 | 2017-03-22 | 人加智能机器人技术(北京)有限公司 | 双目立体视觉***及深度测量方法 |
CN106570901A (zh) * | 2016-11-11 | 2017-04-19 | 浙江大学 | 一种基于cuda的双目深度信息恢复加速方法 |
CN206557758U (zh) * | 2017-03-06 | 2017-10-13 | 扬州大学 | 一种基于fpga可扩展的nand flash存储芯片阵列控制器 |
CN107437273A (zh) * | 2017-09-06 | 2017-12-05 | 深圳岚锋创视网络科技有限公司 | 一种虚拟现实的六自由度三维重构方法、***及便携式终端 |
CN108257165A (zh) * | 2018-01-03 | 2018-07-06 | 上海兴芯微电子科技有限公司 | 图像立体匹配方法、双目视觉设备 |
CN108682026A (zh) * | 2018-03-22 | 2018-10-19 | 辽宁工业大学 | 一种基于多匹配基元融合的双目视觉立体匹配方法 |
CN108742495A (zh) * | 2018-03-26 | 2018-11-06 | 天津大学 | 一种用于医疗领域的三维立体腹腔镜***及立体匹配方法 |
CN108520537A (zh) * | 2018-03-29 | 2018-09-11 | 电子科技大学 | 一种基于光度视差的双目深度获取方法 |
CN108629763A (zh) * | 2018-04-16 | 2018-10-09 | 海信集团有限公司 | 一种视差图的评判方法、装置及终端 |
Non-Patent Citations (4)
Title |
---|
冯彬彬等: "基于FPGA的实时SGM匹配算法研究与实现", 《计算机工程与应用》 * |
熊静等著: "《物流信息管理》", 31 May 2017, 国防工业出版社 * |
纪坤: "基于FPGA的双目视觉立体匹配算法的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
顾晓菁等: "《运动人体机能研究的理论与方法》", 31 January 2012, 西南交通大学出版社 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021185036A1 (zh) * | 2020-03-18 | 2021-09-23 | 广州极飞科技有限公司 | 点云数据的生成及实时显示方法、装置、设备及介质 |
CN113496503A (zh) * | 2020-03-18 | 2021-10-12 | 广州极飞科技股份有限公司 | 点云数据的生成及实时显示方法、装置、设备及介质 |
CN111832494A (zh) * | 2020-07-17 | 2020-10-27 | 中国联合网络通信集团有限公司 | 信息存储方法及设备 |
CN111832494B (zh) * | 2020-07-17 | 2024-03-05 | 中国联合网络通信集团有限公司 | 信息存储方法及设备 |
CN113345001A (zh) * | 2021-05-19 | 2021-09-03 | 智车优行科技(北京)有限公司 | 视差图确定方法和装置、计算机可读存储介质、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10621446B2 (en) | Handling perspective magnification in optical flow processing | |
US9699380B2 (en) | Fusion of panoramic background images using color and depth data | |
CN104881666B (zh) | 一种基于fpga的实时二值图像连通域标记实现方法 | |
CN109741385A (zh) | 一种图像处理***、方法、装置、电子设备及存储介质 | |
RU2623806C1 (ru) | Способ и устройство обработки стереоизображений | |
US10769849B2 (en) | Use of temporal motion vectors for 3D reconstruction | |
TW202034270A (zh) | 車輛事故的鑑定方法及裝置、電子設備 | |
CN105635588B (zh) | 一种稳像方法及装置 | |
CN106251403A (zh) | 一种虚拟立体场景实现的方法、装置和*** | |
CN106529517A (zh) | 图像处理方法和图像处理设备 | |
CN105513083B (zh) | 一种ptam摄像机跟踪方法及装置 | |
CN107749069B (zh) | 图像处理方法、电子设备和图像处理*** | |
CN107113373A (zh) | 通过基于深度计算摄影的曝光计算 | |
CN107832331A (zh) | 可视化对象的生成方法、装置和设备 | |
CN112449152A (zh) | 多路视频同步的方法、***及设备 | |
CN110096993A (zh) | 双目立体视觉的目标检测设备及方法 | |
CN113378867B (zh) | 一种异步数据融合的方法、装置、存储介质及电子设备 | |
CN109934165A (zh) | 一种关节点检测方法、装置、存储介质及电子设备 | |
CN115240043A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN114742703A (zh) | 双目立体全景图像的生成方法、装置、设备和存储介质 | |
WO2022041257A1 (zh) | 三维地图处理方法、装置、可移动平台及存储介质 | |
CN108803658A (zh) | 基于无人机的巡检*** | |
CN108898617A (zh) | 一种目标对象的跟踪方法和装置 | |
CN106954029A (zh) | 一种全景视频拼接方法及*** | |
CN105430375B (zh) | 一种检测全景摄像机的拼接适用距离的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200922 Address after: Room 1201, building a, 1181 Bin'an Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Zhejiang Xinsheng Electronic Technology Co., Ltd Address before: Hangzhou City, Zhejiang province Binjiang District 310053 shore road 1187 Applicant before: ZHEJIANG DAHUA TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190510 |
|
RJ01 | Rejection of invention patent application after publication |