CN108230235A - 一种视差图生成系统、方法及存储介质 - Google Patents

一种视差图生成系统、方法及存储介质 Download PDF

Info

Publication number
CN108230235A
CN108230235A CN201710633687.6A CN201710633687A CN108230235A CN 108230235 A CN108230235 A CN 108230235A CN 201710633687 A CN201710633687 A CN 201710633687A CN 108230235 A CN108230235 A CN 108230235A
Authority
CN
China
Prior art keywords
convolutional neural
auxiliary
neural networks
map
master map
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.)
Granted
Application number
CN201710633687.6A
Other languages
English (en)
Other versions
CN108230235B (zh
Inventor
庞家昊
孙文秀
任思捷
严琼
杨成熙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN201710633687.6A priority Critical patent/CN108230235B/zh
Publication of CN108230235A publication Critical patent/CN108230235A/zh
Application granted granted Critical
Publication of CN108230235B publication Critical patent/CN108230235B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • G06T3/053Detail-in-context presentations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)

Abstract

本申请提供了一种视差图生成系统和一种视差图生成方法。所述方法包括:获取双目摄像头拍摄的主图及辅图;基于所述主图及所述辅图,获取初始视差图;将所述主图、所述辅图及所述初始视差图输入第一卷积神经网络,计算残差;基于所述初始视差图及所述残差,生成目标视差图。

Description

一种视差图生成系统、方法及存储介质
技术领域
本申请涉及图像处理技术领域,特别地,涉及一种视差图生成系统、方法及存储介质。
背景技术
视差图生成是计算机视觉领域的基本问题,视差图在许多领域有着重要的应用价值。例如,通过视差图生成计算出的视差图,可以在手机等移动终端上实现基于双摄像头的背景虚化处理,还可以在自动驾驶或辅助驾驶系统中计算道路及周边环境的深度信息。
当主图与辅图之间存在着自遮挡、无纹理区域及景深不连续等问题时,通过目前的视差图生成系统,计算得到的视差图存在过拟合的风险,导致视差图生成系统在物体边缘处的准确性较低。
发明内容
本申请的一个方面是关于一种视差图生成系统。所述系统包括图像获取模块、初始视差图获取模块、残差计算模块以及目标视差图生成模块;所述图像获取模块用于获取双目摄像头拍摄的主图及辅图;所述初始视差图获取模块用于基于所述主图及所述辅图,获取初始视差图;所述残差计算模块将所述主图、所述辅图及所述初始视差图输入第一卷积神经网络,计算残差;所述目标视差图生成模块用于基于所述初始视差图及所述残差,生成目标视差图。
在一些实施例中,所述视差图生成系统中,所述初始视差图获取模块,包括:校正子模块,用于对所述主图和所述辅图进行校正,得到校正主图及校正辅图;以及初始视差图获取子模块,用于将所述校正主图及所述校正附图输入第二卷积神经网络,获取所述初始视差图。
在一些实施例中,所述视差图生成系统中,所述残差计算模块,包括:图像处理子模块,用于基于所述主、所述辅图和所述初始视差图,获取预估主图和误差图,所述预估主图为所述辅图与所述初始视差图的合成图像,所述误差图为所述主图与所述预估主图的误差图像;以及残差计算子模块,用于将所述主图、所述辅图、所述初始视差图、所述预估主图及所述误差图输入所述第一卷积神经网络,计算所述残差。
在一些实施例中,所述视差图生成系统中,所述初始视差图获取模块,包括:三维代价体获取子模块,用于对所述主图和所述辅图进行相关性计算,得到三维代价体;以及三维代价体处理子模块,用于将所述三维代价体输入第二卷积神经网络,获取初始视差图。。
在一些实施例中,所述视差图生成系统中,所述初始视差图获取模块,包括:所述初始视差图获取子模块用于将所述三维代价体输入所述第二卷积神经网络,基于所述第二卷积神经网络的六个或六个以上的不同尺度,对所述三维代价体进行迭代处理,得到所述初始视差图。
在一些实施例中,所述视差图生成系统中,所述第一卷积神经网络和所述第二卷积神经网络相互级联;或者,所述第一卷积神经网络和所述第二卷积神经网络共同组成卷积神经网络,所述第二卷积神经网络组成卷积神经网络的前级部分,所述第一卷积神经网络组成卷积神经网络的后级部分,所述第一卷积神经网络的分辨率大于所述第二卷积神经网络;或者,所述第一卷积神经网络包括多个级联的子网络,所述第二卷积神经网络包括多个级联的子网络。
在一些实施例中,所述视差图生成系统中,所述目标视差图生成模块,包括:目标视差图生成子模块,用于将所述初始视差图及所述残差相加,得到所述目标视差图。
本申请的另一个方面是关于一种视差图生成的方法。所述方法可以在至少一个机器上执行,所述至少一个机器中的每一个机器可以具有至少一个处理器和一个存储器。所述方法可以包括以下操作中的一个或多个:获取双目摄像头拍摄的主图及辅图;基于所述主图及所述辅图,获取初始视差图;将所述主图、所述辅图及所述初始视差图输入第一卷积神经网络,计算残差;以及基于所述初始视差图及所述残差,生成目标视差图。
在一些实施例中,所述视差图生成的方法中,所述基于所述主图及所述辅图,获取初始视差图,包括:对所述主图和所述辅图进行校正,得到校正主图及校正附图;以及将所述校正主图及所述校正附图输入第二卷积神经网络,获取所述初始视差图。
在一些实施例中,所述视差图生成的方法中,所述将所述主图、所述辅图及所述初始视差图输入第一卷积神经网络,计算残差,包括:基于所述主图、所述辅图和所述初始视差图,获取预估主图和误差图,所述预估主图为所述辅图与所述初始视差图的合成图像,所述误差图为所述主图与所述预估主图的误差图像;以及将所述主图、所述辅图、所述初始视差图、所述预估主图及所述误差图输入所述第一卷积神经网络,计算所述残差。
在一些实施例中,所述视差图生成的方法中,所述基于所述主图及所述辅图,获取初始视差图,包括:对所述主图和所述辅图进行相关性计算,得到三维代价体;以及将所述三维代价体输入第二卷积神经网络,获取初始视差图。
在一些实施例中,所述视差图生成的方法中,所述将所述三维代价体输入第二卷积神经网络,获取初始视差图,包括:将所述三维代价体输入所述第二卷积神经网络,基于所述第二卷积神经网络的六个或六个以上的不同尺度,对所述三维代价体进行迭代处理,得到所述初始视差图。
在一些实施例中,所述视差图生成的方法中,所述第一卷积神经网络和所述第二卷积神经网络相互级联;或者,所述第一卷积神经网络和所述第二卷积神经网络共同组成卷积神经网络,所述第二卷积神经网络组成卷积神经网络的前级部分,所述第一卷积神经网络组成卷积神经网络的后级部分,所述第一卷积神经网络的分辨率大于所述第二卷积神经网络;或者,所述第一卷积神经网络包括多个级联的子网络,所述第二卷积神经网络包括多个级联的子网络。
在一些实施例中,所述视差图生成的方法中,所述基于所述初始视差图及所述残差,生成目标视差图,包括:将所述初始视差图及所述残差相加,得到所述目标视差图。
本申请的另一个方式是关于一种计算机可读存储介质。所述计算机可读存储介质可以用于存储计算机可读取的指令。所述指令被至少一个处理器执行时,可以包括以下操作中的一个或几个:获取双目摄像头拍摄的主图及辅图;基于所述主图及所述辅图,获取初始视差图;将所述主图、所述辅图及所述初始视差图输入第一卷积神经网络,计算残差;以及基于所述初始视差图及所述残差,生成目标视差图。
在一些实施例中,计算机读取存储介质中的指令后,所述基于所述主图及所述辅图,获取初始视差图的操作,包括:对所述主图和所述辅图进行校正,得到校正主图及校正附图;以及将所述校正主图及所述校正附图输入第二卷积神经网络,获取所述初始视差图。
一些实施例中,计算机读取存储介质中的指令后,所述将所述主图、所述辅图及所述初始视差图输入第一卷积神经网络,计算残差的操作,包括:基于所述主图、所述辅图和所述初始视差图,获取预估主图和误差图,所述预估主图为所述辅图与所述初始视差图的合成图像,所述误差图为所述主图与所述预估主图的误差图像;以及将所述主图、所述辅图、所述初始视差图、所述预估主图及所述误差图输入所述第一卷积神经网络,计算所述残差。
一些实施例中,计算机读取存储介质中的指令后,所述基于所述主图及所述辅图,获取初始视差图的操作,包括:对所述主图和所述辅图进行相关性计算,得到三维代价体;以及将所述三维代价体输入第二卷积神经网络,获取初始视差图。
一些实施例中,计算机读取存储介质中的指令后,所述将所述三维代价体输入第二卷积神经网络,获取初始视差图的操作,包括:将所述三维代价体输入所述第二卷积神经网络,基于所述第二卷积神经网络的六个或六个以上的不同尺度,对所述三维代价体进行迭代处理,得到所述初始视差图。
一些实施例中,计算机读取存储介质中的指令后,所述第一卷积神经网络和所述第二卷积神经网络相互级联;或者,所述第一卷积神经网络和所述第二卷积神经网络共同组成卷积神经网络,所述第二卷积神经网络组成卷积神经网络的前级部分,所述第一卷积神经网络组成卷积神经网络的后级部分,所述第一卷积神经网络的分辨率大于所述第二卷积神经网络;或者,所述第一卷积神经网络包括多个级联的子网络,所述第二卷积神经网络包括多个级联的子网络。
一些实施例中,计算机读取存储介质中的指令后,所述基于所述初始视差图及所述残差,生成目标视差图的操作,包括:将所述初始视差图及所述残差相加,得到所述目标视差图。
本申请的另一方面是关于一种视差图生成装置。所述装置包含视差图生成程序。所述程序可以在至少一个机器上执行,所述至少一个机器中的每一个机器可以具有至少一个处理器和一个存储器。所述程序的执行过程可以包括以下操作中的一个或多个:获取双目摄像头拍摄的主图及辅图;基于所述主图及所述辅图,获取初始视差图;将所述主图、所述辅图及所述初始视差图输入第一卷积神经网络,计算残差;以及基于所述初始视差图及所述残差,生成目标视差图。
在一些实施例中,所述程序的执行过程中,所述基于所述主图及所述辅图,获取初始视差图的过程,包括:对所述主图和所述辅图进行校正,得到校正主图及校正附图;以及将所述校正主图及所述校正附图输入第二卷积神经网络,获取所述初始视差图。
在一些实施例中,所述程序的执行过程中,所述将所述主图、所述辅图及所述初始视差图输入第一卷积神经网络,计算残差的过程,包括:基于所述主图、所述辅图和所述初始视差图,获取预估主图和误差图,所述预估主图为所述辅图与所述初始视差图的合成图像,所述误差图为所述主图与所述预估主图的误差图像;以及将所述主图、所述辅图、所述初始视差图、所述预估主图及所述误差图输入所述第一卷积神经网络,计算所述残差。
在一些实施例中,所述程序的执行过程中,所述基于所述主图及所述辅图,获取初始视差图的过程,包括:对所述主图和所述辅图进行相关性计算,得到三维代价体;以及将所述三维代价体输入第二卷积神经网络,获取初始视差图。
在一些实施例中,所述程序的执行过程中,所述将所述三维代价体输入第二卷积神经网络,获取初始视差图的过程,包括:将所述三维代价体输入所述第二卷积神经网络,基于所述第二卷积神经网络的六个或六个以上的不同尺度,对所述三维代价体进行迭代处理,得到所述初始视差图。
在一些实施例中,所述程序的执行过程中,所述第一卷积神经网络和所述第二卷积神经网络相互级联;或者,所述第一卷积神经网络和所述第二卷积神经网络共同组成卷积神经网络,所述第二卷积神经网络组成卷积神经网络的前级部分,所述第一卷积神经网络组成卷积神经网络的后级部分,所述第一卷积神经网络的分辨率大于所述第二卷积神经网络;或者,所述第一卷积神经网络包括多个级联的子网络,所述第二卷积神经网络包括多个级联的子网络。
在一些实施例中,所述程序的执行过程中,所述基于所述初始视差图及所述残差,生成目标视差图的过程,包括:将所述初始视差图及所述残差相加,得到所述目标视差图。
与现有技术相比,本发明的有益效果表现如下:
一、卷积神经网络具有获取图像残差的网络结构,可以利用卷积神经网络对图像进行求残差处理。
二、通过计算得到的残差,对初始视差图进行修正,以得到优化的视差图,即目标视差图,使整个系统的输出结果在物体边缘处的准确性更高。
三、利用辅图和初始视差图的合成图像,即预估主图,主图和预估主图的误差图像,即误差图,结合主图、辅图和第初始视差图全部输入到神经网络中,使神经网络对残差的计算更加准确。
附图说明
本申请将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本申请的一些实施例所示的一种智能匹配系统的示意图;
图2是根据本申请的一些实施例所示的一种示例性计算设备的示意图;
图3是根据本申请的一些实施例所示的一种示例性移动设备的示意图;
图4是根据本申请的一些实施例所示的一种视差图生成系统的结构示意图;
图5是根据本申请的一些实施例所示的一种示例性初始视差图获取模块的示意图;
图6是根据本申请的一些实施例所示的视差图生成方法的一种示例性流程图;
图7是根据本申请的一些实施例所示的视差图生成方法的一种示例性流程图;
图8是根据本申请的一些实施例所示的视差图生成方法的一种示例性流程图;
图9a-9f是根据本申请的一些实施例所示的目标视差图的示意图。
具体实施方式
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
虽然本申请对根据本申请的实施例的系统中的某些模块做出了各种引
用,然而,任何数量的不同模块可以被使用并运行在车辆客户端和/或服务器上。所述模块仅是说明性的,并且所述系统和方法的不同方面可以使用不同模块。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本申请的实施例可以应用于不同的交通系统和/或移动终端,不同的交通系统包括但不限于陆地、水面航行、航空、航天等中的一种或几种的组合。例如,人力车、代步工具、汽车(例如,小型车、巴士、大型运输车等)、轨道交通(例如,火车、动车、高铁、地铁等)、船舶、飞机、飞船、卫星、热气球、无人驾驶的交通工具等。不同的移动终端包括但不限于智能手机、智能手表、摄像机、照相机、笔记本、平板电脑、个人数码助理(PDA)、车载电脑等移动设备。本申请的不同实施例应用场景包括但不限于运输业、仓储物流业、农业作业系统、城市公交系统、商业运营车辆等中的一种或几种的组合。应当理解的是,本申请的系统及方法的应用场景仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。
本申请描述的“图像”或“图”可以包括成像设备在使用过程中所拍摄的图片。例如,所述“图像”或“图”可以是所述成像设备的两个摄像头分别拍摄的图片。所述“图像”或“图”还可以是原始图片经过处理后得到的图片。例如,可以是经过图像校正、图像合成、图像差值求解等后得到的图片。
图1是根据本申请的一些实施例所示的一种智能匹配系统100的示意图。例如,智能匹配系统100可以是一个为自动驾驶和/或具有双目摄像头的移动终端提供服务的平台。智能匹配系统100可以包括一个服务器110、一个或多个存储设备120、一个或多个网络130和一个或多个客户端140。服务器110可以包括一个处理引擎112。
在一些实施例中,服务器110可以是一个单个的服务器或者一个服务器群组。所述服务器群可以是集中式的或分布式的(例如,服务器110可以是一个分布式的系统)。在一些实施例中,服务器110可以是本地的或远程的。例如,服务器110可以通过网络130访问存储在存储设备120和/或客户端140中的信息和/或数据。再例如,服务器110可以直接连接到存储设备120和/或客户端140以访问存储的信息和/或数据。在一些实施例中,服务器110可以在一个云平台上实现。仅仅举个例子,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、云之间、多重云等或上述举例的任意组合。在一些实施例中,服务器110可以在与本申请图2或图3所示的计算设备上实现。例如,服务器110可以在如图2所示的一个计算设备200上实现,包括计算设备200中的一个或多个部件。再例如,服务器110可以在如图3所示的一个移动设备300上实现,包括计算设备300中的一个或多个部件。
在一些实施例中,服务器110可以包括一个处理引擎112。处理引擎112可以处理与服务请求相关的信息和/或数据以执行本申请描述的一个或多个功能。例如,处理引擎112可以提供一个场景深度估算模块供车辆自动驾驶和/或具有双目摄像头的移动终端使用。在一些实施例中,处理引擎112可以包括一个或多个处理器(例如,单核处理器或多核处理器)。仅仅举个例子,处理引擎112可以包括一个或多个硬件处理器,例如中央处理器(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图像处理器(GPU)、物理运算处理器(PPU)、数字信号处理器(DSP)、现场可编辑门阵列(FPGA)、可编辑逻辑器件(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或上述举例的任意组合。
存储设备120可以存储数据和/或指令。在一些实施例中,存储设备120可以存储从客户端140获得的数据。在一些实施例中,存储设备120可以存储供服务器110执行或使用的数据和/或指令,服务器110可以通过执行或使用所述数据和/或指令以实现本申请描述的示例性方法。在一些实施例中,存储设备120可以包括大容量存储器、可移动存储器、挥发性读写存储器、只读存储器(ROM)等或上述举例的任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态硬盘等。示例性的可移动存储器可以包括闪存盘、软盘、光盘、记忆卡、压缩硬盘、磁带等。示例性的挥发性只读存储器可以包括随机存储器(RAM)。示例性的随机存储器可以包括动态随机存储器(DRAM)、双数据率同步动态随机存储器(DDRSDRAM)、静态随机存储器(SRAM)、可控硅随机存储器(T-RAM)和零电容存储器(Z-RAM)等。示例性的只读存储器可以包括掩蔽型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、压缩硬盘只读存储器(CD-ROM)和数字多功能硬盘只读存储器等。在一些实施例中,存储设备120可以在一个云平台上实现。仅仅举个例子,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、云之间、多重云等或上述举例的任意组合。
在一些实施例中,存储设备120可以与网络130连接以实现与智能匹配系统100中的一个或多个部件(例如,服务器110、客户端140等)之间的通信。智能匹配系统100的一个或多个部件可以通过网络130访问存储在存储设备120中的数据或指令。在一些实施例中,存储设备120可以直接与智能匹配系统100的一个或多个部件(例如,服务器110、客户端140等)连接或通信。在一些实施例中,存储设备120可以是服务器110的一部分。
网络130可以促进信息和/或数据的交换。在一些实施例中,智能匹配系统100中的一个或多个部件(例如,服务器110、存储设备120和客户端140等)可以通过网络130向智能匹配系统100中的其他部件发送信息和/或数据。例如,服务器110可以通过网络130从车辆客户端140获取/得到请求。在一些实施例中,网络130可以是有线网络或无线网络中的任意一种,或其组合。例如,网络130可以包括电缆网络、有线网络、光纤网络、远程通信网络、内联网、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、公共开关电话网络(PSTN)、蓝牙网络、ZigBee网络、近场通讯(NFC)网络等或上述举例的任意组合。在一些实施例中,网络130可以包括一个或多个网络接入点。例如,网络130可能包括有线或无线网络接入点,如基站和/或互联网交换点130-1、130-2等等。通过接入点,智能匹配系统100的一个或多个部件可能连接到网络130以交换数据和/或信息。
客户端140可以包括但不限于笔记本电脑140-1,车载内置设备140-2、移动设备140-3等中的一个或其任意组合。客户端140可以用于拍照和/或摄像。例如,客户端140可以对其所在位置的周边环境进行拍照和/或摄像。在一些实施例中,车载内置设备140-2可以包括一个车载电脑、一个车载抬头显示(HUD)、一个车载自动诊断系统(OBD)等或上述举例的任意组合。在一些实施例中,移动设备140-3可以包括一个智能手机、一个个人数码助理(Personal Digital Assistance,PDA)、一个平板电脑、一个掌上游戏机、一个智能眼镜、一个智能手表、一个可穿戴设备、一个虚拟显示设备、一个显示增强设备等或上述距离的任意组合。在一些实施例中,客户端140可以将摄像/拍照信息发送智能匹配系统100中的一个或多个设备中。例如,客户端140可以将拍摄的图片或影像发送至服务器110进行处理。
图2是根据本申请的一些实施例所示的一种示例性计算设备200的示意图。服务器110、存储设备120和客户端140可以在计算设备200上实现。例如,处理引擎112可以在计算设备200上实现并被配置为实现本申请中所披露的功能。
计算设备200可以包括用来实现本申请所描述的系统的任意部件。例如,处理引擎112可以在计算设备200上通过其硬件、软件程序、固件或其组合实现。为了方便起见图中仅绘制了一台计算机,但是本申请所描述的与智能匹配系统100相关的计算功能可以以分布的方式、由一组相似的平台所实施,以分散系统的处理负荷。
计算设备200可以包括与网络连接的通信端口250,用于实现数据通信。计算设备200可以包括一个处理器(例如,CPU)220,可以以一个或多个处理器的形式执行程序指令。示例性的电脑平台可以包括一个内部总线210、不同形式的程序存储器和数据存储器包括,例如,硬盘270、和只读存储器(ROM)230或随机存储器(RAM)240,用于存储由计算机处理和/或传输的各种各样的数据文件。示例性的计算设备可以包括存储在只读存储器230、随机存储器240和/或其他类型的非暂时性存储介质中的由处理器220执行的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200也包括输入/输出部件260,用于支持电脑与其他部件之间的输入/输出。计算设备200也可以通过网络通讯接收本披露中的程序和数据。
为理解方便,图2中仅示例性绘制了一个处理器。然而,需要注意的是,本申请中的计算设备200可以包括多个处理器,因此本申请中描述的由一个处理器实现的操作和/或方法也可以共同地或独立地由多个处理器实现。例如,如果在本申请中,计算设备200的处理器执行步骤1和步骤2,应当理解的是,步骤1和步骤2也可以由计算设备200的两个不同的处理器共同地或独立地执行(例如,第一处理器执行步骤1,第二处理器执行步骤2,或者第一和第二处理器共同地执行步骤1和步骤2)。
图3是根据本申请的一些实施例所示的一个示例性的移动设备300的示例性硬件和/或软件的示意图。客户端140可以在移动设备300上实现。如图3所示,移动设备300可以包括一个通讯单元310、一个显示单元320、一个图形处理器330、一个处理器340、一个输入/输出单元350、一个内存360和一个存储单元390。移动设备300中还可以包括一个总线或者一个控制器。在一些实施例中,移动操作系统370和一个或多个应用程序380可以从存储单元390加载到内存360中,并由处理器340执行。在一些实施例中,应用程序380可以接收和显示与处理引擎112有关的图像处理或其他信息的信息。输入/输出单元350可以实现用户与智能匹配系统100的交互,并将交互相关信息通过网络130提供给智能匹配系统100中的其他部件,如服务器110。
为了实现本申请中描述的各种模块、单元及其功能,计算机硬件平台可以用作这里提到的一个或多个元件的硬件平台。一个拥有用户界面元件的计算机可以用于实现个人计算机(PC)或者其它任何形式的工作站或终端设备。通过合适的编程,一个计算机也可以充当一台服务器。
图4是根据本申请的一些实施例所示的一种视差图生成系统,所述系统包括:图像获取模块410、初始视差图获取模块420、残差计算模块430和目标视差图生成模块440。
图像获取模块410可以用于获取与确定一个目标视差图相关的数据。
例如,图像获取模块410可以获取双目摄像头拍摄的主图、辅图、第一卷积神经网络中任意一项或其任意组合。关于图像获取模块410的详细描述可参见本披露图6部分的相关描述。
初始视差图获取模块420可以用于基于所述图像获取模块410获取的相关图像数据来生成一个初始视差图。
例如,初始视差图获取模块420可以基于所述主图、所述辅图和所述第二卷积神经网络获取一个初始视差图。关于初始视差图获取模块420的详细描述可参见本披露图5-8部分的相关描述。
对于本发明实施例,第一卷积神经网络和第二卷积神经网络相互级联;或者,第一卷积神经网络和第二卷积神经网络共同组成卷积神经网络,第二卷积神经网络组成卷积神经网络的前级部分,第一卷积神经网络组成卷积神经网络的后级部分,且第一卷积神经网络的分辨率大于第二卷积神经网络;或者,第一卷积神经网络包括多个级联的子网络,第二卷积神经网络包括多个级联的子网络。
可选地,残差计算模块430包括:图像处理子模块431和残差计算子模块432。所述图像处理子模块431可以用于对所述主图、所述辅图和所述初始视差图进行处理获取一个预估主图和一个误差图。所述残差计算子模块432可以基于所述主图、所述辅图、所述初始视差图、所述预估主图及所述误差图计算一个残差。关于残差计算模块430的详细描述可参见本披露图6和图8部分的相关描述。
可选地,目标视差图生成模块440可以包括目标视差图生成子模块441。所述目标视差图生成子模块441可以用于将所述初始视差图及所述残差相加,得到所述目标视差图。关于目标视差图生成模块440的详细描述可参见本披露图8部分的相关描述。
图5是根据本申请的一些实施例所示的一种示例性初始视差图获取模块420的示意图。初始视差图获取模块420可以包括校正子模块510,第一初始视差图获取子模块520,三维代价体生成子模块530,三维代价体处理子模块540,第二初始视差图获取子模块550。
可选地,校正子模块510可以用于校正双目摄像头拍摄的一个主图和/或一个辅图来获取一个校正主图和/或一个校正辅图。关于校正子模块510的详细描述可以参见本披露图7部分的相关描述。
可选地,初始视差图获取子模块520可以用于将所述校正主图及所述校正辅图输入第二卷积神经网络,获取所述初始视差图。关于初始视差图获取子模块520的详细描述可以参见本披露图6和图7部分的相关描述。
可选地,三维代价体生成子模块530可以用基于所述校正主图和校正辅图获取一个三维代价体。
所述三维代价体处理子模块540可以用于将所述三维代驾体输入到所述第二卷积神经网络获取一个初始视差图。
可选地,第二初始视差图获取子模块550,用于将所述三维代价体输入所述第二卷积神经网络,基于所述第二卷积神经网络的六个或六个以上的不同尺度,对所述三维代价体进行迭代处理,得到所述初始视差图。
图6是根据本申请的一些实施例所示的视差图生成方法600的一种示例性流程图。方法600可以由智能匹配系统100中的一个或多个部件实施。例如,方法600可以是存储在存储设备120中的一串指令(例如,一个应用程序)。服务器110和/或客户端140可以通过执行所述指令实施方法600。又例如,方法600可以被执行为存储在存储单元390(或只读存储器230或随机存储器240)中的一串指令(例如,一个应用程序)。处理器220(或处理器340中相应的模块或单元)可以执行所述指令以实施方法600。应当理解的是,方法600中的一个或多个步骤可以由一个或多个处理器共同地或独立地执行。
步骤610,获取双目摄像头拍摄的一个主图和一个辅图。
在一些实施例中,所述双目摄像头可以是任何具有摄像或拍照功能的设备所具备的成像装置,包括车载成像设备、移动成像设备等。例如,车载成像设备可以包括一个行车记录仪、一个车载照相机、一个车载摄像机、一个车载监控系统、一个倒车影像系统等或上述举例的任意组合。移动成像设备可以包括一个智能手机、一个移动摄像机、一个移动照相机等或上述举例的任意组合。所述双目摄像头可以同时进行摄像和/或拍照。所述主图辅图可以是所述双目摄像头直接获取的图像,也可以是在所述双目摄像头获取的视频中通过视频抽帧等方法获取的图像。
在一些实施例中,所述主图和所述辅图可以是所述双目摄像头在同一时间对同一对象分别拍摄的图像。例如,所述主图可以是由双目摄像头的左侧摄像头拍摄的图像,所述辅图可以是由双目摄像头的右侧摄像头拍摄的图像。应当注意的是,上述左侧和右侧是相对而言的,双目摄像头的两个摄像头的排列可以是任意的。例如,两个摄像头可以是水平排列的,也可以是竖直排列的,或者两个摄像头的连线以与水平线成任意角度倾斜排列的。
步骤620,基于所述主图和所述辅图,获取初始视差图。
在一些实施例中,处理器340可以将所述主图和所述辅图输入第二卷积神经网络,获取初始视差图。在一些实施例中,处理器340可以获取存储在智能匹配系统100中的任何存储装置(例如,存储设备120、只读存储器230、存储单元390等)中的第二卷积神经网络。
在一些实施例中,处理器340可以基于所述图像的像素的特征(例如,像素的像素值、像素的亮度、像素的灰度值等),得到一个初始视差图。例如,处理器340可以基于所述图像中的多个像素的像素值得到一个初始视差图。在一些实施例中,处理器340可以根据本披露图7所示的方法700,基于所述主图及所述辅图,获取初始视差图。
步骤630,将所述主图、所述辅图及所述初始视差图输入第一卷积神经网络,计算残差。
在一些实施例中,所述第一卷积神经网络可以在多个尺度下对图像进行计算处理。所述尺度可以是分辨率。所述第一卷积神经网络的网络构造可以是沙漏型的构造,输入所述第一卷积神经网络的图像在经过一定网络层的计算处理后,图像分辨率可以下降到一个确定的分辨率Sn。所述卷积神经网络的每一级网络的后续网络层可以继续对图像进行计算处理并将图像分辨率放大至Sn-1。重复图像处理和放大分辨率的步骤,直至达到图像的原分辨率(S0)。所述卷积神经网络可以在对放大至原分辨率的图像进行处理后输出一个与输入图像相同分辨率的图像。在一些实施例中,n可以是大于或等于5的自然数。在一些实施例中,处理器340可以根据智能匹配系统100不同性能或要求,确定不同的分辨率大小。例如,处理器340可以确定Sn的大小为800×600,Sn-1的大小为1024×768,S0的大小为1280×960等。类似的修改均在本披露的保护范围之内。
在一些实施例中,所述残差可以是初始视差图的残差。处理器340可以将所述图像经过相关处理(例如,图像合成,图像差值求解等)后输入到第一卷积神经网络,获取一个残差。在一些实施例中,处理器340可以根据本披露图8所示的方法800,将所述主图、所述辅图以及所述初始视差图输入第一卷积神经网络,计算残差。
步骤640,基于所述初始视差图和所述残差,生成目标视差图。
在一些实施例中,可以将所述初始视差图与所述残差相加,生成目标视差图。所述目标视差图相较于所述初始视差图可以有更高的准确度。
图7是根据本申请的一些实施例所示的视差图获取方法700的一种示例性流程图。方法700可以由智能匹配系统100中的一个或多个部件实施。例如,方法700可以是存储在存储设备120中的一串指令(例如,一个应用程序)。服务器110和/或客户端140可以通过执行所述指令实施方法700。又例如,方法700可以被执行为存储在存储单元390(或只读存储器230或随机存储器240)中的一串指令(例如,一个应用程序)。处理器340可以执行所述指令以实施方法700。应当理解的是,方法700中的一个或多个步骤可以由一个或多个处理器共同地或独立地执行。
步骤710,校正步骤610中获取的所述主图和所述辅图并获取校正主图及校正辅图。
在一些实施例中,可以基于双目摄像头的内参数据(例如,焦距、成像原点、倾斜系数、畸变等)和双目摄像头的相对位置关系(例如,旋转矩阵、平移向量等),分别对所述图像进行消除畸变和行对准。经过校正后的两幅图像的成像平面在同一平面上且两幅图像的对极线在同一水平线上。仅仅作为范例,图像校正的方法可以包括基于平面的图像校正方法(Plane-based Rectification)如Hartley算法、基于外极线的图像校正方法(Line-basedRectification)如Bouguet算法等。以Hartley算法为例,说明图像校正的具体步骤。
假定所述辅图的中心点的像素坐标为(u0,v0),通过变换矩阵T,所述辅图的图像坐标系可以平移到图像中心。所述变换矩阵T具有以下形式:
假定所述辅图的外极点的坐标为e′=(u,v,1)T,经过旋转变换矩阵R,所述外极点e′可以变换移动至图像坐标系的X轴上。所述旋转变换矩阵R具有以下形式:
其中,θ=arctan(v/u)。此时,所述外极点的坐标为e″=(f,0,1)T
基于变换矩阵G,所述外极点可以变换至水平方向无穷远处。所述变换矩阵G具有如下形式:
基于上述三个变换矩阵,可以得到所述辅图的校正变换矩阵H’=GRT。
对于所述主图,假定所述主图与所述辅图之间的基础矩阵为F=[e′]xM,所述主图的校正变换矩阵H与所述辅图的校正变换矩阵H’相匹配的充分必要条件为:对于某一向量a,H具有以下形式:
H=(I+H′e′aT)H′M
其中,I是单位矩阵,M为某一已知3×3矩阵。当所述辅图的外极点变换至(1,0,0)T,矩阵A=(I+H′e′aT)=I+(1,0,0)TaT具有以下形式:
基于矩阵A,H的形式可以转换为H=AH’M=AH0,其中,H0=H’M。
假定ui为所述主图的一个像素点,ui’是所述辅图的与ui相对应匹配的一个像素点,所述两个像素点之间的视差可以有以下公式得到:
di=d(Hui,H′u′i)2 (公式1)
其中,di是两个像素点之间的视差,d()是两个点之间的距离,H是所述主图的校正变换矩阵。基于公式(1),可以得到所述主图和所述辅图所有对应匹配点之间的视差,可以由以下公式得到:
其中,d是所有对应点之间的视差,n是对应匹配点的个数。基于H’以及M,可以通过计算矩阵A获取校正后所述主图和所述辅图之间最小视差,即
其中,
假定公式2可以表示为:
其中,是一个常量。公式3可以转变为以下公式
d’的最小化(即,校正后所述主图和所述辅图之间最小视差)可以通过线性方法求出a,b,c的值。基于a,b,c的值可以得到矩阵A,基于矩阵A可以得到所述主图的校正变换矩阵H。利用所述主图校正变换矩阵H和所述辅图的校正变换矩阵H’,可以对所述主图和所述辅图进行校正。可选地,步骤710之后可以包括:将所述校正主图及校正辅图输入第二卷积神经网络,获取所述初始视差图。
步骤720,基于所述第二卷积神经网络,对所述校正主图和所述校正辅图进行相关性计算,得到三维代价体。
在一些实施例中,所述校正主图及所述校正辅图可以在分别通过两个卷积层,然后通过一个相关层后,得到一个能代表两张图像在同一水平位置的相关值的三维代价体。所述相关值可以是两张图像的相似度,处理器340可以通过匹配比较两张图像中的像素的相似度,来确定两张图像的相似度。例如,对于校正主图的任意一像素点(x,y),处理器340可以将该像素与校正辅图的同一水平位置的另外一系列像素作匹配比较,例如,校正辅图的像素点(x,y)、像素点(x,y+1)、像素点(x,y+2)、…、像素点(x,y+d)。x和y是像素点的坐标值,d可以是不小于1的自然数。经过比较后,所述校正主图的任意一像素点可以对应所述校正辅图的一系列的像素点的匹配代价体。对于一个二维图像(例如,所述校正主图),经过比较后可以得到一个三维代价体。所述三维代价体可以用来表示所述主图和所述辅图之间的差异。应当注意的是,所述相关层可以替换成普通的卷积层而不影响本申请披露的第二卷积神经网络的作用和功能。
步骤730,将所述三维代价体输入所述第二卷积神经网络,获取初始视差图。
在一些实施例中,所述第二卷积神经网络可以与所述第一卷积神经网络具有相同或相似的网络结构和/或功能。可以基于所述第二卷积神经网络的六个或六个以上的尺度下,对所述三维代价体进行迭代处理。当不同尺度为六个时,对所述三维代价体进行迭代处理后,已经能够得到满足一般要求的初始视差图。当然,不同尺度的个数越多,得到的初始视差图的效果会越好,但同时计算量也会随尺度个数的增加而增加,具体选择多少个尺度,要结合初始视差图的要求以及计算量来综合选择。普通的技术人员可以根据系统对于初始视差图的要求以及计算成本的要求进行灵活选择。可以是六个,也可以在六个的基础上再增加尺度,比如可以是八个或者十个或者再更多的尺度等。例如,所述第二卷积神经网络可以在每个尺度对三维代价体进行计算处理后输出一个中间视差图。在所述第二卷积神经网络的训练学习过程中,所述第二卷积神经网络可以在每个尺度下通过计算中间视差图与标准(Ground Truth)的差值l1来监督在当前尺度下输出的视差图的优化程度,经过六次或六次以上的迭代优化处理,可以达到最佳效果。在一些实施例中,所述三维代价体经过带有下采样的卷积层和带有前馈连接的上采样反卷积层后,可以得到所述初始视差图。所述初始视差图可以与所述主图有相同的分辨率S0
仅仅作为范例,所述第二卷积神经网络的构造如下:
1.conv1a(7×7×2)Input:first
2.conv1b(7×7×2)Input:second
3.conv2a(5×5×2)Input:conv1a
4.conv2b(5×5×2)Input:conv1b
5.corr(1×1×1)Input:conv2b+conv2b
6.conv_rdi(1×1×1)Input:conv2a
7.conv3(5×5×2)Input:corr+conv_rdi
8.conv3_1(3×3×1)Input:conv3
9.conv4(3×3×2)Input:conv3_1
10.conv4_1(3×3×1)Input:conv4
11.conv5(3×3×2)Input:conv4_1
12.conv5_1(3×3×1)Input:conv5
13.conv6(3×3×2)Input:conv5_1
14.conv6_1(3×3×1)Input:conv6
15.pr_64(3×3×1)Input:conv6_1
16.upconv6(4×4×2)Input:conv6_1
17.iconv6(3×3×1)Input:upconv6+conv5_1+pr_64
18 pr_32(3×3×1)Input:iconv6
19.upconv5(4×4×2)Input:iconv6
20.iconv5(3×3×1)Input:upconv5+conv4_1+pr_32
21.pr_16(3×3×1)Input:iconv5
22.upconv4(4×4×2)Input:iconv5
23.iconv4(3×3×1)Input:upconv4+conv3_1+pr_16
24.pr_8(3×3×1)Input:iconv4
25.upconv3(4×4×2)Input:iconv4
26.iconv3(3×3×1)Input:upconv3+conv2a+pr_8
27.pr_4(3×3×1)Input:iconv3
28.upconv2(4×4×2)Input:iconv3
29.iconv2(3×3×1)Input:upconv2+conv1a+pr_4
30.pr_2(4×4×1)Input:iconv2
31.upconv1(4×4×2)Input:iconv2
32.pr_1(5×5×1)Input:upconv1+first+pr_2
其中,conv和iconv为卷积层,upconv为反卷积层,pr为卷积层,用来计算当前尺度下的中间视差图,corr为相关层,first为所述校正主图,second为所述校正后辅图。神经网络层后面括号内为网络层参数,例如,conv1(7×7×2),表明卷积核大小为7×7,步长为2。Input为当前网络层的输入,例如,conv2(5×5×2)Input:Conv1,表明输入当前网络层conv2的是网络层conv1的输出结果。
应当理解的是,上述卷积神经网络仅仅作为示例,处理器340可以根据智能匹配系统100的不同性能或效率的要求,调整神经网络的结构。例如,处理器340可以添加卷积层conv7和conv7_1。类似的修改均在本披露的保护范围之内。
图8是根据本申请的一些实施例所示的视差图生成方法800的一种示例性流程图。方法800可以由智能匹配系统100中的一个或多个部件实施。例如,方法800可以是存储在存储设备120中的一串指令(例如,一个应用程序)。服务器110和/或客户端140可以通过执行所述指令实施方法800。又例如,方法800可以被执行为存储在存储单元390(或只读存储器230或随机存储器240)中的一串指令(例如,一个应用程序)。处理器340可以执行所述指令以实施方法800。应当理解的是,方法800中的一个或多个步骤可以由一个或多个处理器共同地或独立地执行。
步骤810,基于所述主图,所述辅图和所述初始视差图,获取一个预估主图和一个误差图。
在一些实施例中,所述预估主图为所述辅图与所述初始视差图的合成图像,所述误差图为所述主图与所述预估主图的误差图像。
在一些实施例中,基于所述初始视差图,所述校正后的辅图在经过一个图像变形层(warping layer)后可以得到所述预估主图。所述预估主图可以通过公式1确定:
其中,x和y分别是图像中一像素点的坐标值,I2是所述校正后的辅图,d1是所述初始视差图。处理器340可以将所有像素点带入到公式6中进行求解,确定所述预估主图。
在一些实施例中,基于所述主图和所述预估主图,可以通过公式2确定所述误差图:
其中,I1是所述校正后的主图,是所述预估主图。处理器340可以将所有像素点带入到公式7中进行求解,确定误差图。所述误差图可以表示所述主图与所述预估主图之间的差别。
步骤820,基于所述主图,所述辅图,所述初始视差图,所述预估主图,所述误差图和所述第一卷积神经网络,计算得到一个残差。
在一些实施例中,可以将所述主图、所述辅图、所述初始视差图、所述预估主图和所述误差图输入到第一卷积神经网络。所述第一卷积神经网络可以是沙漏型的。例如,所述第一卷积神经网络可以在n+1个尺度下对输入的图像进行处理。在一些实施例中,n可以是大于或等于5的自然数。在尺度Sn下,所述第三图像d1在经过一个下采样层后可以得到一个缩小了2n次的图像所述级联卷积神经网络的第二级网络对输入的图像经过处理后可以得到一个残差处理器340可以根据公式3确定在尺度Sn下预估的视差图
所述第一卷积神经网络可以过计算预估的视差图与标准(Ground Truth)的差值l1来监督预估的视差图的准确程度。
步骤830,将所述初始视差图和所述残差相加,得到所述目标视差图。
在一些实施例中,所述第一卷积神经网络的第二级网络可以在尺度S0下输出最终的残差所述初始视差图d1在经过一个下采样层后可以得到一个缩小了20次的图像在一些实施例中,处理器340可以通过将相加得到最终的视差图
仅仅作为范例,所述第一卷积神经网络的构造如下:
1.conv1(5×5×1)Input:first+second+first_s+e+d
2.conv2(5×5×2)Input:conv1
3.conv2_1(3×3×1)Input:conv2
4.conv3(3×3×2)Input:conv2_1
5.conv3_1(3×3×1)Input:conv3
6.conv4(3×3×2)Input:conv3_1
7.conv4_1(3×3×1)Input:conv4
8.conv5(3×3×2)Input:conv4_1
9.conv5_1(3×3×1)Input:conv5
10.res_16(3×3×1)Input:conv5_1
11.pr_s1_16(-×-×-)Input:pr_s1
12.pr_s2_16(-×-×-)Input:pr_s1_16+res_16
13.upconv4(4×4×2)Input:conv5_1
14.iconv4(3×3×1)Input:upconv4+conv4_1+pr_s2_16
15.res_8(3×3×1)Input:iconv4
16.pr_s1_8(-×-×-)Input:pr_s1
17.pr_s2_8(-×-×-)Input:pr_s1_8+res_8
18.upconv3(4×4×2)Input:iconv4
19.iconv3(3×3×1)Input:upconv3+conv3_1+pr_s2_8
20.res_4(3×3×1)Input:iconv3
21.pr_s1_4(-×-×-)Input:pr_s1
22.pr_s2_4(-×-×-)Input:pr_s1_4+res_4
23.upconv2(4×4×2)Input:iconv3
24.iconv2(3×3×1)Input:upconv2+conv2_1+pr_s2_4
25.res_2(3×3×1)Input:iconv2
26.pr_s1_2(-×-×-)Input:pr_s1
27.pr_s2_2(-×-×-)Input:pr_s1_2+res_2
28.upconv1(4×4×2)Input:iconv2
29.res_1(5×5×1)Input:upconv1+conv1+pr_s2_2
30.pr_s2(-×-×-)Input:pr_s1+res_1
其中,conv和iconv为卷积层,upconv为反卷积层,pr_s1为作用于所述第三图像的下采样层,用来缩小所述第三图像;res为残差计算层,pr_s2为元素级相加层(element-wisesummation layer),用来在当前尺度下将经过下采样层处理后的第三图像与残差相加得到一个预估的视差图。first为所述校正主图,second为所述校正辅图,first_s为所述预估主图,e为所述误差图,d为所述初始视差图。神经网络层后面括号内为网络层参数,例如,conv1(5×5×1),表面卷积核大小为5×5,步长为1。Input为当前网络层的输入,例如,conv2(5×5×2)Input:conv1,表明输入当前网络层conv2的是网络层conv1的输出结果。
应当理解的是,上述卷积神经网络仅仅作为示例,处理器340可以根据智能匹配系统100的不同性能或效率的要求,调整神经网络的结构。例如,处理器340可以添加卷积层conv6和conv6_1。类似的修改均在本披露的保护范围之内.
在一些实施例中,所述第一卷积神经网络和所述第二卷积神经网络可以相互级联。所述第二卷积神经网络的输出结果(例如,初始视差图)可以不需要经过其他步骤和/或模块单元直接输入至第一卷积神经网络。
在一些实施例中,所述第一卷积神经网络和所述第二卷积神经网络可以共同组成一个卷积神经网络。所述第一卷积神经网络组成卷积神经网络的前级部分,所述第二卷积神经网络组成卷积神经网络的后级部分。所述第一卷积神经网络和所述第二卷积神经网络具有相同或相似的网络构造。在一些实施例中,所述第一卷积神经网络的分辨率可以大于所述第二卷积神经网络。例如,所述第二卷积神经网络可以在多个尺度下获取分辨率较低的初始视差图,通过将从所述第一卷积神经网络获取的较高分辨率的残差与分辨率较低的初始视差图相加可以得到较高分辨率的目标视差图。
在一些实施例中,所述第一卷积神经网络可以包括多个级联的子网络,所述第二卷积神经网络可以包括多个级联的子网络。所述第一卷积神经网络的多个级联的子网络和所述第二卷积神经网络的多个级联的子网络可以具有与上述示例性的第一卷积神经网络和第二卷积神经网络相同或相似的构造和功能。例如,可以基于所述第二卷积神经网络的多个级联的子网络在某一尺度下获取初始视差图的,同时,可以基于所述第一卷积神经网络的多个级联的子网络在另一较高尺度下获取残差。基于残差和初始视差图,可以通过将残差和初始视差图相加得到目标视差图。
图9a-9f是根据本申请的一些实施例所示的目标视差图的示意图。所述目标视差图为本申请所披露的系统和/或方法得到的最终的视差图。图9a和图9d为所述成像设备拍摄的对象的图片,图中红色方框内是图片中物体的边缘处。图9b和图9e是通过现有技术得到的视差图,图9c和图9f是通过本申请所披露的系统和/或方法得到的视差图。比较两种方法所得到的视差图,本申请所披露的系统和/或方法可以在物体的边缘处获得相较于现有技术准确度更高的视差图。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序被一个或者一个以上的处理器用于执行图6-8所示实施例提供的视差图生成方法。
本发明实施例还提供一种计算机程序,所述计算机程序包括:至少一可执行指令,所述至少一可执行指令被处理器执行时用于执行图6-8所示实施例提供的视差图生成方法对应的操作。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机可读信号介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读信号介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质、或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

Claims (10)

1.一种视差图生成方法,其特征在于,包括:
获取双目摄像头拍摄的主图及辅图;
基于所述主图及所述辅图,获取初始视差图;
将所述主图、所述辅图及所述初始视差图输入第一卷积神经网络,计算残差;
基于所述初始视差图及所述残差,生成目标视差图。
2.根据权利要求1所述的方法,其特征在于,所述基于所述主图及所述辅图,获取初始视差图,包括:
对所述主图和所述辅图进行校正,得到校正主图及校正辅图;
将所述校正主图及所述校正辅图输入第二卷积神经网络,获取所述初始视差图。
3.根据权利要求1所述的方法,其特征在于,所述将所述主图、所述辅图及所述初始视差图输入第一卷积神经网络,计算残差,包括:
基于所述主图、所述辅图和所述初始视差图,获取预估主图和误差图,所述预估主图为所述辅图与所述初始视差图的合成图像,所述误差图为所述主图与所述预估主图的误差图像;与
将所述主图、所述辅图、所述初始视差图、所述预估主图及所述误差图输入所述第一卷积神经网络,计算所述残差。
4.根据权利要求1所述的方法,其特征在于,所述基于所述主图及所述辅图,获取初始视差图,包括:
对所述主图和所述辅图进行相关性计算,得到三维代价体;与
将所述三维代价体输入第二卷积神经网络,获取初始视差图。
5.根据权利要求4所述的方法,其特征在于,所述将所述三维代价体输入第二卷积神经网络,获取初始视差图,包括:
将所述三维代价体输入所述第二卷积神经网络,基于所述第二卷积神经网络的六个或六个以上的不同尺度,对所述三维代价体进行迭代处理,得到所述初始视差图。
6.根据权利要求3或4所述的方法,其特征在于,所述第一卷积神经网络和所述第二卷积神经网络相互级联;或者,
所述第一卷积神经网络和所述第二卷积神经网络共同组成卷积神经网络,所述第二卷积神经网络组成卷积神经网络的前级部分,所述第一卷积神经网络组成卷积神经网络的后级部分,所述第一卷积神经网络的分辨率大于所述第二卷积神经网络;或者,
所述第一卷积神经网络包括多个级联的子网络,所述第二卷积神经网络包括多个级联的子网络。
7.根据权利要求1所述的方法,其特征在于,所述基于所述初始视差图及所述残差,生成目标视差图,包括:
将所述初始视差图及所述残差相加,得到所述目标视差图。
8.一种视差图生成系统,其特征在于,所述系统包括图像获取模块、初始视差图获取模块、残差计算模块、目标视差图生成模块;
所述图像获取模块,用于获取双目摄像头拍摄的主图及辅图;
所述初始视差图获取模块,用于基于所述主图及所述辅图,获取初始视差图;
所述残差计算模块,用于将所述主图、所述辅图及所述初始视差图输入第一卷积神经网络,计算残差;
所述目标视差图生成模块,用于基于所述初始视差图及所述残差,生成目标视差图。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储计算机程序,当计算机读取存储介质中的计算机程序后,计算机可用于实现如权利要求1至7中任一项所述视差图生成方法对应的操作。
10.一种视差图生成装置,其特征在于,所述装置运行视差图生成程序,所述程序执行时用于实现如权利要求1至7中任一项所述视差图生成方法对应的操作。
CN201710633687.6A 2017-07-28 2017-07-28 一种视差图生成系统、方法及存储介质 Active CN108230235B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710633687.6A CN108230235B (zh) 2017-07-28 2017-07-28 一种视差图生成系统、方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710633687.6A CN108230235B (zh) 2017-07-28 2017-07-28 一种视差图生成系统、方法及存储介质

Publications (2)

Publication Number Publication Date
CN108230235A true CN108230235A (zh) 2018-06-29
CN108230235B CN108230235B (zh) 2021-07-02

Family

ID=62654286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710633687.6A Active CN108230235B (zh) 2017-07-28 2017-07-28 一种视差图生成系统、方法及存储介质

Country Status (1)

Country Link
CN (1) CN108230235B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108921225A (zh) * 2018-07-10 2018-11-30 深圳市商汤科技有限公司 一种图像处理方法及装置、计算机设备和存储介质
CN109255827A (zh) * 2018-08-24 2019-01-22 太平洋未来科技(深圳)有限公司 三维人脸图像生成方法、装置及电子设备
CN109887019A (zh) * 2019-02-19 2019-06-14 北京市商汤科技开发有限公司 一种双目匹配方法及装置、设备和存储介质
CN110782412A (zh) * 2019-10-28 2020-02-11 深圳市商汤科技有限公司 图像处理方法及装置、处理器、电子设备及存储介质
CN111354032A (zh) * 2018-12-24 2020-06-30 杭州海康威视数字技术股份有限公司 一种生成视差图的方法及装置
US11127115B2 (en) 2019-12-13 2021-09-21 NextVPU (Shanghai) Co., Ltd. Determination of disparity
CN111369425B (zh) * 2020-02-20 2024-05-14 北京迈格威科技有限公司 图像处理方法、装置、电子设备和计算机可读介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821290A (zh) * 2011-06-06 2012-12-12 索尼公司 图像处理设备、图像处理方法以及程序
CN103868460A (zh) * 2014-03-13 2014-06-18 桂林电子科技大学 基于视差优化算法的双目立体视觉自动测量方法
CN104363460A (zh) * 2014-12-05 2015-02-18 桂林电子科技大学 一种基于三维自组织映射的立体图像编码方法
US20150243100A1 (en) * 2013-07-12 2015-08-27 Magic Leap, Inc. Method and system for determining user input based on totem
CN105469439A (zh) * 2015-11-29 2016-04-06 北京工业大学 采用残差反馈的slm显微视觉数据重构方法
US20160239979A1 (en) * 2011-11-11 2016-08-18 Edge 3 Technologies, Inc. Method and Apparatus for Enhancing Stereo Vision
CN106485207A (zh) * 2016-09-21 2017-03-08 清华大学 一种基于双目视觉图像的指尖检测方法及系统
CN106600583A (zh) * 2016-12-07 2017-04-26 西安电子科技大学 基于端到端神经网络的视差图获取方法
CN106934765A (zh) * 2017-03-14 2017-07-07 长沙全度影像科技有限公司 基于深度卷积神经网络与深度信息的全景图像融合方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821290A (zh) * 2011-06-06 2012-12-12 索尼公司 图像处理设备、图像处理方法以及程序
US20160239979A1 (en) * 2011-11-11 2016-08-18 Edge 3 Technologies, Inc. Method and Apparatus for Enhancing Stereo Vision
US20150243100A1 (en) * 2013-07-12 2015-08-27 Magic Leap, Inc. Method and system for determining user input based on totem
CN103868460A (zh) * 2014-03-13 2014-06-18 桂林电子科技大学 基于视差优化算法的双目立体视觉自动测量方法
CN104363460A (zh) * 2014-12-05 2015-02-18 桂林电子科技大学 一种基于三维自组织映射的立体图像编码方法
CN105469439A (zh) * 2015-11-29 2016-04-06 北京工业大学 采用残差反馈的slm显微视觉数据重构方法
CN106485207A (zh) * 2016-09-21 2017-03-08 清华大学 一种基于双目视觉图像的指尖检测方法及系统
CN106600583A (zh) * 2016-12-07 2017-04-26 西安电子科技大学 基于端到端神经网络的视差图获取方法
CN106934765A (zh) * 2017-03-14 2017-07-07 长沙全度影像科技有限公司 基于深度卷积神经网络与深度信息的全景图像融合方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
N. MAYER 等: "A large dataset to train convolutional networks for disparity optical flow and scene flow estimation", 《PROC. OF THE IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION》 *
SHAKED, AMIT 等: "Improved Stereo Matching with Constant Highway Networks and Reflective Confidence Learning", 《30TH IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR 2017)》 *
覃远年 等: "一种基于三维自组织映射的立体图像编码方法", 《微电子学与计算机》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108921225A (zh) * 2018-07-10 2018-11-30 深圳市商汤科技有限公司 一种图像处理方法及装置、计算机设备和存储介质
CN108921225B (zh) * 2018-07-10 2022-06-24 深圳市商汤科技有限公司 一种图像处理方法及装置、计算机设备和存储介质
CN109255827A (zh) * 2018-08-24 2019-01-22 太平洋未来科技(深圳)有限公司 三维人脸图像生成方法、装置及电子设备
CN111354032A (zh) * 2018-12-24 2020-06-30 杭州海康威视数字技术股份有限公司 一种生成视差图的方法及装置
CN111354032B (zh) * 2018-12-24 2023-10-20 杭州海康威视数字技术股份有限公司 一种生成视差图的方法及装置
CN109887019A (zh) * 2019-02-19 2019-06-14 北京市商汤科技开发有限公司 一种双目匹配方法及装置、设备和存储介质
CN110782412A (zh) * 2019-10-28 2020-02-11 深圳市商汤科技有限公司 图像处理方法及装置、处理器、电子设备及存储介质
US11127115B2 (en) 2019-12-13 2021-09-21 NextVPU (Shanghai) Co., Ltd. Determination of disparity
CN111369425B (zh) * 2020-02-20 2024-05-14 北京迈格威科技有限公司 图像处理方法、装置、电子设备和计算机可读介质

Also Published As

Publication number Publication date
CN108230235B (zh) 2021-07-02

Similar Documents

Publication Publication Date Title
CN108230235A (zh) 一种视差图生成系统、方法及存储介质
WO2020103814A1 (en) System, device and method of generating a high resolution and high accuracy point cloud
CN111226235B (zh) 神经网络的生成方法、训练方法和使用方法
CN110785797B (zh) 用于识别地图中地理区域的网格的系统和方法
KR102295809B1 (ko) 이동체의 전방향에 대한 거리 취득 장치 및 방법
WO2021056128A1 (en) Systems and methods for calibrating an inertial measurement unit and a camera
CN109035319A (zh) 单目图像深度估计方法及装置、设备、程序及存储介质
CN109643467B (zh) 图像处理设备和图像处理方法
CN111693025B (zh) 一种遥感影像数据生成方法、系统及设备
CN114898315A (zh) 驾驶场景信息确定方法、对象信息预测模型训练方法及装置
CN109478348A (zh) 图像处理装置和图像处理方法
US10748264B2 (en) Image processing apparatus and image processing method
US20240073523A1 (en) Systems and methods for generating depth information from low-resolution images
US20200263998A1 (en) Systems and methods for new road determination
CN116051758A (zh) 一种用于室外机器人的含有高度信息的地貌地图构建方法
CN113269168B (zh) 障碍物数据处理方法、装置、电子设备和计算机可读介质
CN115049794A (zh) 通过深度补全生成稠密的全局点云图方法及系统
CN116486038A (zh) 一种三维构建网络训练方法、三维模型生成方法以及装置
CN115866229A (zh) 多视角图像的视角转换方法、装置、设备和介质
CN109598199A (zh) 车道线生成方法和装置
CN115393826A (zh) 三维车道线生成方法、装置、电子设备和计算机可读介质
CN110660133A (zh) 电子地图的三维抽稀方法和装置
CN114187415A (zh) 地形图生成方法及装置
CN114693536A (zh) 一种图像处理方法,装置及储存介质
CN112734290A (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
GR01 Patent grant
GR01 Patent grant