CN107925755B - 针对图像处理进行平面表面检测的方法和系统 - Google Patents
针对图像处理进行平面表面检测的方法和系统 Download PDFInfo
- Publication number
- CN107925755B CN107925755B CN201680040894.4A CN201680040894A CN107925755B CN 107925755 B CN107925755 B CN 107925755B CN 201680040894 A CN201680040894 A CN 201680040894A CN 107925755 B CN107925755 B CN 107925755B
- Authority
- CN
- China
- Prior art keywords
- plane
- image
- hypothesis
- planar
- sample points
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/271—Image signal generators wherein the generated image signals comprise depth maps or disparity maps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/247—Aligning, centring, orientation detection or correction of the image by affine transforms, e.g. correction due to perspective effects; Quadrilaterals, e.g. trapezoids
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0081—Depth or disparity estimation from stereoscopic image signals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
公开了一种针对图像处理进行平面表面检测的系统、制品和方法。所述方法包括:获得深度图像数据,所述深度图像数据具有多个像素的三维坐标,其中,每个像素形成深度图像中的点;在所述深度图像中选择样本点;通过使用多个点针对多个单独样本点中的每一个样本点生成平面假设;以及执行投票以确定哪些像素在所述图像上具有可能在所述平面假设中的至少一个上存在的内容。
Description
技术领域
本申请涉及图像处理,尤其涉及3D空间中的图像处理。
背景技术
许多图像捕获设备具有可以形成场景的3D空间、测量相机距场景中对象的距离、和/或提供场景中对象的尺寸的3D或深度感测相机。这通常是通过使用立体系统来执行的,所述立体系统具有在单个设备上的相机或传感器阵列并且使用三角测量算法来确定场景中点的3D空间坐标以形成场景的深度图或深度图像。其他用于如从单个相机生成深度图像的方法也是已知的。通过将外部图像或虚拟对象放置到场景中并且以现实的方式进行定位(比如将绘画放置在墙壁的图片上,或者将家具放置在房间的图片中)来增强所捕获的图像或场景通常是有用的。当正确执行时,对象处于与图片中的视角相匹配的现实视角中,从而使得具有插入对象的场景对于观看图片的人来说看起来是现实的。为了完成这些功能,常规系统搜索平面表面,并且扭曲虚拟对象的形状以便将虚拟对象放置在平面表面上或相对于所述平面表面放置虚拟对象。然而,这种平面表面搜索任务通常基于计算量非常大的迭代过程,导致非常低的帧速率,使得这种过程对许多设备来说是不切实际的。
附图说明
在附图中通过示例的方式而非通过限制的方式展示了本文中所描述的材料。为了说明的简单和清楚起见,附图中所展示的元件不一定按比例绘制。例如,为清楚起见,一些元件的尺寸相对于其他元件可能被放大。进一步,在认为适当的情况下,在附图之间对参考标记加以重复以表示相应的或相似的元件。在附图中:
图1是放置到真实世界表面上的虚拟对象的示意图;
图2是放置到真实世界表面上的虚拟对象的另一个示意图;
图3是示出了根据本文中的实现方式的平面表面检测过程的流程图;
图4A至图4B是示出了根据本文中的实现方式的平面表面检测过程的详细流程图;
图5是用于解释本文中所公开的平面表面检测过程的深度图像采样的图像上方的示意图;
图6是用于解释在重叠平面之中的选择的图像上的示意图;
图7至图8分别是使用和不使用基于颜色处理的图像,所述基于颜色处理用于减少本文中的平面表面检测过程的平面中的空隙和孔;
图9是在本文中所描述的示例系统的操作中的平面表面检测方法的简图;
图10是示例系统的示意图;
图11是另一个示例系统的示意图;以及
图12展示了全部根据本公开的至少一些实现方式安排的另一个示例设备。
具体实施方式
现在参照附图来说明一种或多种实现方式。虽然对特定配置和安排进行了讨论,但应理解,这仅是出于说明目的来进行的。相关领域的技术人员将认识到,在不背离本说明书的精神和范围的情况下可以采用其他配置和安排。对相关领域技术人员而言将明显的是,本文中描述的技术和/或安排还可以在除了本文中描述的系统和应用之外的各种各样的其他系统和应用中被采用。
虽然以下描述阐述了可以在如例如片上系统(SoC)架构等架构中显现各实现方式,但本文中描述的技术和/或安排的实现方式并不局限于具体的架构和/或计算系统并且出于类似目的可以由任何架构和/或计算系统实现。例如,采用例如多个集成电路(IC)芯片和/或封装体、和/或各种计算设备和/或消费电子产品(CE)设备(诸如成像设备、数字相机、智能电话、网络摄像头、视频游戏面板或控制台、机顶盒、具有多个相机的平板计算机等)的各架构可以实现在此描述的技术和/或安排。此外,虽然以下描述可以阐述多个特定细节(诸如逻辑实现、系统组件的类型和相互关系、逻辑划分/集成选择等),但可以在没有这些特定细节的情况下实践要求保护的主题。在其他实例中,可以不详细示出某些材料(如例如,控制结构和完整的软件指令序列),以便不模糊本文中公开的材料。本文中公开的材料可以在硬件、固件、软件、或其任意组合中实现。
本文中所公开的材料还可以被实现为存储于机器可读介质或存储器上的指令,所述指令可以由一个或多个处理器来读取并执行。机器可读介质可以包括用于存储或传输采用由机器(例如,计算设备)可读的形式的信息的任何介质和/或机构。例如,机器可读介质可以包括:只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学存储介质;闪存设备;电气、光学、声学或其他形式的传播信号(例如,载波、红外信号、数字信号等)以及其他。在另一种形式中,非暂态制品(比如非暂态计算机可读介质)可以与以上所述示例或其他示例中的任何示例一起使用,只是其不包括暂态信号自身。非暂态制品却包括除了信号自身之外的可以暂时以“非暂态”形式(如RAM等)保持数据的那些元素。
说明书中提到“一种实现方式(one implementation)”、“实现方式(animplementation)”、“示例实现方式(an example implementation)”等表明所描述的实现方式可以包括具体特征、结构、或特性,但每个实现方式可能不一定包括所述具体特征、结构、或特性。此外,这些短语不一定指代同一实现方式。此外,当结合一个实现方式来描述具体特征、结构或特性时,应当理解,结合无论在此是否明确描述的其他实现方式来实施此类特征、结构或特性在本领域技术人员的认知范围内。
用于提供针对图像处理的平面表面检测的系统、制品和方法。
如上所述,在场景中提供实时颜色和深度信息的常规立体相机或其他深度测量系统是可用的。具体地,例如对于立体系统,两个相机用于从不同的角度捕获同一场景的图像。三角测量然后可以用于确定从相机到场景中对象的深度。这可能产生具有每个像素的(x,y,z)坐标的深度图或深度图像。
参照图1至图2,作为对深度相机的增强,3D系统可以在场景中找到用于各种实时增强现实应用的平面表面。通过这种能力,虚拟对象可以无缝地插入到原始图像中。例如,场景100(图1)具有投影仪102,所述投影仪将虚拟对象(如游戏接口104)投影到场景108中的平坦或平面表面106上。虚拟对象104是根据平面表面法线来自动调整的。同样地,2D儿童的图片(202)是通过自动变换视角或扭曲虚拟对象202以匹配平面墙壁204的视角来插入到墙壁204的图像200中的虚拟对象。
通过常规方法,检测深度数据中的平面表面主要是利用霍夫变换或随机样本一致性(RANSAC)来执行的。这些方案的问题在于,其盲目地对参数空间进行迭代以找到拟合形成图像的3D点云的平面表面,并且因此,所实现的帧速率可能非常低(低至<1fps)。发生此问题是因为这些系统在参数空间中进行操作同时针对图像中的每个点使用代数平面方程来确定平面假设(应当注意,术语平面和平面假设本文中可互换使用)。
更具体地,每个平面假设通过以下平面方程来设置:
ahxp+bhyp+chzh+dh=0 (1)
其中,(xp,yp,zp)是以图像中的内容(或对象或特征点)为单位(比如米)并且针对图像中的每个像素或点的坐标。为了执行常规方法,首先将方程(1)的参数h(ah,bh,ch,dh)转换成极坐标系统表示: 参数空间是经量化的,并且系统针对的每个可能组合有效地搜索参数空间,其中,θ是在xy平面上的法线向量(ah,bh,ch)的角度,并且是xy平面与法线向量(ah,bh,ch)之间在z方向上的角度。θ的范围从0度到360度,并且的范围从0度到180度。假设,目标应用在5米范围内操作,并且因此,dh的范围从0到5,5度用于θ和两者,那么dh的0.05米具有合理的平面检测结果。最终的平面假设是具有足够像素支持的那些平面假设。如果满足以下条件,则像素(xp,yp,zp)支持平面假设h(ah,bh,ch,dh):
|ahxp+bhyp+chzp+dh|<=δ, (2)
其中,δ是用于解释深度噪声的阈值。因为{ah,bh,ch,dh}是浮点数,实际上,使用较大的仓大小来量化参数空间以减少搜索时间,但是即使使用量化,假设的数量仍然较大。对于上述示例,常规系统需要考虑总数为72*36*100~260,000个可能组合。对于较大图像,例如,在较小设备(比如智能电话)的显示屏上的(1334×750)或(1920×1080)个像素,与高分辨率图像耦合的大量假设引起非常大的计算负荷,从而导致低效率和较慢的帧速率。关于常规的基于霍夫变换的方法的细节可以在2007年8月31日的R.C.Gonzalez等人的DigitalImage Processing(数字图像处理)第三版第697页至700页中找到。
为了解决这些问题,本方法和系统通过直接对深度图像进行采样来生成平面假设,而不是针对单个图像点来测试平面方程表达式ax+by+cz+d中的参数(a,b,c,d)(其可能采用如上所述的极坐标的形式)的可能值范围以确定(a,b,c,d)的值。具体地,所述方法通过使用图像上的间隔样本点来形成每个假设平面从而根据深度图像绘制一组假设平面,而不是通过利用每个像素单独地测试可能参数值的范围来形成平面假设从而根据参数空间盲目地绘制。对于VGA(640*480)或QVGA(320*240)分辨率,这单独可以将假设的数量从至少几千个减少到仅几百个左右,使得帧速率非常显著的提高,对于更高分辨率的屏幕(比如(1334×750)或(1920×1080))会有更大的提高。
当用户仅对某些定向的平面表面(例如,平行于或垂直于地面的描绘地板或墙壁的平面)感兴趣时,所公开的方法和系统还可以使用重力感测传感器数据来进一步减少假设的数量。可以丢弃错误定向的平面。
另外,用于判定每个像素是否属于平面假设的投票不仅包括判定使用像素坐标的特定平面假设是否等于某个阈值,而且还进行测试以判定正在被用于投票的像素附近的局部表面的法线是否类似于至少在平面边界附近提供更好的准确度的平面假设的法线。所述方法和系统还可以包括消除两个或更多个重叠平面之一,并且还使用恢复未拟合的3D顶点(并且看起来像是平面中的孔或空隙)并且由于深度噪声而发生的区域侵蚀技术和区域生长技术。所述算法的输出是平面方程连同将每个像素标记为属于特定平面假设的索引图的列表。方程和索引图然后可以用于扭曲虚拟对象以匹配图像中所检测到的平面之一的视角,从而将虚拟对象放置在平面上。
因此,在由给定深度图像的引导下,本方法以明智的方式对平面参数空间进行采样,并且因此实现了比常规方法高得多的帧速率(在视频图形阵列(VGA)深度时为约300fps)。因为本方法还包括用于在仅需要特定定向(例如,水平平面,如地面)的平面时进一步改善帧速率的重力感测(如惯性测量单元(IMU))传感器数据合并、考虑局部几何来提高平面边界处的准确度的不同投票方案、以及用于填充孔和未拟合区域的基于颜色的细化阶段,所以这产生了比已知方法快数百倍的平面检测的方法和系统。相比于已知方法,当前方法还通过结合局部几何和颜色信息产生了更平滑的平面边界。
参照图3,为针对图像处理进行平面表面检测的方法和系统提供了过程300。在所展示的实现方式中,过程300可以包括均匀编号的一个或多个操作、功能或动作302至308。通过非限制性示例的方式,在此可以分别参照图10的示例图像捕获处理系统1000、以及在相关位置处对过程300进行描述。
过程300可以包括“获得深度图像数据,所述深度图像数据具有多个像素的三维坐标,其中,每个像素形成深度图像中的点”302。如借助过程400详细解释的,这可以包括预处理原始图像数据,并且然后应用可以包括校正、特征匹配和最终深度计算的3D处理来生成深度图或深度图像。深度图像表示可能已经由同一场景的来自或者一个相机或者多个相机并且是在或者同一时刻或者不同的时间(通常当所述场景不移动时)拍摄的多个图像形成的3D空间。结果是其中每个像素点的内容都具有三维(x,y,z)坐标的深度图像。
过程300还可以包括“在所述深度图像中选择样本点”304。这可以包括选择彼此间隔的样本点,并且采用水平阵列和竖直阵列的一种形式,但是许多其他安排是可能的。所述间隔可以至少部分地取决于(多个)相机的焦距以及或者提供所述图像的相机可以感测的最小深度或者图像中所检测到的平均深度,如下文中更详细描述的。所述间隔是基于用户应用的需要而选择的,其中,较大间隔用于比如利用摄影技术捕获远距离的图像,并且较小间隔用于捕获近距离或特写视图的图像,与增强现实应用一样。下文提供了许多其他细节。
过程300然后可以包括“通过使用多个点针对多个单独样本点中的每一个样本点生成平面假设”306。具体地,此操作可以包括使用三个样本点来形成平面假设。代替三个样本点,设想可以使用深度图像上的单个样本点和两个其他点来形成平面假设,但是下文允许的采样涉及三个样本点。这可以包括形成作为平面假设的一部分并且利用样本点形成的三角形区域,使得主样本点位于三角形的左上角,并且下一个右样本点和下一个较低(或向下)样本点相对于主样本点形成三角形区域的另外两个角。这三个样本点然后用于确定与主样本点相关联的平面方程的参数。在一个示例中,由这三个样本点形成两个向量,并且确定叉积或法线以便设置平面方程的参数。参数值然后与平面方程中的主样本点的坐标一起用来设定平面假设。下文提供了细节。
下一阶段可以是验证阶段,其可以包括或可以不包括由于平面的定向而引起的平面假设消除,但是至少包括投票。定向消除包括仅保持具有与用户的应用所期望的相同或相似定向的这些平面假设。因此,应用可以请求竖直或水平平面(例如对于墙壁或地板),并且本方法可以使用在捕获图像时所使用的重力传感器来确定平面假设的定向。不具有与期望定向匹配的平面假设可能被消除或丢弃。下文中解释了更多细节。
另外,过程300可以包括“执行投票以确定哪些像素在所述图像上具有可能在所述平面假设中的至少一个上存在的内容”308。举例来说,通过将每个或多个像素点坐标一个接一个地代入到平面假设的平面方程中来执行投票,以判定结果是否接近零或者至少低于阈值或某个其他标准。然而,这不是唯一的测试,并且可以将在形成平面假设时已经确定的平面假设的法线与图像上进行投票的点的局部表面区域法线进行比较。如果所述法线是相同或相似的,并且点坐标满足平面方程,则所述点支持或投票此平面假设。然后可以形成列出平面假设并且列出支持每个平面假设的点的索引图。
还可以在提供平面假设的最终索引图之前执行其他操作来进一步消除平面假设并且细化平面的质量。这可以包括当平面重叠时抑制非最大平面以及使用区域侵蚀和区域生长的基于颜色的孔和空隙填充,如下文中更详细描述的。
参照图4A至图4B,为针对图像处理进行平面表面检测的方法和系统提供了过程400。在所展示的实现方式中,过程400可以包括均匀编号的一个或多个操作、功能或动作402至442。通过非限制性示例的方式,在此可以分别参照图10的示例图像处理系统1000、以及在相关位置处对过程400进行描述。
过程400可以包括“获得深度图像数据”402。在大多数情况下,根据预处理的原始图像数据形成深度图像或深度图。这可以包括去马赛克、降噪、像素线性化、阴影补偿、分辨率降低、晕影消除和/或包括自动白平衡(AWB)、自动对焦(AF)和/或自动曝光(AE)修改的3A相关的操作等。
而且,如本文中所提及的,可以由从多个角度捕获同一场景的图像的立体相机系统来确定深度图像数据。所述系统可以在多个图像上执行最初的校正操作,然后对不同图像中的特征进行匹配。三角测量算法或其他等效物可以用于确定图像中的场景的3D空间以及图像中的每个点、像素或特征的深度尺寸。另外,其他用于根据一个图像确定三个维度的方式是可能的,比如飞行时间技术、结构光技术或编码光技术。在每个像素处的内容的每个像素值的深度值(或者换言之,形成3D(x,y,z)坐标)的表或深度图形成深度图像数据。
过程400可以包括“生成平面假设”404。具体地,平面假设生成步骤具有至少两个阶段。在第一阶段(图像采样)中,深度图像被采样用于选择每个要具有平面假设的样本点。举例来说,可以根据采样密度s来选择样本点。也就是说,在图像内选择每s个像素中的一个像素作为一个样本点。s是依赖于应用的采样密度参数,如下文所解释的。
在第二阶段(假设计算)中,样本点用于计算平面假设。通过针对每个样本点而不是针对在经量化参数空间中的每个仓形成平面假设,显著减小了用于检测图像中的平面表面的计算负荷,从而在检测过程中引起帧速率的较大提高。
现在更详细地,过程400可以包括“确定图像样本点”406,并且具体地包括从正被处理的图像的深度图像或深度图中选择样本点。采样密度是基于用户限定的参数minArea来选择的,所述参数表示客户端用户(即,应用)想要检测的平面的最小面积(以平方米为单位)。用户选择这里指用户正在操作哪个应用,并且最小平面面积minArea可以是预设的或取决于应用而自动选择的。可以通过实验来确定minArea的值。举例来说,minArea可以设置为小于实际平面大小以便更好地确保至少一个假设采样覆盖目标平面。因此,对于远距离应用(较大的minArea),比如风景摄影技术应用,s将较大,并且对于近距离应用(较小的minArea),比如允许如利用照片增强、幻灯片放映和/或电影制作程序将叠加层或虚拟对象插入到真实世界图像中的增强现实应用,s将较小。举例来说,将minArea设置为0.04平方米,或者在另一种情况下,取决于应用为大约25至625平方像素。
参照图5,提供了示例图像500,所述示例图像示出均匀编号并且形成均匀编号的三角形区域534至550的所选样本点502至532。每组三个样本点(主样本点和在右侧的样本点和在主样本点下方的样本点)形成三角形区域之一,所述三角形区域可以是平面假设的一部分或被认为是平面假设。通过这种安排,然后s被选择为使得minArea的平面可以覆盖三角形区域中的至少一个区域,从而使得保证对三角形区域进行采样,并且三角形区域的数学表示(即,其平面方程)可以作为平面假设之一而被包括。这里,举例来说,示出了具有minArea的平面552。那么在数学上,可以如下确定采样密度s。
其中,A是具有minArea的平面的以像素为单位的最大可能面积大小,以及
其中,f是通常可以在相机规格中找到的相机(或多个相机)的焦距,并且minZ是相机可以感测的最小深度。通过不同的替代方案,可以用当前深度图像的平均深度d替换minZ以获得参数s的更好估计。通常,s的范围从大约5至25个像素。
无论以哪种方式选择s,都可以每s个像素对图像进行采样,并且在一种情况下,可以在具有均匀间隔的水平阵列和竖直阵列中以水平和竖直两者的方式进行采样,但是许多其他的安排也可以工作。当样本点不具有足够的图像间隔来形成三角形区域的平面(s×s)/2时,样本点被丢弃。对于平面被确定为从主样本点向右和向下的图像500的示例,当样本点太靠近图像的右侧边缘或底部边缘时,可能发生这种情况。
另外,将理解的是,其他用于计算密度s的替代方案可以是可能的,比如基于屏幕大小选择s以使得s跨屏幕均匀地拟合而无需额外的像素列或行,或者s可以根据在图像中检测到的内容(比如揭示边缘的梯度,或者缺少检测图像中的颜色的平坦、均匀区域的较大梯度)而变化(或者可能受限于图像的面积)。而且,只要三个样本点可用于形成每个平面假设,则水平的s可以不同于竖直的s,或者阵列可以在除了水平或垂直之外的方向(比如对角线或者甚至圆形或曲线)运行。又另一种可能性将是基于深度图像上的局部区域的平均深度来自适应地确定s。因此,对于较大的z坐标,可能会有较小的s。
过程400可以包括“通过使用多个点针对单个样本点计算平面假设”408,并且举例来说,多个样本点。此操作包括使用在深度图像上和在平面的代数方程中的样本点的三维坐标。更详细地,给定深度图像D和图像D上的每个像素p的3D坐标(xp,yp,zp)的集合X,平面表面提取的问题在于确定一组平面方程,其中:
H={h:ahx+bhy+chz+dh=0} (5)
以及分配函数:
F:D→H, (6)
将每个像素p分配给平面h。代替确定所有可能的平面假设{ah,bh,ch,dh}的常规平面检测算法(如霍夫变换),这里通过使用形成三角形区域或如图像500上所示出的以及如以上针对采样所描述的平面的一部分的3D坐标,针对直接采样的深度像素连同其右侧和下方相邻采样的深度像素来计算平面假设。形成三角形区域的这三个样本点中被分配平面假设的样本点的样本点可以被称为主样本点或像素,以便在这三个样本点之中进行区分。例如,对于平面534,点502可以是主样本点,而样本点504和510也用于形成平面534,并且其中,形成平面的每个三角形区域类似地形成。
在本情况中,可以通过找到平面的法线来确定平面假设方程中的平面假设参数。例如,形成三角形区域或平面的这三个样本点首先可以用于确定形成平面的两个向量,所述两个向量两者都源自主样本点。因此,样本点502和504可以形成第一向量而样本点502和510形成第二向量这三个样本点中的每一个的三维点然后可以用于通过找到这两个向量的叉积来确定平面的法线,其中:
另一种表示方法为:
Ns=(psr-ps)×(psd-ps) (8)
其中Ns是基于样本点的平面假设的法线向量,并且继续图像500上的平面534的示例,其中,ps是主样本点(例如,502),psr是在主样本点右侧下一个样本点(例如,在504处),并且psd是低于主样本点(或从主样本点向下)的下一个样本点(例如,510)。然后将法线Ns插入到平面点方程中:
ah(xp-x)+bh(yp-y)+ch(zp-z)=0 (9)
其中,将主样本点p(x,y,z)的实际值插入到方程中,并且所述方程然后被减少到这四个参数平面方程形式(以下的方程(10))以生成主样本点的平面假设:
ahxp+bhyp+chzp+dh=0 (10)
如被插入到平面方程中以形成平面假设的法线Ns的参数值(ah,bh,ch)然后还可以用于投票以便与局部法线Np进行比较,如以下所描述的。因此,平面假设生成阶段的输出是采用数学方程形式的一组平面假设:
{(ah,bh,ch,dh)︱.ahxp+bhyp+chzp+dh=0} (11)
因为本算法通过直接对包括使用已经存在于深度图像中的那些样本点的深度图像进行采样来生成平面假设,所以对于大小为1920*1080的图像,这导致搜索空间从常规系统产生的几十万个初始假设大大减少到仅仅两三千个左右的初始假设。
过程400可以包括“验证假设”410,并且具体地至少消除由于平面定向导致的一些平面假设,并且执行像素投票以确定哪些像素支持(或可能在)哪个平面假设。具体地,大多数增强现实应用主要对特定定向的平面表面感兴趣,比如平行于或垂直于地面(这表明平面表面是图像中的地板或墙壁)。在这种情况下,可能只保留符合用户或应用要求的这些平面假设。例如,如果用户或应用要求只检测水平平面,则系统保留水平延伸的这些平面假设。可以通过获得或感测重力方向来确定水平或竖直方向。
更详细地,过程400可以包括“确定重力方向”412。可以根据一个或多个惯性测量单元(IMU)传感器(比如在几乎每个移动智能设备上可用的加速度计和陀螺仪)来推导出重力方向g。
过程400可以包括“确定目标定向”414。用户的应用提供了对竖直定向或水平定向上的平面的请求。这可以源自来自用户并输入到应用中的请求,或者可以是首先由应用自动生成的。
过程400可以包括“确定平面假设的定向”416,并且具体地如上所述的通过获得平面假设的法线Ns(通过获得平面假设方程的参数)并且首先用于获得平面假设。然后将法线与重力方向相比较,并且可以将所述法线标记为相对于重力方向平行或垂直(或其他角度)。
过程400然后可以包括“保持具有期望定向的平面假设”417。当用户的应用正搜索水平平面时,系统将使用平行于重力方向的平面法线向量来搜索平面假设。同样地,当用户意图搜索竖直平面时,系统将使用垂直于重力方向的平面法线向量来搜索平面假设。例如,当用户的应用搜索平行于地面(水平平面假设)的平面时,系统仅保持满足以下方程的那些平面假设:
|gTN|≈“l” (12)并且同样地,对于垂直于地面的平面,则:
|gTN|≈“0” (13)
其中,N表示平面法线,并且上标T表示向量转置,并且gTN表示g与N之间的向量点积。
接下来,本方法使用投票方案,在所述投票方案中,多个像素,并且采用一种形式,深度图像中的每个像素关于所述像素属于(或支持)现有平面假设中的哪一个平面假设“进行投票”。接收足够支持的平面假设是最终输出的候选项。因此,过程400可以包括“针对单独的像素执行投票以确定平面假设”418,并且对于一个示例,针对图像中的每一个像素进行投票。换言之,对于假设集合中的每个平面假设h,所述方法确定深度图像中有多少像素位于由h参数化的平面上。对于目前在此假设验证阶段期间进行的投票操作,通过不仅测试像素p多好地拟合平面方程,而且通过将平面法线与从所述像素的局部邻域计算的表面法线进行比较来判定所述像素是否支持假设。
更详细地,这最初可以包括“将像素与假设的平面方程相匹配”419。因此,作为最初操作,如果满足以下条件,则可以通过将像素坐标代入到方程中来判定具有3D坐标(xp,yp,zp)的像素p是否在平面h(ah,bh,ch,dh)上:
|ahxp+bhyp+chzp+dh|≤δ≈0 (14)
并且其中,阈值δ是通过实验对深度相机噪声的补偿来确定的。例如,由于噪声,如果深度相机的精度为σ=1厘米(即,传感器无法测量1厘米以下的距离),当所述深度相机距离场景1米远时,那么δ应当被设置为大于σ*zp。这里,我们假设精度随着相机与场景之间的距离线性地下降。
通过一种形式,这并不是用于投票以判定像素是否在平面假设上的唯一条件。投票过程然后可以包括“判定局部法线是否类似于平面假设的法线”420。本方法或系统可以获得与平面假设相匹配并且用于以多种方式确定局部或相邻法线的当前像素周围的图像的面积。举例来说,对于每个像素p、右侧相邻pr和下方相邻pd,所述方法计算出围绕p的局部表面法线,其中:
Np=(pr-p)×(pd-p) (15)
其中,Np是这三个相邻像素之中的局部法线向量。如果满足方程(15)并且向量满足如下条件,则像素p将仅被称为在平面上或投票给h:
Np≈(ah,bh,ch) (16)
其中,直接从平面假设的平面方程(方程(14))中获得ah、bh、ch。而且,用于找到支持像素的法线不一定总是完全相同的,而是可以在阈值或其他标准内。这里,如果在法线之间的角度较小,则认为所述法线足够接近。在我们的实现方式中,对于低/高噪声级别,我们使用40度或60度作为深度传感器的阈值。对于非常低深度噪声的图像,此阈值可以被设置为低于40度的差异。这个附加测试可以使平面的拟合在平面的边界处更平滑或更准确。
再次参照图5,应当注意,以上提供的具有方程(15)和(16)的示例可以包括p、pr和pd是直接邻居或相邻像素的安排。通过其他可能的选项,用于确定局部法线的局部区域应当被设置成更大以便更好的对在被分析的像素周围的较大区域进行采样。在这种情况下,当待检查的像素是针对此选项的点554时(为了清楚起见,将其称为px),点px554可以至少大体上在局部表面区域556内居中,以使得在方程中用于确定局部表面区域556的局部表面法线Np的这三个点p、pr和pd形成局部区域556的各个角。同样在这种情况下,将理解的是,在第一初始测试中使用上述平面方程(14)进行测试的是px而不是p。通过其他选项,被测试的点或像素px可以至少大体上位于由这三个点p、pr和pd形成的三角形区域的中心处或附近。举例来说,局部表面区域556可以是大约3×3个像素形成的正方形,使得p、pr和pd在正方形的三个角处彼此相距3个像素。设想了许多其他大小的局部表面区域。在一种实现方式中,使用了3乘以3个像素的正方形。
过程400可以包括“保持具有足够投票数的平面假设”421。具有低于阈值的投票数的平面假设被认为是异常值并且被从所述假设设置中删除。举例来说,将阈值设置为s2,其是如上所述的最小平面的以像素为单位的面积。将理解的是,像素可以投票给多于一个平面假设,这可能指示重叠平面。
过程400可以包括“生成最初索引图”422。具体地,验证阶段的结果是图像的合格平面假设的列表,并且这些合格平面假设是下一步用于此图像的候选平面假设。形成初始索引图,所述初始索引图将每个合格平面假设与支持像素的列表相关联,使得无论何时像素被成功地映射到图像的平面假设,多个或每个图像像素都被映射到其相应的平面方程。
参照图6,在验证阶段中之后,所述方法可以可选地包括用于当两个或更多个平面假设重叠时执行非最大抑制以保留具有最大面积的平面假设以便实现限于单个平面假设的标记并且使得没有像素包括在多个平面假设中的操作。查看图像600,平面假设602与更大的平面假设604重叠,并且根据本方法将被删除。因此,过程400可以包括“消除重叠的平面”423。这可以包括“从索引图中获得平面位置”424。因此,所述系统可以获得到目前为止的平面假设的列表以及支持每个平面假设的像素。
过程400可以包括“确定重叠平面”426。通过审阅索引图,所述系统可以找到共享同一像素的这些平面假设。这类平面假设然后被标识为重叠。将理解的是,可能存在必须在多个平面假设上的阈值像素的所需最小数量以便将所述平面假设标识为重叠。这种阈值可以设置为被考虑的平面中的任何一个平面的像素的30%左右。
过程400可以包括“消除重叠平面中的至少一个”428。因此,当重叠平面假设被标识时,从索引图中消除所述平面之一。举例来说,就支持像素的总数量而言较大的平面被保持。
过程400可以包括“提供所检测到平面的经修改索引图”429,使得经修改索引图是从幸存于非最大抑制的平面假设中产生的。
接下来,过程400可以包括“使用基于颜色的处理来填充平面上的空间”430。具体地,将理解的是,支持平面假设的每个像素,以及进而在索引图中的每个像素都可以具有标识像素的平面假设的标记。然而,因为深度信号通常是嘈杂的,所以所产生的索引图是不平滑的。当像素或点显然应当已经分配给平面假设但并没有分配时,可能发生这种情况,并且在这种情况下,标记可能丢失,并且这可能产生伪像,比如平面内部的孔或沿平面的外部边界的空隙。应当已经被放置在平面上但是可能替代地在平面上导致伪像的这类像素可以被称为孤立像素。
因此,不同于针对平面检测只使用深度信息的先前方法,目前的平面表面检测方法和系统还可以包括基于颜色的后处理操作以便减少由于深度噪声引起的伪像。为此目的,目前平面检测方法可以包括在输出最终结果之前的基于颜色的处理。通过一种示例形式,区域Ri是由在索引图上具有平面标记i的所有像素形成的,以使得每个平面都是其自己的区域。在以下的过程436中将自然地填充孤立像素,以使得通常省略孤立像素的最初单独检测。
过程400然后可以包括“获得颜色图像数据”434,并且具体地图像中的像素的色度值。
过程400然后可以包括“基于颜色梯度而侵蚀和生长区域”436,并且其中,举例来说,每个区域都是平面假设。因此,通过替换孤立像素的平面索引来侵蚀和生长单独区域以更好的匹配在当前像素应当支持的平面假设的周围像素中的索引。这可以通过确定附近像素之中的像素到像素的颜色梯度以及使用具有已知模式并至少在孤立像素区域上像素到像素移动的滤波器型结构元件来执行。2007年8月31日R.C.Gonzalez等人的Digital ImageProcessing(数字图像处理)第三版第630页至635页提供了这种侵蚀和区域生长过程。所述区域可以生长,直到达到局部最大颜色梯度或者先前处理的区域的边界。由于沿着平面边界的深度(z)坐标不准确,这至少改善了平面边界。
一旦最初不具有平面索引的孤立像素具有其通过侵蚀和区域生长分配的区域,则过程400可以包括“提供具有准确平面标记的像素”438以向先前孤立像素提供解释所述孤立像素所在区域的假设的索引。而且,在区域生长过程期间,过程400可以包括“检查表面法线一致性”440以避免过度生长。这可以包括检查现在使用像素的3D坐标的局部表面法线以及针对如上所述的用于投票的平面假设法线的操作。
将理解的是,可以针对在图像上找到的从最大区域到最小区域的每个区域(或平面)来执行这种基于颜色的分析。其他变体是可能的。例如,还可以按照到相机的平面距离的顺序来执行这种基于颜色的分析。
参照图7至图8,图像700是通过不进行基于颜色处理的当前方法来进行的平面检测的示例,并且图像800包括进行基于颜色处理的平面检测。两者都示出了索引图的最终结果。圆圈区域706和708中的轮廓区域702和704示出了平面710和712的孤立像素,所述孤立像素被改变以获得更好质量的图像和更准确的平面检测,如图像800中所示出的。一个区域(线702)示出了有待平滑化的锯齿状边界,并且区域704示出错误颜色的像素。
过程400可以包括“提供所检测到平面的最终索引图”442。其后,可以将包括平面假设的列表和支持每个平面的像素的列表的索引图提供至本文中所提及的图像增强应用。
参照图9,过程900展示了根据本公开的至少一些实现方式执行针对图像处理进行平面表面检测的采样图像处理系统1000的操作。更详细地,以所展示的形式,过程900可以包括如由均匀编号的一个或多个动作902至930展示的一个或多个操作、功能或动作。通过非限制性示例的方式,在此将参照图10来描述过程900。具体地,系统1000包括逻辑单元或逻辑模块1004。逻辑模块1004可以包括深度图生成器单元1006和平面表面检测单元1008。平面表面检测点1008可以具有平面假设生成器组件1010、验证组件1012、非最大平面抑制组件1014以及基于颜色的孔-空隙减少组件1016。所述系统的操作可以如下进行。
过程900可以包括“获得深度图像”902,并且如以上用过程300和400所描述的,其中,原始图像数据已经被预处理,并且所述图像的内容被分析用于提供像素点的每一个的3D坐标以形成深度图像。将理解的是,当图像是用于本文中所提及的过程中的任一过程(所述过程可以应用于针对每个帧或其他时间段形成的每个深度图像)的视频序列中的帧时,并且当使用多个相机(其可以或可以不在同一时刻捕获场景)时,深度图像可以与从同一场景的多个图像形成的三维空间相关联或者表示所述从同一场景的多个图像形成的三维空间。
过程900可以包括“选择样本点”904。具体地,执行样本点选择以使得针对多个或每个样本点生成平面假设,从而使得不必针对图像中的每个像素点单独地生成平面假设。因此,样本点遍布图像间隔开,并且通过一种形式,所述间隔可以至少部分地取决于(多个)相机的焦距以及或者提供所述图像的相机可以感测的最小深度或者图像中所检测到的平均深度,如以上更详细描述的。通过一种示例形式,样本点间隔是根据使用平面假设以供图像增强的应用而设置的。已经发现使用远距离的应用(例如摄影技术)应该使用较大的间距,而使用近距离的应用(例如增强现实应用)应该使用较小的样本点间距。
过程900可以包括“使用多个点和法线来设置平面方程”906,并且如上所述,三个样本点可以用于形成两个向量,并且所述向量的叉积(由这三个点形成的平面的法线)用于确定每个样本点的平面方程形式(参见上述方程(11))的参数值。这是针对每个主样本点执行的,所述主样本点在仍在图像内的采样间隔处具有两个其他样本点。如上所述,其他变体是可能的。这避免了针对平面方程以及针对图像中的每个像素点测试可能参数值的范围的需要。
过程900可以包括“基于定向来消除平面假设”908。因此,在验证阶段期间,提供选项并且通过使用惯性测量单元(IMU)来确定到目前为止平面假设的定向。一旦确定平面假设的定向,可以将所述定向与例如来自用户的应用的期望定向相比较。如果所述定向是相同或类似的,则保持所述平面假设,同时丢弃具有错误定向的其他平面假设。
过程900可以包括“使用平面方程启动像素投票”910,或者换言之,执行投票以确定哪些像素在图像上具有可能在所述平面假设中的至少一个上存在的内容。这首先可以包括将像素坐标代入到平面假设的平面方程中以及确定结果是否满足标准,比如如上所述的在阈值以下。
过程900然后可以包括“匹配法线以完成投票”912。这可以包括将平面假设的法线(以平面假设的平面方程的参数的形式)与在图像上的点的局部区域法线相比较以确定所述点是否在平面假设上(或投票给平面假设)。如以上所解释的,在建立平面假设方程时已经计算了平面假设的法线。为了确定局部表面法线,所投票的点可以位于:(1)用于确定所述局部区域法线的局部区域的一角处或附近,或者(2)在所述局部区域的中心或形成法线的三个点的中心处或附近。无论(1)还是(2),三个点用于确定三角形位置中的局部区域,与样本点一样,区别在于这里的这三个点不一定是样本点之外。局部区域可以仅仅是具有特定大小(比如作为一个可能示例大约3×3)的特定形状的区域(如正方形),具有在空间的中心处或附近或者在空间的一角处的投票点。在任一情况下,所述空间的这三个角的坐标用于计算局部法线,如以上所解释的。结果是示出哪些像素支持哪些平面假设的最初索引图。
过程900可以包括“检测重叠平面”914,并且通过搜索索引图来大体上确定哪些像素支持多于一个平面假设。过程900然后可以包括“消除较小重叠平面”916,以使得较小平面(以支持所述平面的像素的总数量的形式)被丢弃。对索引图进行修改来反映丢弃了哪些平面假设。
过程900可以包括“通过使用区域侵蚀和生长来修改孤立像素”920,并且如以上所解释的,这些孤立像素是不支持平面假设但是看起来所述像素应当支持假设的像素,比如当所述像素的所有周围的点或在一定数量侧上的周围的点支持某个平面假设时。在这种情况下,如以上所解释的将区域侵蚀技术和区域生长技术应用于孤立像素,并且以便在平面假设中填充孔和空隙或以其他方式使边界平滑。这还产生接收将像素标识为支持平面假设的新标记的像素。
过程900可以包括“提供最终索引图”922。因此,提供了列出最终批准的平面假设以及支持每个平面假设的像素的最终索引图。所述索引图然后可以由增强图像的应用使用来将虚拟对象放置在最终索引图中的平面假设之一的平面表面上。
另外,图3、图4A至图4B和图9的操作中的任何一个或多个操作可以响应于由一个或多个计算机程序产品提供的指令而被进行。这种程序产品可以包括提供当由例如处理器执行时可以提供本文中所描述的功能的指令的信号承载介质。计算机程序产品可以以一个或多个机器可读介质的任何形式提供。因此,例如,包括一个或多个处理器核的处理器可以响应于由一个或多个计算机或机器可读介质传达给处理器的程序代码和/或指令或指令集而进行本文中的示例过程的操作中的一个或多个操作。通常,机器可读介质可以以程序代码和/或一个或多个指令集的形式传达软件,这些程序代码和指令集可以使设备和/或系统中的任意一者如本文中所描述的来执行操作。机器或计算机可读介质可以是非暂态制品(比如非暂态计算机可读介质),并且可以与以上所述示例或其他示例中的任何示例一起使用,只是其不包括暂态信号自身。非暂态制品却包括除了信号自身之外的可以暂时以“非暂态”形式(如RAM等)保持数据的那些元素。
如本文中所描述的任何实现方式中所使用的,术语“模块”指被配置用于提供本文中所描述的功能的软件逻辑、固件逻辑和/或硬件逻辑和的任何组合。软件可以具体化为软件包、代码和/或指令集或指令,并且如在本文中所描述的任意实现方式中使用的“硬件”可以包括,例如单独的或其任意组合的硬接线电路系统、可编程电路系统、状态机电路系统和/或由可编程电路系统执行的存储指令的固件。这些模块可以共同地或单独地具体化为形成例如,集成电路(IC)、片上系统(SoC)等的较大系统的一部分的电路系统。例如,模块可以采用逻辑电路系统来实施以经由本文中所讨论的译码系统的软件、固件或硬件来实现。
如本文中所描述的任何实现方式中所使用的,术语“逻辑单元”指被配置用于提供本文中所描述的功能的固件逻辑和/或硬件逻辑的任何组合。这些逻辑单元可以共同地或单独地具体化为形成例如,集成电路(IC)、片上系统(SoC)等的较大系统的一部分的电路系统。例如,逻辑单元可以被实施在逻辑电路中以经由本文中所讨论的译码系统的固件或硬件来实现。本领域的普通技术人员将认识到,由硬件和/或软件执行的操作可以替代性地经由软件来实现,所述软件可以具体化为软件包、代码和/或指令集或者多条指令,并且还认识到逻辑单元还可以利用软件的一部分来实现其功能。
如本文中所描述的任何实现方式中所使用的,术语“组件”可以指代模块或逻辑单元,如以上所描述的这些术语。因此,术语“组件”可以指代被配置用于提供本文中所描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。例如,本领域普通技术人员将了解,可替代地,由硬件和/或固件执行的操作可以经由软件模块来实现,所述软件模块可以具体化为软件包、代码和/或指令集,并且还将了解,逻辑单元也可以利用软件的一部分来实现其功能。
参照图10,根据本公开的至少一些实现方式安排了示例图像处理系统1000。在各种实现方式中,示例图像处理系统1000可以具有用于形成或接收所捕获图像数据的成像设备1002。这可以以各种方式来实现。因此,采用一种形式,图像处理系统1000可以是一个或多个数字相机或其他图像捕获设备,并且在这种情况下,成像设备1002可以是相机硬件和相机传感器软件、模块或组件。在其他示例中,成像处理系统1000可以具有包括或可以是一个或多个相机的成像设备1002,并且逻辑模块1004可以与成像设备1002远程通信或者可以以其他方式通信地耦合至所述成像设备以供图像数据的进一步处理。
因此,图像处理设备1000可以是在多相机设备(比如智能电话、平板计算机、膝上型计算机或其他移动设备)上的单个相机。另外,设备1000可以是具有多个相机的平板计算机或其他设备,其中,处理在所述相机之一上或在与所述相机通信的单独处理位置上发生,无论是在平板电脑或其他设备上还是不在平板电脑或其他设备上,并且无论是否在移动设备上执行处理。
在这些情况中的任何一种下,这种技术可以包括:诸如数字相机系统、专用相机设备、或成像电话或平板计算机等相机;静止图片或视频相机;提供预览屏幕的相机;或者这些相机的某种组合。因此,采用一种形式,成像设备1002可以包括相机硬件和光学器件,包括一个或多个传感器以及自动对焦、变焦、光圈、ND滤镜、自动曝光、闪光和致动器控制。这些控制可以是用于操作传感器的传感器模块或组件的一部分,所述传感器可以用于为取景器生成图像并且拍摄静止图片或视频。成像设备1002还可以具有透镜、具有RGB拜耳滤色器的图像传感器、模拟放大器、A/D转换器、用于将入射光转换成数字信号的其他组件、类似组件和/或其组合。本文中数字信号还可以被称为原始图像数据。
除了或代替使用红-绿-蓝(RGB)深度相机和/或麦克风阵列来定位谁在说话,其他形式包括相机传感器型的成像设备等(例如,网络摄像头或网络摄像头传感器或其他互补金属氧化物半导体型图像传感器(CMOS))。相机传感器还可以支持其他类型的电子快门(比如除了或代替滚动快门的全局快门)以及许多其他的快门类型。在其他示例中,RGB深度相机和/或麦克风阵列可以用于替代相机传感器。在一些示例中,成像设备1002可以被设置有眼睛跟踪相机。
在所展示的示例和这里的相关内容中,逻辑模块1004可以包括深度图生成单元1006,所述深度图生成单元通常在同一场景的多个图像上执行深度算法并且用于形成三维空间,其中,在所产生的表示三维空间的深度图或深度图像(或2D图像或同一场景的图像的集合)上的像素或点具有三维(x,y,z)坐标。逻辑模块还可以包括用于在深度图像中检测平面表面的平面表面检测单元1008。平面表面检测单元1008可以具有:平面假设生成器组件1010,用于基于深度图像数据来计算平面假设;验证组件1012,用于执行像素投票并且用于可选地基于定向来消除平面假设。如上所述,非最大平面抑制组件1014可以被提供用于可选地消除一个或多个重叠平面以减少冗余,并且基于颜色的平面孔-空隙减少组件1016可以被提供用于细化平面假设的质量。在这些示例中,逻辑模块1004可以被认为与成像设备分离,或者可以被认为是成像设备的一部分,或者当提供了多个成像设备时被认为是成像设备之一。
图像处理系统1000可以具有可以包括专用图像信号处理器(ISP)1022(比如英特尔阿童木(Atom))的一个或多个处理器1020、存储器存储设备1024、用于提供图像1030的一个或多个显示器1028、编码器1032、以及天线1026。在一种示例实现方式中,图像处理系统1000可以具有显示器1028、通信地耦合至所述显示器的至少一个处理器1020、以及通信地耦合至所述处理器的至少一个存储器1024。还可以提供编码器1032,其可以是编码器、解码器、或两者。编码器1032和天线1034可以被提供用于对经修改图像日期进行压缩以供传输至可以显示或存储所述图像的其他设备。将理解的是,图像处理系统1000还可以包括用于接收并解码图像数据以供由系统1000处理的解码器(或者编码器1032可以包括解码器)。另外,经处理的图像1030可以显示在显示器1028上或存储在存储器1024中。如所展示的,这些组件中的任何组件都可以能够彼此通信和/或与逻辑模块1004和/或成像设备1002的部分进行通信。因此,处理器1020可以通信地耦合至图像设备1002和逻辑模块1004两者以供操作这些组件。通过一种方法,如图10中所示,尽管图像处理系统1000可以包括与特定的组件或模块相关联的一组特定的块或动作,这些块或动作可以与同在此展示的特定组件或模块不同的组件或模块相关联。
参照图11,根据本公开的示例系统1100操作本文中所描述的图像处理系统的一个或多个方面。将从以下所描述的系统组件的性质中理解的是,这类组件可以与以上所描述的图像处理系统1000的某个部分或多个部分相关联或者用于操作所述图像处理系统的某个部分或多个部分。在各种实现方式中,尽管系统1100不限于此上下文,但系统1100可以是媒体系统。例如,系统1100可结合到数字静止相机、数字视频相机、具有相机或视频功能的移动设备(诸如成像电话、网络摄像头、个人计算机(PC)、膝上型计算机、超级膝上型计算机、具有多个相机的平板计算机、触控板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板计算机或智能电视机)、移动互联网设备(MID)、消息发送设备、数据通信设备等)中。
在各种实现方式中,系统1100包括耦合到显示器1120的平台1102。平台1102可以接收来自内容设备的内容,如(多个)内容服务设备1130或(多个)内容传递设备1140或其他类似内容源。包括一个或多个导航特征的导航控制器1150可以用来与例如平台1102和/或显示器1120交互。以下将更详细地描述这些组件中的每个组件。
在各种实现方式中,平台1102可以包括芯片组1105、处理器1110、存储器1112、存储设备1114、图形子系统1115、应用1116和/或无线电1118的任意组合。芯片组1105可以在处理器1110、存储器1112、存储设备1114、图形子系统1115、应用1116和/或无线电1118之中提供相互通信。例如,芯片组1105可以包括能够提供与存储设备1114的交互通信的存储适配器(未描绘)。
处理器1110可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器;x86指令集兼容处理器、多核或任何其他微处理器或中央处理单元(CPU)。在各种实现方式中,处理器1110可以是(多个)双核处理器、(多个)双核移动处理器等。
存储器1112可以被实现为易失性存储设备,如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或静态RAM(SRAM)。
存储设备1114可以被实现为非易失性存储设备,如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附加存储设备、闪存、电池应急SDRAM(同步DRAM)和/或可接入网络的存储设备。在各种实现方式中,存储设备1114可以包括用于当例如包括多个硬盘驱动器时增加对有价值的数字媒体的存储性能增强型保护的技术。
图形子系统1115可以对如用于显示的静态或视频图像执行处理。例如,图形子系统1115可以是图形处理单元(GPU)或视觉处理单元(VPU)。可以使用模拟或数字接口来通信地耦合图形子系统1115与显示器1120。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或符合无线HD的技术中的任何一个接口。图形子系统1115可以集成到处理器电路1110或芯片组1105中。在一些实现方式中,图形子系统1115可以是通信地耦合至芯片组1105的独立卡。
在此所描述的图形和/或视频处理技术可以用各种硬件架构来实现。例如,图形和/或视频功能可以集成到芯片组中。替代性地,可以使用离散图形和/或视频处理器。如又另一种实现方式,图形和/或视频功能可以由通用处理器(包括多核处理器)来提供。在进一步实现方式中,所述功能可以在消费电子设备中来实施。
无线电1118可以包括能够使用各种适当的无线通信技术发射并接收信号的一个或多个无线电。这类技术可以涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个人局域网(WPAN)、无线城域网(WMAN)、蜂窝网和卫星网。在跨这类网络进行通信时,无线电1118可以根据任何版本的一个或多个可适用标准进行操作。
在各种实现方式中,显示器1120可以包括任何电视机类型的监测器或显示器。显示器1120可以包括例如,计算机显示屏、触摸屏显示器、视频监视器、类似电视机的设备和/或电视机。显示器1120可以是数字的和/或模拟的。在各种实现方式中,显示器1120可以是全息显示器。而且,显示器1120可以是可以接收视觉投影的透明表面。这种投影可以传达各种形式的信息、图像、和/或对象。例如,这种投影可以是针对移动增强现实(MAR)应用的视觉叠加。在一个或多个软件应用1116的控制下,平台1102可以在显示器1120上显示用户界面1122。
在各种实现方式中,(多个)内容服务设备1130可以由任意国家的、国际的和/或独立的服务主控,并因此例如经由互联网可接入平台1102。(多个)内容服务设备1130可以耦合到平台1102和/或显示器1120。平台1102和/或(多个)内容服务设备1130可以耦合到网络1160以便向和从网络1160传达(例如,发送和/或接收)媒体信息。(多个)内容传递设备1140也可以耦合到平台1102和/或显示器1120。
在各种实现方式中,内容服务设备1130可以包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的启用互联网的设备或器具、以及能够在内容提供者与平台1102和/或显示器1120之间经由网络1160或直接地单向或双向传达内容的任何其他类似设备。应理解的是,内容可以经由网络1160单向地和/或双向地向和从系统1100中的组件中的任何一个组件与内容提供者之间进行通信。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
(多个)内容服务设备1130可以接收如包括媒体信息、数字信息和/或其他内容的有线电视节目的内容。内容提供方的示例可以包括任何有线或卫星电视或无线电或互联网内容提供方。所提供的示例不旨在以任何方式限制根据本公开的实现方式。
在各实现方式中,平台1102可以从具有一个或多个导航特征的导航控制器1150中接收控制信号。控制器1150的导航特征可以用于例如与用户界面1122进行交互。在实现方式中,导航控制器1150可以是定位设备,所述定位设备可以是允许用户输入空间(如连续的和多维的)数据到计算机的计算机硬件组件(特别是人机接口设备)。如图形用户界面(GUI)和电视机和监视器的许多系统允许用户使用物理姿势控制计算机或电视机并向计算机或电视机提供数据。
可以通过在显示器上显示的指针、光标、聚焦环或其他视觉指示符的移动来在显示器(例如,显示器1120)上复制控制器1150的导航特征的移动。例如,在软件应用1116的控制下,位于导航控制器1150上的导航特征可以例如被映射为在用户界面1122上显示的虚拟导航特征。在实现方式中,控制器1150可以不是独立组件,而是可以集成在平台1102和/或显示器1120内。然而,本公开不限于这些要素或本文中所显示或描述的内容。
在各种实现方式中,驱动器(未示出)可以包括使用户能够通过例如在初始启动后启动的按钮的触摸立刻打开和关闭类似电视机的平台1102的技术。当平台被“关闭”时,程序逻辑可以允许平台1102将内容流送到媒体适配器或其他内容服务设备1130或内容传递设备1140。此外,芯片组1105可以例如包括用于支持如8.1环绕声音频和/或高清(7.1)环绕声音频的硬件和/或软件。驱动器可以包括用于集成图形平台的图形驱动器。在实现方式中,图形驱动器可以包括外围组件互连(PCI)快速图形卡。
在各种实现方式中,可以对系统1100中示出的任何一个或多个组件进行集成。例如,平台1102和(多个)内容服务设备1130可以是集成的,或者平台1102和(多个)内容传递设备1140可以是集成的,或者平台1102、(多个)内容服务设备1130和(多个)内容传递设备1140可以例如是集成的。在各实现方式中,平台1102和显示器1120可以是集成单元。例如,显示器1120和(多个)内容服务设备1130可以是集成的,或者显示器1120和(多个)内容传递设备1140可以是集成的。这些示例并不旨在限制本公开。
在各实现方式中,系统1100可以被实现为无线系统、有线系统或二者的组合。当被实现为无线系统时,系统1100可以包括适合于通过如一个或多个天线、发送器、接收器、收发器、放大器、滤波器、控制逻辑等的无线共享介质进行通信的组件和接口。无线共享介质的示例可以包括无线光谱部分,如RF光谱等。当被实现为有线系统时,系统1100可以包括适用于通过有线通信介质(如输入/输出(I/O)适配器、利用相应有线通信介质连接I/O适配器的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器等)进行通信的组件和接口。有线通信介质的示例可以包括导线、电缆、金属引线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤等。
平台1102可以建立一个或多个逻辑或物理信道以传达信息。所述信息可以包括媒体信息和控制信息。媒体信息可以指表示针对用户的内容的任何数据。内容的示例可以包括例如,来自语音对话、视频会议、流式视频、电子邮件消息、语音邮件消息、字母数字符号、图形、图像、视频、文字等的数据。来自语音对话的数据可以是例如:语音信息、静默时间段、背景噪音、舒适噪音、声调等。控制信息可以指表示针对自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于通过系统路由媒体信息、或者指示节点以预定方式处理所述媒体信息。然而,各实现方式不限于图11中示出或描述的要素或上下文。
参照图12,小形状因数设备1200是在其中系统1000和/或1100可以具体化的变化的物理风格或形状因数的一个示例。通过这种方法,设备1200可被实现为具有无线能力和多个相机的移动计算设备。例如,移动计算设备可以指具有处理系统和移动电源或供电(诸如一个或多个电池)的任何设备。
如上所述,移动计算设备的示例可以包括数字静止相机、数字视频相机、具有相机或视频功能的移动设备(诸如成像电话、网络摄像头、个人计算机(PC)、膝上型计算机、超级膝上型计算机、具有或不具有多个相机的平板计算机、触控板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如智能电话、智能平板计算机或智能电视机)、移动互联网设备(MID)、消息发送设备、数据通信设备等)中。
移动计算设备的示例还可以包括安排成由人穿戴的计算机,例如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋计算机、衣服计算机、以及其他可穿戴的计算机。在各实现方式中,例如移动计算设备可以实现为能够执行计算机应用程序、以及语音通信和/或数据通信的智能电话。举例来讲,尽管一些实现方式可以用被实现为智能电话的移动计算设备描述,可以理解的是,其他实现方式也可以使用其他无线移动计算设备实现。实现方式并不局限于本上下文中。
如图12所示,设备1200可以包括:壳体1202、包括显示屏1210的显示器1204、输入/输出(I/O)设备1206、和天线1208。设备1200还可以包括导航特征1212。显示器1204可以包括用于显示适合于移动计算设备的信息的任何适当的显示单元。I/O设备1206可以包括用于将信息输入移动计算设备中的任何适当的I/O设备。I/O设备1206的示例可以包括字母数字键盘、数字小键盘、触摸板、输入建、按钮、开关、摇杆式开关、麦克风、扬声器、话音识别设备和软件等。信息也可以通过麦克风(未示出)输入到设备1200中。这种信息可以由语音识别设备(未示出)数字化。实现方式并不局限于本上下文中。
可以使用硬件元件、软件元件或两者的组合实现本文中所描述的各种形式的设备和过程。硬件元件的示例可以包括:处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。软件的示例可以包括:软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任意组合。判定是否使用硬件元件和/或软件元件来实现实现方式可以根据多个因数而变化,如预期的计算速率、功率电平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。
可由机器可读介质上所存储的代表性指令实现至少一个实施例的一个或多个方面,所述指令表示处理器内的各种逻辑,所述指令当被机器读取时使所述机器制作用于执行本文描述的技术的逻辑。这种表示(被称为“IP核”)可以被存储在有形机器可读介质上并提供给各顾客或制造设施以加载到实际制作所述逻辑或处理器的制作机器中。
虽然已经参照各实现方式描述了本文中阐述的某些特征,但并不打算在限制性意义上解释本说明书。因此,本公开涉及的对本领域技术人员而言明显的对本文中所描述的实现方式以及其他实现方式的各种修改被视为是在本公开的精神和范围内。
以下示例涉及进一步的实现方式。
通过一种示例实现方式,一种针对图像处理进行平面表面检测的计算机实现的方法包括:获得深度图像数据,所述深度图像数据具有多个像素的三维坐标,其中,每个像素形成深度图像中的点;在所述深度图像中选择样本点;通过使用多个点针对多个单独样本点中的每一个样本点生成平面假设;以及执行投票以确定哪些像素在所述图像上具有可能在所述平面假设中的至少一个上存在的内容。
通过另一种实现方式,本方法可以包括:选择所述样本点包括选择在所述图像上彼此间隔、从样本点到样本点具有均匀间隔并且被间隔以在整个图像上形成水平和竖直阵列的样本点;其中,所述样本点彼此间隔开大约5到25个像素;其中,所述样本点彼此的间隔是至少部分地基于以下各项中的至少一项来选择的:提供所述图像的相机可以感测的最小深度、所述图像中检测到的平均深度以及形成所述图像的所述相机的焦距。所述方法还可以包括:其中,所述样本点彼此的间隔是基于哪个应用将使用所述平面假设来增强所述图像来选择的;其中,所述方法包括:在不针对单个图像点测试平面方程表达式ax+by+cz+d中的参数(a,b,c,d)的可能值范围以确定(a,b,c,d)的值的情况下确定所述平面假设;以及使用三个样本点确定平面的法线以便确定所述三个样本点之一的平面假设。投票至少部分地包括将平面假设的法线与在所述图像上的点的局部区域法线相比较以判定所述点是否在所述平面假设上,其中,所述点位于:(1)用于确定所述局部区域法线的局部区域的一角处或附近,或者(2)在所述局部区域的中心处或附近。
通过进一步的实现方式,一种针对图像处理进行平面表面检测的计算机实现的系统包括:至少一个显示器;至少一个存储器;至少一个处理器,通信地耦合至所述显示器和所述存储器;以及平面表面检测单元,可由所述处理器来操作并且用于:获得深度图像数据,所述深度图像数据具有多个像素的三维坐标,其中,每个像素形成深度图像中的点;在所述深度图像中选择样本点;通过使用多个点针对多个单独样本点中的每一个样本点生成平面假设;以及执行投票以确定哪些像素在所述图像上具有可能在所述平面假设中的至少一个上存在的内容。
所述系统还可以包括:所述平面表面检测单元被安排成至少部分地基于以下各项中的至少一项来选择所述样本点彼此的间隔:提供所述图像的相机可以感测的最小深度、所述图像中检测到的平均深度以及形成所述图像的所述相机的焦距;其中,所述平面表面检测单元被安排成在不针对单个图像点测试平面方程表达式ax+by+cz+d中的参数(a,b,c,d)的可能值范围以确定(a,b,c,d)的值的情况下确定所述平面假设;并且其中,所述平面表面检测单元被安排成根据正寻求的平面的期望定向来消除至少一个平面假设,其中,所述平面表面检测单元被安排成感测重力方向,并且根据所述平面假设相对于所述重力方向的定向来消除至少一个平面假设。所述系统还可以包括:所述平面表面检测单元被安排成消除与另一平面假设重叠的至少一个平面假设,其中,所述平面表面检测单元被安排成消除两个或更多个重叠平面假设中的较小平面假设;其中,所述平面表面检测单元被安排成:形成平面索引,所述平面索引列出被分配给平面假设的一个或多个像素;并且基于所述平面假设的区域侵蚀和生长而将至少一个像素的平面索引改变为在这一个像素附近的其他像素的平面索引。
作为另一种实现方式,一种计算机可读介质,具有存储在其上的指令,所述指令当被执行时使计算设备:获得深度图像数据,所述深度图像数据具有多个像素的三维坐标,其中,每个像素形成深度图像中的点;在所述深度图像中选择样本点;通过使用多个点针对多个单独样本点中的每一个样本点生成平面假设;以及执行投票以确定哪些像素在所述图像上具有可能在所述平面假设中的至少一个上存在的内容。
作为另一个选项,所述指令执行所述计算设备来:选择所述样本点包括选择在所述图像上彼此间隔、从样本点到样本点具有均匀间隔并且被间隔以在整个图像上形成水平和竖直阵列的样本点;其中,所述样本点彼此间隔开大约5到25个像素;其中,所述样本点彼此的间隔是至少部分地基于以下各项中的至少一项来选择的:提供所述图像的相机可以感测的最小深度、所述图像中检测到的平均深度以及形成所述图像的所述相机的焦距。所述指令还可以使计算设备包括:其中,所述样本点彼此的间隔是基于哪个应用将使用所述平面假设来增强所述图像来选择的;其中,所述指令使所述计算设备:在不针对单个图像点测试平面方程表达式ax+by+cz+d中的参数(a,b,c,d)的可能值范围以确定(a,b,c,d)的值的情况下确定所述平面假设;并且使用三个样本点确定平面的法线以便确定所述三个样本点之一的平面假设。所述指令还可以使所述计算设备通过至少部分地包括将平面假设的法线与在所述图像上的点的局部区域法线相比较以判定所述点是否在所述平面假设上来进行投票,其中,所述点位于:(1)用于确定所述局部区域法线的局部区域的一角处或附近,或者(2)在所述局部区域的中心处或附近。
在另一个示例中,至少一个机器可读介质可以包括多条指令,所述指令响应于在计算设备上被执行而使计算设备执行根据以上示例中任一项所述的方法。
在又一个示例中,一种设备可以包括用于执行根据以上示例中任一项所述的方法的装置。
以上示例可以包括特征的特定组合。然而,以上示例不局限于这个方面,并且在各实现方式中,以上示例可以包括仅采取这类特征的子集、采取这类特征的不同顺序、采取这类特征的不同组合和/或采取除了明确例举的那些特征之外的附加特征。例如,关于本文中的任何示例方法所描述的所有特征都可以关于示例装置、示例系统和/或示例制品被实现,并且反之亦然。
Claims (26)
1.一种针对图像处理进行平面表面检测的计算机实现的方法,所述方法包括:
获得深度图像数据,所述深度图像数据具有多个像素的三维坐标,其中,每个像素形成深度图像中的点;
在所述深度图像中选择间隔的样本点;
通过使用多个点针对多个个体样本点中的每一个样本点生成平面假设;以及
执行投票以确定哪些像素在所述图像上具有可能在所述平面假设中的至少一个上存在的内容。
2.如权利要求1所述的方法,其中,选择所述样本点包括选择在所述图像上彼此间隔的样本点。
3.如权利要求1所述的方法,其中,选择所述样本点包括选择从样本点到样本点具有统一间隔的样本点。
4.如权利要求1所述的方法,其中,选择所述样本点包括选择被间隔以在整个图像上形成水平和竖直阵列的样本点。
5.如权利要求1所述的方法,其中,所述样本点彼此间隔开5到25个像素。
6.如权利要求1所述的方法,其中,所述样本点彼此的间隔是至少部分地基于提供所述图像的相机能感测的最小深度来选择的。
7.如权利要求1所述的方法,其中,所述样本点彼此的间隔是至少部分地基于所述图像中检测到的平均深度来选择的。
8.如权利要求1所述的方法,其中,所述样本点彼此的间隔是至少部分地基于相机形成所述图像的焦距来选择的。
9.如权利要求1所述的方法,其中,所述样本点彼此的间隔是基于哪个应用将使用所述平面假设来增强所述图像来选择的。
10.如权利要求1所述的方法,包括:在不针对单个图像点测试平面方程表达式ax+by+cz+d中的参数(a,b,c,d)的可能值范围以确定(a,b,c,d)的值的情况下确定所述平面假设,其中(x,y,z)表示样本点的坐标。
11.如权利要求1所述的方法,包括:使用三个样本点确定平面的法线以便确定所述三个样本点之一的平面假设。
12.如权利要求1所述的方法,其中,投票至少部分地包括将平面假设的法线与在所述图像上的点的局部区域法线相比较以确定所述点是否在所述平面假设上。
13.如权利要求12所述的方法,其中,所述点位于:(1)用于确定所述局部区域法线的局部区域的一角处或附近,或者(2)在所述局部区域的中心处或附近。
14.如权利要求1所述的方法,其中,选择所述样本点包括选择在所述图像上彼此间隔、从样本点到样本点具有统一间隔并且被间隔以在整个图像上形成水平和竖直阵列的样本点;
其中,所述样本点彼此间隔开5到25个像素;
其中,所述样本点彼此的间隔是至少部分地基于以下各项中的至少一项来选择的:
提供所述图像的相机能感测的最小深度,
所述图像中检测到的平均深度,以及
所述相机形成所述图像的焦距;
其中,所述样本点彼此的间隔是基于哪个应用将使用所述平面假设来增强所述图像来选择的;
所述方法包括:
在不针对单个图像点测试平面方程表达式ax+by+cz+d中的参数(a,b,c,d)的可能值范围以确定(a,b,c,d)的值的情况下确定所述平面假设,其中(x,y,z)表示样本点的坐标;
使用三个样本点确定平面的法线以便确定所述三个样本点之一的平面假设;
其中,投票至少部分地包括将平面假设的法线与所述图像上的点的局部区域法线相比较以判定所述点是否在所述平面假设上,其中,所述点位于:(1)用于确定所述局部区域法线的局部区域的一角处或附近,或者(2)在所述局部区域的中心处或附近。
15.一种针对多张图像进行特征匹配的计算机实现的系统,包括:
至少一个显示器;
至少一个存储器
至少一个处理器,通信地耦合至所述显示器和所述存储器;
平面表面检测单元,由所述至少一个处理器操作并且用于:
获得深度图像数据,所述深度图像数据具有多个像素的三维坐标,其中,每个像素形成深度图像中的点;
在所述深度图像中选择样本点;
通过使用多个点针对多个个体样本点中的每一个样本点生成平面假设;以及
执行投票以确定哪些像素在所述图像上具有可能在所述平面假设中的至少一个上存在的内容。
16.如权利要求15所述的系统,其中,所述平面表面检测单元被安排成至少部分地基于以下各项中的至少一项来选择所述样本点彼此的间隔:
提供所述图像的相机能感测的最小深度,
所述图像中检测到的平均深度,以及
所述相机形成所述图像的焦距。
17.如权利要求15所述的系统,其中,所述平面表面检测单元被安排成在不针对单个图像点测试平面方程表达式ax+by+cz+d中的参数(a,b,c,d)的可能值范围以确定(a,b,c,d)的值的情况下确定所述平面假设,其中(x,y,z)表示样本点的坐标。
18.如权利要求15所述的系统,其中,所述平面表面检测单元被安排成根据正寻求的平面的期望定向来消除至少一个平面假设。
19.如权利要求15所述的系统,其中,所述平面表面检测单元被安排成接收重力方向;并且根据所述平面假设相对于所述重力方向的定向来消除至少一个平面假设。
20.如权利要求15所述的系统,其中,所述平面表面检测单元被安排成消除与另一平面假设重叠的至少一个平面假设。
21.如权利要求20所述的系统,其中,所述平面表面检测单元被安排成消除两个或更多个重叠平面假设中的较小平面假设。
22.如权利要求15所述的系统,其中,所述平面假设是通过使用多个样本点来确定的。
23.如权利要求15所述的系统,其中,所述平面表面检测单元被安排成形成平面索引,所述平面索引列出被分配给平面假设的一个或多个像素;以及
基于所述平面假设的区域侵蚀和生长而将至少一个像素的平面索引改变为在这一个像素附近的其他像素的平面索引。
24.如权利要求15所述的系统,其中,所述平面表面检测单元被安排成至少部分地基于以下各项中的至少一项来选择所述样本点彼此的间隔:
提供所述图像的相机能感测的最小深度,
所述图像中检测到的平均深度,以及
所述相机形成所述图像的焦距;
其中,所述平面表面检测单元被安排成在不针对单个图像点测试平面方程表达式ax+by+cz+d中的参数(a,b,c,d)的可能值范围以确定(a,b,c,d)的值的情况下确定所述平面假设,其中(x,y,z)表示样本点的坐标;
其中,所述平面表面检测单元被安排成根据正寻求的平面的期望定向来消除至少一个平面假设,其中,所述平面表面检测单元被安排成接收重力方向,并且根据所述平面假设相对于所述重力方向的定向来消除至少一个平面假设;
其中,所述平面表面检测单元被安排成消除与另一平面假设重叠的至少一个平面假设,其中,所述平面表面检测单元被安排成消除两个或更多个重叠平面假设中的较小平面假设,其中,所述平面表面检测单元被安排成:
形成平面索引,所述平面索引列出被分配给平面假设的一个或多个像素;以及
基于所述平面假设的区域侵蚀和生长而将至少一个像素的平面索引改变为在这一个像素附近的其他像素的平面索引。
25.一种针对图像处理进行平面表面检测的设备,包括用于执行根据权利要求1至14中任一项所述的方法的装置。
26.至少一种机器可读介质,包括多条指令,所述指令响应于在计算设备上被执行而使所述计算设备执行根据权利要求1至14中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/819,217 | 2015-08-05 | ||
US14/819,217 US9858683B2 (en) | 2015-08-05 | 2015-08-05 | Method and system of planar surface detection objects in 3d space generated from captured images for image processing |
PCT/US2016/040376 WO2017023456A1 (en) | 2015-08-05 | 2016-06-30 | Method and system of planar surface detection for image processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107925755A CN107925755A (zh) | 2018-04-17 |
CN107925755B true CN107925755B (zh) | 2021-03-02 |
Family
ID=57943495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680040894.4A Active CN107925755B (zh) | 2015-08-05 | 2016-06-30 | 针对图像处理进行平面表面检测的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9858683B2 (zh) |
EP (1) | EP3332391A4 (zh) |
CN (1) | CN107925755B (zh) |
WO (1) | WO2017023456A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858683B2 (en) * | 2015-08-05 | 2018-01-02 | Intel Corporation | Method and system of planar surface detection objects in 3d space generated from captured images for image processing |
JP6721998B2 (ja) * | 2016-02-23 | 2020-07-15 | 村田機械株式会社 | 物体状態特定方法、物体状態特定装置、および、搬送車 |
KR20180065135A (ko) * | 2016-12-07 | 2018-06-18 | 삼성전자주식회사 | 셀프 구조 분석을 이용한 구조 잡음 감소 방법 및 장치 |
KR102674463B1 (ko) * | 2016-12-23 | 2024-06-13 | 현대자동차주식회사 | 차량, 및 그 제어방법 |
US10089750B2 (en) | 2017-02-02 | 2018-10-02 | Intel Corporation | Method and system of automatic object dimension measurement by using image processing |
JP7086522B2 (ja) | 2017-02-28 | 2022-06-20 | キヤノン株式会社 | 画像処理装置、情報処理方法及びプログラム |
EP3594906B1 (en) * | 2017-03-06 | 2022-10-19 | LINE Corporation | Method and device for providing augmented reality, and computer program |
US10681271B2 (en) * | 2017-03-15 | 2020-06-09 | Ricoh Company, Ltd. | Image processing apparatus, image capturing system, image processing method, and recording medium |
CN107610174B (zh) * | 2017-09-22 | 2021-02-05 | 深圳大学 | 一种鲁棒的基于深度信息的平面检测方法及系统 |
WO2019056306A1 (zh) * | 2017-09-22 | 2019-03-28 | 深圳大学 | 一种鲁棒的基于深度信息的平面检测方法及系统 |
EP3486607B1 (de) * | 2017-11-20 | 2021-09-01 | Leica Geosystems AG | Bildbasierte kantenvermessung |
CN110633617B (zh) * | 2018-06-25 | 2023-08-08 | 苹果公司 | 使用语义分割的平面检测 |
US10824864B2 (en) | 2018-06-25 | 2020-11-03 | Apple Inc. | Plane detection using semantic segmentation |
KR20210064193A (ko) * | 2018-09-25 | 2021-06-02 | 소니그룹주식회사 | 화상 처리 장치 및 화상 처리 방법, 그리고 프로그램 |
CN112912921B (zh) * | 2018-10-11 | 2024-04-30 | 上海科技大学 | 从深度图中提取平面的系统和方法 |
US11023763B2 (en) * | 2019-03-19 | 2021-06-01 | Boston Dynamics, Inc. | Detecting boxes |
US11074749B2 (en) * | 2019-04-26 | 2021-07-27 | Microsoft Technology Licensing, Llc | Planar surface detection |
US11010982B1 (en) * | 2019-06-25 | 2021-05-18 | Apple Inc. | Method and device for utilizing physical objects and physical usage patterns for presenting virtual content |
CN110334433B (zh) * | 2019-07-03 | 2022-03-15 | 电子科技大学 | 一种pcb封装文件自动生成方法 |
US11372253B2 (en) * | 2019-08-14 | 2022-06-28 | Apple Inc. | Small field of view display mitigation using transitional visuals |
WO2021086355A1 (en) * | 2019-10-30 | 2021-05-06 | Hewlett-Packard Development Company, L.P. | Camera pose determinations with depth |
US11645756B2 (en) | 2019-11-14 | 2023-05-09 | Samsung Electronics Co., Ltd. | Image processing apparatus and method |
US11087479B1 (en) * | 2019-12-20 | 2021-08-10 | Facebook Technologies, Llc | Artificial reality system with 3D environment reconstruction using planar constraints |
US11741620B1 (en) * | 2020-01-24 | 2023-08-29 | Apple Inc. | Plane detection using depth sensor and semantic information |
CN111429588B (zh) * | 2020-03-11 | 2024-02-20 | 上海嘉奥信息科技发展有限公司 | 基于三维体数据和二维面数据的去背板方法及系统 |
US11562560B1 (en) * | 2020-03-26 | 2023-01-24 | Apple Inc. | Normal estimation for a planar surface |
US20220011113A1 (en) * | 2020-06-23 | 2022-01-13 | Carnegie Mellon University | Inertial measurement units as vibroacoustic data receivers |
US11676293B2 (en) * | 2020-11-25 | 2023-06-13 | Meta Platforms Technologies, Llc | Methods for depth sensing using candidate images selected based on an epipolar line |
CN117321633A (zh) * | 2021-05-18 | 2023-12-29 | 斯纳普公司 | 连续表面和深度估计 |
CN115482350A (zh) * | 2021-05-31 | 2022-12-16 | 梅卡曼德(北京)机器人科技有限公司 | 基于机器人的非平面结构判定方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102186095A (zh) * | 2011-05-03 | 2011-09-14 | 四川虹微技术有限公司 | 一种适用于深度图像绘制的匹配误差校正方法 |
CN102572505A (zh) * | 2010-11-03 | 2012-07-11 | 微软公司 | 家中深度相机校准 |
CN104322060A (zh) * | 2012-03-28 | 2015-01-28 | 英特尔公司 | 用于深度图的低等待时间变形的系统、方法和计算机程序产品 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8933925B2 (en) | 2009-06-15 | 2015-01-13 | Microsoft Corporation | Piecewise planar reconstruction of three-dimensional scenes |
US20130070060A1 (en) * | 2011-09-19 | 2013-03-21 | Pelican Imaging Corporation | Systems and methods for determining depth from multiple views of a scene that include aliasing using hypothesized fusion |
KR101909544B1 (ko) | 2012-01-19 | 2018-10-18 | 삼성전자주식회사 | 평면 검출 장치 및 방법 |
US9053382B2 (en) * | 2012-03-22 | 2015-06-09 | Digital Media Professionals Inc. | Robust image based edge detection |
US20140363073A1 (en) | 2013-06-11 | 2014-12-11 | Microsoft Corporation | High-performance plane detection with depth camera data |
US9424650B2 (en) * | 2013-06-12 | 2016-08-23 | Disney Enterprises, Inc. | Sensor fusion for depth estimation |
US9412040B2 (en) | 2013-12-04 | 2016-08-09 | Mitsubishi Electric Research Laboratories, Inc. | Method for extracting planes from 3D point cloud sensor data |
US9600736B2 (en) * | 2015-06-29 | 2017-03-21 | International Business Machines Corporation | Pose detection using depth camera |
US9858683B2 (en) * | 2015-08-05 | 2018-01-02 | Intel Corporation | Method and system of planar surface detection objects in 3d space generated from captured images for image processing |
-
2015
- 2015-08-05 US US14/819,217 patent/US9858683B2/en active Active
-
2016
- 2016-06-30 EP EP16833468.8A patent/EP3332391A4/en not_active Withdrawn
- 2016-06-30 CN CN201680040894.4A patent/CN107925755B/zh active Active
- 2016-06-30 WO PCT/US2016/040376 patent/WO2017023456A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572505A (zh) * | 2010-11-03 | 2012-07-11 | 微软公司 | 家中深度相机校准 |
CN102186095A (zh) * | 2011-05-03 | 2011-09-14 | 四川虹微技术有限公司 | 一种适用于深度图像绘制的匹配误差校正方法 |
CN104322060A (zh) * | 2012-03-28 | 2015-01-28 | 英特尔公司 | 用于深度图的低等待时间变形的系统、方法和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
US9858683B2 (en) | 2018-01-02 |
CN107925755A (zh) | 2018-04-17 |
EP3332391A4 (en) | 2019-03-27 |
EP3332391A1 (en) | 2018-06-13 |
US20170039731A1 (en) | 2017-02-09 |
WO2017023456A1 (en) | 2017-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107925755B (zh) | 针对图像处理进行平面表面检测的方法和系统 | |
CN109618090B (zh) | 对通过使用广角透镜捕获的图像的图像失真校正的方法和系统 | |
US10580140B2 (en) | Method and system of real-time image segmentation for image processing | |
US10089750B2 (en) | Method and system of automatic object dimension measurement by using image processing | |
US10685446B2 (en) | Method and system of recurrent semantic segmentation for image processing | |
US9852513B2 (en) | Tracking regions of interest across video frames with corresponding depth maps | |
US9661298B2 (en) | Depth image enhancement for hardware generated depth images | |
US9965861B2 (en) | Method and system of feature matching for multiple images | |
CN109660782B (zh) | 减少立体深度传感器成像中的纹理化ir图案 | |
US20180184060A1 (en) | Method and system of lens shading color correction using block matching | |
US9704254B2 (en) | Stereo image matching by shape preserving filtering of a cost volume in a phase domain | |
WO2018053703A1 (en) | Estimating accurate face shape and texture from an image | |
US10354364B2 (en) | Automatic perspective control using vanishing points | |
CN114078135A (zh) | 利用图像分割将复杂的3d对象嵌入到增强现实场景中 | |
US11871110B2 (en) | Single image ultra-wide fisheye camera calibration via deep learning | |
US10404970B2 (en) | Disparity search range compression | |
US10097793B2 (en) | Method and system of depth data filling of shadows for image processing | |
US9807313B2 (en) | Method and system of increasing integer disparity accuracy for camera images with a diagonal layout | |
US20130250060A1 (en) | Depth Buffer Compression for Stochastic Motion Blur Rasterization | |
CN111757080A (zh) | 用于沉浸式视觉体验的相机视图之间的虚拟视图内插 | |
US20190080430A1 (en) | Circular fisheye camera array rectification | |
CN114257733A (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 |