CN117115274B - 三维信息的确定方法、装置、设备及存储介质 - Google Patents
三维信息的确定方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117115274B CN117115274B CN202311378630.8A CN202311378630A CN117115274B CN 117115274 B CN117115274 B CN 117115274B CN 202311378630 A CN202311378630 A CN 202311378630A CN 117115274 B CN117115274 B CN 117115274B
- Authority
- CN
- China
- Prior art keywords
- image
- information
- unit
- stereo
- stereo unit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 131
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000003384 imaging method Methods 0.000 claims description 100
- 238000012937 correction Methods 0.000 claims description 28
- 238000001514 detection method Methods 0.000 claims description 27
- 230000009466 transformation Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 10
- 238000011176 pooling Methods 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 8
- 230000001131 transforming effect Effects 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 24
- 230000009286 beneficial effect Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 24
- 238000013473 artificial intelligence Methods 0.000 description 18
- 238000013136 deep learning model Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 6
- 238000011160 research Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005034 decoration Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000010008 shearing Methods 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- 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/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
Abstract
一种三维信息的确定方法、装置、设备及存储介质,属于图像处理技术领域。本方法可应用于云技术、智慧交通、辅助驾驶等场景。方法包括:获取对被拍摄对象的外平面进行拍摄得到的图像;被拍摄对象的外平面上具有凸起的n个立体单元,立体单元是指具有三维结构的实体单元,n为正整数;对图像进行处理,得到至少一个立体单元的边框信息;边框信息用于在图像中定位立体单元的第一表面和第二表面,第一表面与第二表面平行,且第一表面或第二表面在外平面中;根据立体单元的边框信息,确定立体单元的三维信息;三维信息用于表征立体单元在图像中的位置,以及立体单元在垂直于外平面方向上的凸起程度。本方法有助于降低获取立体单元的三维信息的难度。
Description
技术领域
本申请涉及图像处理技术领域,特别涉及一种三维信息的确定方法、装置、设备及存储介质。
背景技术
通过在图像中检测识别立体单元,能够获取到与立体单元的位置、尺寸有关的信息,方便对立体单元进行重建。
相关技术中,通过深度学习模型根据图像和拍摄该图像的相机内参,确定图像中的立体单元的三维信息。由于不同相机分别具有各自独立的相机内参,因此,在该方法中只有在获得图像对应的相机内参的情况下才能执行。三维信息的确定方法对场景的适应能力较低,三维信息的确定方法还需要进一步改善。
发明内容
本申请提供了一种三维信息的确定方法、装置、设备及存储介质。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种三维信息的确定方法,所述方法包括:
获取对被拍摄对象的外平面进行拍摄得到的图像;其中,所述被拍摄对象的外平面上具有凸起的n个立体单元,所述立体单元是指具有三维结构的实体单元,n为正整数;
对所述图像进行处理,得到至少一个所述立体单元的边框信息;其中,所述边框信息用于在所述图像中定位所述立体单元的第一表面和第二表面,所述第一表面与所述第二表面平行,且所述第一表面或所述第二表面在所述外平面中;
根据所述立体单元的边框信息,确定所述立体单元的三维信息;其中,所述三维信息用于表征所述立体单元在所述图像中的位置,以及所述立体单元在垂直于所述外平面方向上的凸起程度。
根据本申请实施例的一个方面,提供三维信息的确定装置,所述装置包括:
图像获取模块,用于获取对被拍摄对象的外平面进行拍摄得到的图像;其中,所述被拍摄对象的外平面上具有凸起的n个立体单元,所述立体单元是指具有三维结构的实体单元,n为正整数;
边框确定模块,用于对所述图像进行处理,得到至少一个所述立体单元的边框信息;其中,所述边框信息用于在所述图像中定位所述立体单元的第一表面和第二表面,所述第一表面与所述第二表面平行,且所述第一表面或所述第二表面在所述外平面中;
三维确定模块,用于根据所述立体单元的边框信息,确定所述立体单元的三维信息;其中,所述三维信息用于表征所述立体单元在所述图像中的位置,以及所述立体单元在垂直于所述外平面方向上的凸起程度。
根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上所述的三维信息的确定方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上所述的三维信息的确定方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机程序,以实现如上所述的三维信息的确定方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在本申请提供的方法在确定立体单元的三维信息时,仅需使用对被拍摄对象进行拍摄得到的图像,通过对图像进行处理,得到用于定位立体单元在图像中位置的边框信息。随后基于多个立体单元在被拍摄对象的外平面之间的成像规律,可以仅通过立体单元的边框信息得到立体单元的三维信息。相比于相关技术中需要使用相机内参等外界参考信息确定立体单元的深度信息,本方法确定立体单元的三维信息时,无需获取其他外界参考信息(如相机内参)。减少了确定立体单元的三维信息需要使用的参考信息数量,实现了仅依赖图像确定立体单元的三维信息。本方法有助于提升三维信息的确定方法对不同场景的适应能力,同时,有助于降低获取立体单元的三维信息的难度。
附图说明
图1是本申请一个示例性实施例提供的方案实施环境的示意图;
图2是透视投影时图像的灭点的示意图;
图3是透视成像过程中发生透视畸变的示意图;
图4是相关技术中基于图像分割从图像中识别立体单元的示意图;
图5是本申请提供的三维信息确定方法的发明构思的示意图;
图6是本申请一个示例性实施例提供的确定三维信息的原理示意图;
图7是本申请一个示例性实施例提供的三维信息的确定方法的流程图;
图8是本申请一个示例性实施例提供的立体单元表面的示意图;
图9是本申请一个示例性实施例提供的第二表面位置确定过程的示意图;
图10是本申请一个示例性实施例提供的灭点确定过程的示意图;
图11是本申请一个示例性实施例提供的边框信息和位置信息对比示意图;
图12是本申请一个示例性实施例提供的矫正后立体单元的示意图;
图13是本申请一个示例性实施例提供的图像裁剪矫正的示意图;
图14是本申请一个示例性实施例提供的边框信息确定过程的示意图;
图15是本申请一个示例性实施例提供的三维信息的确定方法的示意图;
图16是本申请一个示例性实施例提供的三维信息的确定装置的框图;
图17是本申请一个示例性实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
人工智能(Artificial Intelligence,AI):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV):计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。大模型技术为计算机视觉技术发展带来重要变革,游动变压器(swin-transformer),视觉变压器(Vision Transformer,ViT),视觉混合专家(Vision-Mixture-of-Experts,V-MOE),掩膜自编码器(Masked Auto Encoders,MAE)等视觉领域的预训练模型经过微调(fine tune)可以快速、广泛适用于下游具体任务。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(Optical CharacterRecognition,OCR)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、三维(three Dimensional,3D)技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的特征识别技术。
机器学习(Machine Learning,ML):是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
深度学习(Deep Learning,DL):是机器学习中的一个研究方向。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图片和声音等数据的解释。深度学习的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图片和声音等数据。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如依靠针对立体单元进行拍摄得到的图像,确定立体单元的三维信息。使得三维信息的获取方法更加简单高效,基于立体单元的三维信息执行城市还原、街景重建等任务。相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
街景图像:是指通过车载相机、手持相机等设备获取的街道、城市、乡村等地区的全景图像。权利要求中的图像可以是街景图像。街景图像用于展示对应的街道、建筑物、交通标志、行人等内容。街景图像在电子地图制作、城市规划、旅游导航、教育研究等领域具有广泛的应用。
建筑单元:是指建筑物外部墙面或立面上的设计和装饰,是建筑物外观的重要组成部分。本申请权利要求中提到的立体单元可以是建筑单元。建筑单元的类型包括但不限于以下至少之一:窗户、阳台、门。
立体包围框用于表征立体单元在图像中的边缘框。立体包围框可以称为三维包围盒(3D Box)。立体包围框包括立体单元的内表面和立体单元的外表面。在本申请的应用场景中,立体单元的内表面是立体单元中与被拍摄对象接触的表面,立体单元的外表面与立体单元的内表面平行,也即立体单元的外表面与被拍摄对象的外平面之间可以存在一定距离。由于相机的透视成像,立体单元的外表面在图像中的成像通常大于立体单元的内表面在图像中的成像。
灭点(vanishing point):是指在透视投影中,三维空间中与投影面不平行的一束平行线在图像中成像的汇聚点。灭点也称为消失点。
相机内参:是指相机的内部参数。相机内参包括以下至少之一:相机焦距、像素大小、主点位置等。
透视畸变:是指被拍摄对象进行拍摄得到的图像中,被拍摄对象在图像中的成像尺寸相关于被拍摄对象与相机之间的距离的规律。由于相机的构造是对人眼的视觉透视能力功能的模仿,因此相机成像也符合近大远小的原则。与相机距离近的被拍摄对象在图像中成像的尺寸较大,与相机距离较远的被拍摄对象在图像中的成像尺寸较小。
图1是本申请一个示例性实施例提供的方案实施环境的示意图。该方案实施环境可以包括:计算机设备10、终端设备20和服务器30。
计算机设备10包括但不限于个人计算机(Personal Computer,PC)、平板电脑、手机、可穿戴设备、智能家电、车载终端等具有运算和存储能力的电子设备。在一些实施例中,计算机设备用于获取图像,并预测图像包括的立体单元的三维信息。
终端设备20可以是诸如个人计算机、平板电脑、手机、可穿戴设备、智能家电、车载终端、飞行器等电子设备。终端设备20上设置有相机,或者终端设备20与相机之间存在图像传输。终端设备20通过相机获取对被拍摄对象进行拍摄得到的图像,被拍摄对象的被拍摄平面上包括多个立体单元,图像中包括立体单元的成像。
终端设备20中运行有目标应用程序的客户端。目标应用程序用于提供立体单元的三维信息获取功能。示例性地,终端设备20通过目标应用程序,获取图像中包括的立体单元的三维信息,以便根据立体单元的三维信息进行城市还原、街景重建、自动驾驶、车辆导航等任务。
服务器30用于为终端设备20中的目标应用程序的客户端提供后台服务。例如,服务器30可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务内容分发网络、(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。服务器30至少具有数据接收功能。
可选地,计算机设备10的确定三维信息的功能可以通过服务器30实现(基计算机设备10和服务器30为同一台设备)或者,计算机设备10与服务器30是两个相互独立的设备。
在一个示例中,服务器30接收到终端设备20通过目标应用程序上传的图像之后,将图像传输给计算机设备10。计算机设备10接收服务器30发送的图像,并对图像进行处理,确定出立体单元的三维信息。计算机设备10将立体单元的三维信息发送给服务器30,由服务器30向终端设备20转发立体单元的三维信息。
在另一个示例中,计算机设备10通过网络获取图像,并从图像中确定立体单元的三维信息。随后计算机设备10可以使用立体单元的三维信息对被拍摄对象进行三维重建。
图2是透视投影时图像的灭点的示意图。如图2所示,受到透视成像的影响,与投影面不平行的一束平行线在图像中的成像(包括直线210和直线212)相交于灭点201。与投影面平行的一束平行线在图像中的成像(包括直线220和直线222)保持平行。
图3是透视成像过程中发生透视畸变的示意图。如图3所示,被拍摄对象1和被拍摄对象2等大。被拍摄对象1与视点之间的距离,大于被拍摄对象2与视点之间的距离,被拍摄对象1在成像平面(这里的成像平面与拍摄得到的图像中的内容相同,图像在图中相机的左侧,成像平面在相机的右侧,且图像与视点之间的距离等于成像平面与视点之间的距离)中的尺寸大于被拍摄对象2在成像平面中的尺寸。也即,透视畸变使得被拍摄对象在图像中符合近大远小的规律。
相关技术中,基于图像检测立体单元的形状包括以下几种方法。一种方法是根据立体单元在被拍摄对象的外表面的排列规则,建立形状语法规则;基于形状语法规则对图像进行处理,从而预测出立体单元的几何形状(如外表面的形状)。
另一种方法是通过深度学习模型对图像进行分割,确定立体单元在图像中的位置,进而确定出立体单元的几何形状。图4是相关技术中基于图像分割识别立体单元的示意图。如图4所示,相关技术通过将图像输入深度学习模型,由深度学习模型编码器对图像进行编码得到编码信息,并经过深度学习模型中的解码器对编码信息解码,得到图像的分割结果。分割结果中各个填充图案均对应一个立体单元。
由于对被拍摄对象进行拍摄得到的图像为二维图像,该图像无法完整体现立体单元的各个表面。也就是说,立体单元的至少一个表面(与被拍摄对象的外表面的法线平行的至少一个表面)无法在图像中完整出现。这使得相关技术中提供的方法均无法仅根据图像获取到立体单元的深度信息,也即无法仅根据图像确定立体单元在垂直于被拍摄对象的外表面方向上的凸起程度。
为了能够确定立体单元的三维信息,相关技术中需要获取相机内参,通过相机内参和图像,对立体单元的三维信息进行预测。由于,相机内参属于相机的内部参数,受相机中的拍摄元件、装配误差等因素影响,相机内参存在个体差异。相机的相机内参难以统一。因此,在通过相机内参和图像确定立体单元的三维信息的方法中,需要获取到拍摄图像所使用的相机对应的相机内参。由于在一些场景中,图像对应的相机内参的获取存在难度、或者无法获得(如从网络中下载的图像对应的相机内参难以确定),导致相关技术中确定立体单元的三维信息的方法对不同场景的适应能力较差。
图5是本申请提供的三维信息确定方法的发明构思的示意图。
本申请提供的方法用于根据图像确定被拍摄对象的外表面上凸起的立体单元的三维信息。该立体单元的内表面与被拍摄对象的外表面接触,也就是说,立体单元的内表面位于被拍摄对象的外表面之中。在本申请提供的方法,仅获取对被拍摄对象进行拍摄得到的图像,无需其他外部信息(如相机内参),即可确定立体单元的三维信息,得到立体单元的尺寸、位置以及立体单元的凸起程度。
在本申请提供的三维信息的确定方法中,从图像中确定至少一个立体单元的边框信息;随后,基于立体单元在被拍摄对象的外表面的透视投影规律和立体单元的边框信息,确定立体单元的三维信息。通过这种方法减少了确定三维信息过程中对外部参考信息的依赖,降低了确定立体单元的三维信息使收集参考信息的难度。
图6是本申请一个示例性实施例提供的确定三维信息的原理示意图。
如图6所示,设表示立体单元到相机的距离(即物距);/>表示立体单元的真实厚度(立体单元对于被拍摄对象的外平面的凸起程度),图6中/>;w为物体的真实宽度,图6中/>;立体单元的外表面在成像平面的投影表示为/>,/>;立体单元的内表面在成像平面的投影为/>,/>表示立体单元的外表面上的顶点,表示立体单元的外表面在成像平面中的顶点,/>表示相机的镜头中心点。
由于光线沿直线传播,在相机拍摄立体单元时,与/>是相似三角形,/>和/>也是相似三角形,/>和/>之间存在比例关系(1):
(1)
其中,表示相机的焦距,其他参数请参考上文说明,在此不进行赘述。
对于同一张图像中的各个立体单元来说,和/>为常量。/>和/>与立体单元的真实厚度/>成正相关关系。也就是说,真实厚度/>越大,立体单元的外表面与相机之间的距离越近,立体单元在成像平面中的成像越大;真实厚度/>越小,立体单元的外表面与相机之间的距离越远,立体单元在成像平面中的成像越小。
在立体单元的真实厚度=0的情况下,立体单元的内表面与外表面重合。基于/>和/>之间存在比例关系(1),得到内表面在成像平面上的比例关系(2):
(2)
有关该公式的各个参数的含义请参考上文介绍,在此不进行赘述。
令(2)/(1),得到内表面和外表面之间的相对凸起程度。
其中,表示立体单元的内表面和外表面在成像平面上的尺寸比(对应权利要求中的表面比例)。也就是说,在成像平面上的内外面大小之/>比只跟物体真实凸起程度/>有关,且/>。对于被拍摄对象的外平面上的立体单元1和立体单元2之间的相对凸起度通过如下公式计算。
由上述推导可知:1.通过计算立体单元的内外面比例,能够得到立体单元的凸起程度。2.同一深度面内(如权利要求中被拍摄对象的外表面),多个立体单元在图像中的相对大小与位置与多个立体单元在三维空间中保持一致。3.不同深度面的立体单元之间也满足近大远小的成像规则。
上述结论支持在得到立体单元的边框信息之后,基于立体单元的边框信息,预测立体单元的内表面及外表面的大小位置。而且,无需确定相机内参即能计算相同深度面的立体单元之间的相对凸起程度。下面通过几个实施例对本申请提供的三维信息的确定方法进行介绍说明。
图7是本申请一个示例性实施例提供的三维信息的确定方法的流程图。示例性地,该方法的执行主体可以是图1中的计算机设备10,下面将计算机设备作为执行主体,对三维信息的确定方法进行介绍说明。如图2所示,该方法可以包括如下几个步骤(710~730)。
步骤710,获取对被拍摄对象的外平面进行拍摄得到的图像;其中,被拍摄对象的外平面上具有凸起的n个立体单元,立体单元是指具有三维结构的实体单元,n为正整数。
在一些实施例中,被拍摄对象是指外表面具有至少一个凸起单元的物体。被拍摄对象的类型包括但不限于以下至少之一:建筑物、地面、板材等。可选地,被拍摄对象的外表面是指被拍摄对象中凸起有立体单元的表面。例如,被拍摄对象为建筑物,被拍摄对象的外表面是指建筑物的外立面。对于三维形态为长方体的建筑物,建筑物的外立面是指建筑物中与地面垂直的侧表面。又例如,拍摄对象为场地,则被拍摄对象的外表面为场地中的地面。示例性地,图像中包括被拍摄图像的外平面的一部分,或者图像中包括被拍摄图像的完整外平面。
在一些实施例中,立体单元是指与被拍摄对象之间相对位置关系固定的三维实体。可选地,立体单元的三维结构包括:相互平行的第一表面和第二表面。立体单元的三维结构的类型包括但不限于:长方体、圆柱等。
示例性地,被拍摄对象为建筑物,立体单元包括但不限于建筑物的外表面的窗户、阳台、拱门以及突出的装饰物。示例性地,被拍摄对象为地面,立体单元包括但不限于场地中摆放的立体物体(如车辆)、建筑物等。示例性地,被拍摄对象为板材,立体单元包括但不限于:板材的外表面中凸起的装饰物、粘结物等。
可选地,立体单元固定在被拍摄对象的外表面上。示例性地,立体单元的内表面位于被拍摄对象的外表面中。也就是说,立体单元的内表面与被拍摄对象的外表面重叠。
图8是本申请一个示例性实施例提供的立体单元表面的示意图。
被拍摄对象的外表面800上凸起有立体单元810,立体单元810的外表面812凸出于被拍摄对象的外表面800,且与被拍摄对象的外表面800平行,立体单元810的外表面814在被拍摄对象的表面800上。
在一些实施例中,计算机设备获取相机对被拍摄对象的外平面进行拍摄得到的图像中包括至少一个完整的立体单元。相机的种类包括但不限:车载相机、相机等。可选地,图像中包括多个立体单元的成像,以便图像能够为立体单元的三维信息的确定过程提供更多辅助信息,有助于提升确定出的立体单元的位置和尺寸的准确性。
在一些实施例中,n个立体单元中包括至少一类立体单元;其中,属于同一类别的立体单元具有相同的三维结构,属于不同类别的立体单元在三维结构上存在差异。可选地,对被拍摄对象的外平面进行拍摄得到的图像中包括至少两类不同的立体单元,不同立体单元在垂直于被拍摄对象的外平面方向上的凸起程度可以相同,也可以不同。可选地,图像为单目相机拍摄得到的图像,本申请提供的方法对相机的要求较低,常规相机拍摄得到的图像即可作为本申请确定三维信息过程使用的图像。图像还可以是扫描得到的点云图像,以便携带更多的图像信息,提升确定出的三维信息的准确性。
在一些实施例中,图像的来源包括但不限于以下至少之一:相机对被拍摄对象进行拍摄,从互联网下载、用户上传。
例如,在导航地图的建立过程中,通过车载终端的车载相机对道路两旁的建筑物进行拍摄,得到街景图像;计算机设备接收车载终端发送的图像。又例如,计算机设备通过航拍设备获得针对道路进行拍摄的俯视图像。又例如,在游戏等虚拟场景制作过程中,需要设置某一虚拟建筑物,计算机设备通过互联网获取图像,并基于图像获取图像中包括的立体单元的三维信息,用于在游戏场景中重建该立体单元,得到虚拟建筑物。可选地,图像的分辨率等图像属性根据实际需要进行设定,本申请在此不进行限定。
步骤720,对图像进行处理,得到至少一个立体单元的边框信息;其中,边框信息用于在图像中定位立体单元的第一表面和第二表面,第一表面与第二表面平行,且第一表面或第二表面在外平面中。
在一些实施例中,立体单元的边框信息用于表征立体单元在图像中的成像区域。也即,立体单元的边框信息用于指示图像中立体单元的成像区域。由上述内容可知,立体单元具有三维结构,因此立体单元的边框信息能够描述立体单元在图像中的立体边框。
在一些实施例中,第一表面和第二表面的尺寸相同,外表面与相机的之间的距离大于或者等于内表面与相机的之间的距离。由上文介绍的透视成像原理可知,受到透视畸变的影响,第一表面和第二表面在图像中的形状和尺寸不同。
可选地,立体单元的边框信息能够表征立体单元的第一表面和立体单元的第二表面在图像中的位置和尺寸。例如,立体单元的边框信息中包括第一表面的至少一个定位点在图像中的坐标、或者第二表面的至少一个定位点在图像中的坐标。又例如,立体单元的边框信息包括用于计算得到第一表面的至少一个定位点在图像中的坐标的参数,或者包括用于计算得到第一表面的至少一个定位点在图像中的坐标的参数。
示例性地,定位点可以是第一表面或者第二表面的顶点,也可以是指第一表面或者第二表面的中心点,本申请在此不进行限定。
可选地,第一表面和第二表面中的一个表面是立体单元的外表面,第一表面和第二表面中的另一个表面是立体单元的内表面。例如,第一表面是立体单元的外表面,第二表面为立体单元的内表面。又例如,第一表面是立体单元的内表面,第二表面为立体单元的外表面。
在一个示例中,计算机设备通过人工智能模型基于图像,获得立体单元的边框信息,有关该部分的具体内容请参考下文实施例。
可选地,在步骤720中,计算机设备确定图像中包括的至少一个立体单元分别对应的边框信息。例如,计算机设备确定图像中一个立体单元的边框信息。例如,计算机设备确定图像中全部立体单元的边框信息。又例如,例如,计算机设备确定图像中多个立体单元的边框信息,且该多个立体单元在图像中的位置相邻。示例性地,由于至少一个立体单元在被拍摄对象的外表面的位置不同,因此,至少一个立体单元的边框信息不同。
步骤730,根据立体单元的边框信息,确定立体单元的三维信息;其中,三维信息用于表征立体单元在图像中的位置,以及立体单元在垂直于外平面方向上的凸起程度。
在一些实施例中,立体单元的三维信息用于描述立体单元的各个表面的位置和形态。在该步骤中,计算机设备仅需要立体单元的边框信息,就能够确定出立体单元的三维信息,通过这种方法有助于降低计算立体单元的三维信息的难度。
可选地,立体单元在垂直于外平面方向上的凸起程度是指立体单元在垂直于外平面方向上凸起。可选地,立体单元在垂直于外平面方向上的凸起程度是指或者某个立体单元相对于另一个立体单元的相对凸起程度。
可选地,对于至少一个立体单元中的任意一个立体单元,计算机设备根据该立体单元的边框信息即可得到该立体单元的三维信息。可选地,对于至少一个立体单元中的任意一个立体单元,计算机设备根据至少一个立体单元的边框信息共同确定该立体单元的三维信息。有关三维信息的确定过程请参考下文实施例。
综上所述,在本申请提供的方法在确定立体单元的三维信息时,仅需使用对被拍摄对象进行拍摄得到的图像,通过对图像进行处理,得到用于定位立体单元在图像中位置的边框信息。随后基于多个立体单元在被拍摄对象的外平面之间的成像规律,可以仅通过立体单元的边框信息得到立体单元的三维信息。
相比于相关技术中需要使用相机内参等外界参考信息确定立体单元的深度信息,本方法确定立体单元的三维信息时,无需获取其他外界参考信息(如相机内参)。减少了确定立体单元的三维信息需要使用的参考信息数量,实现了仅依赖图像确定立体单元的三维信息。本方法有助于提升三维信息的确定方法对不同场景的适应能力,同时,有助于降低获取立体单元的三维信息的难度。
下面通过几个实施例对立体单元的三维信息的确定方法进行介绍说明。
在一些实施例中,边框信息包括表面比例,表面比例用于表征第一表面和第二表面在图像中的尺寸比。
在一些实施例中,表面比例用于表征第一表面在图像中的投影与第二表面在图像中的投影之间的比值。可选地,在第一表面和第二表面均为矩形的情况下,表面比例能够表征第一表面的任一条边与第二表面中对应边之间的长度比。由上文推导过程可知,与成像平面(也即说明书中提到的图像)之间深度不同的两个表面之间符合透视成像原理。也就是说,第一表面的任一条边与第二表面中对应边之间的长度比相同,均为表面比例。
示例性地,计算机设备根据表面比例标识,从边框信息中获取表面比例;表面比例标识用于表征表面比例在边框信息中的存放位置。
步骤730,根据立体单元的边框信息,确定立体单元的三维信息,可以包括以下几个子步骤(说明书附图未示出)。
子步骤732,计算机设备根据立体单元的表面比例,确定立体单元的位置信息,位置信息用于表征立体单元在图像中的位置。
可选地,立体单元的位置信息包括以下至少之一:立体单元的第一表面在图像中的位置、立体单元的第一表面在图像中的位置。
由上文内容可知,立体单元的边框信息用于在图像中定位立体单元。例如,边框信息用于在图像中定位立体单元的第一表面和立体单元的第二表面。受到拍摄环境影响,立体单元的第一表面图像中的清晰程度,与立体单元的第二表面在图像中的清晰程度可能不同。例如,在室外拍摄光线良好的情况下,立体单元的外表面在图像中的成像比立体单元的内表面在图像中的成像更加清晰。又例如,在室外拍摄光线良好的情况下,被拍摄对象的内部存在辅助光源的情况下,也即,立体单元的内表面一侧的光强大于立体单元的外表面一侧。
这使得计算机设备根据图像确定出的立体单元的边框信息,难以同时十分准确地在图像中定位立体单元的第一表面和立体单元的第二表面。或者说,边框信息在图像中定位立体单元的第一表面的准确度,与边框信息在图像中定位立体单元的第二表面的准确度不一致。
在一些实施例中,子步骤732用于根据表面比例对立体单元的边框信息进行矫正,得到位置信息。位置信息相比于边框信息,能够更准确地定位立体单元在图像中的位置。
可选地,计算机设备根据表面比例和边框信息中的第一表面位置,确定第二表面位置;其中,第一表面位置用于在图像中定位目标表面。目标表面是指立体单元的第一表面和第二表面中,边框信息的定位准确度较高的表面;计算机设备根据第一表面位置和第二表面位置,得到立体单元的位置信息。
示例性地,目标表面是预设置的。例如从立体单元的第一表面和第二表面中,将表示立体单元的外表面的表面,确定为目标表面。
有关该步骤中确定位置信息的具体内容,请参考下文介绍。
子步骤734,计算机设备根据立体单元的表面比例,确定立体单元的凸起信息,凸起信息用于表征立体单元在垂直于外平面方向上的凸起程度。
凸起信息可以理解成用于表征立体单元在图像中的深度信息。也即,凸起信息用于表征立体单元的外表面相对于外平面的凸起程度。可选地,凸起信息表征的凸起程度可以是相对凸起程度,也可以是绝对凸起程度。其中,相对凸起程度用于表征立体单元在外平面的突出程度,绝对凸起程度用于表征立体单元外表面与外平面之间的距离,也即,立体单元在外屏面上的厚度。绝对凸起程度可以通过绝对凸起度表示,绝对凸起度的计算方法参考下文实施例。
可选地,某个立体单元的表面比例与该立体单元在垂直于外平面方向上的凸起程度成负相关关系。某个立体单元的表面比例越大,则与该立体单元在垂直于外平面方向上的凸起程度越小;某个立体单元的表面比例越小,则与该立体单元在垂直于外平面方向上的凸起程度越大。
子步骤736,计算机设备基于立体单元的位置信息和立体单元的凸起信息,得到立体单元的三维信息。
可选地,计算机设备基于立体单元的位置信息和立体单元的凸起信息,得到立体单元的三维信息,包括:计算机设备将立体单元的位置信息和立体单元的凸起信息进行组合,得到立体单元的三维信息。例如,立体单元的三维信息由立体单元的位置信息和立体单元的凸起信息组成。
通过上述方法,通过表面比例即可计算立体单元的凸起信息。也就是说,在凸起信息的确定过程中需要使用的信息均能够从图像中获得,减少了确定立体单元的三维信息的过程中,对外部参考信息(如相机内参)的依赖,简化了确定立体单元的三维信息的条件。
下面通过几个实施例对凸起信息的确定方法进行介绍说明。
在一些实施例中,图像包括多个立体单元;子步骤734,计算机设备根据立体单元的表面比例,确定立体单元的凸起信息,可以包括如下几个步骤(说明书附图未示出)。
子步骤734-a,对于图像中包括的多个立体单元中的第一立体单元,计算机设备根据第一立体单元的表面比例,以及第二立体单元的表面比例,确定第一立体单元的相对凸起度;其中,第二立体单元在垂直于外平面方向上的凸起程度为已知的基准值,第一立体单元的相对凸起度用于表征在垂直于外平面方向上,第一立体单元相对于第二立体单元的凸起程度。
在一些实施例中,第一立体单元是多个立体单元中具有边框信息的立体单元。由上述内容可知,被拍摄对象的外平面上凸起n个立体单元,针对被拍摄对象的外平面进行拍摄得到的图像中可以包括m个立体单元(对应子步骤734-a中提到的多个立体单元),m为小于或者等于n的正整数。计算机设备在步骤720中可以计算m个立体单元中的k个立体单元的边框信息,k为小于或者等于m的正整数。也即,第一立体单元可以是k个立体单元中的任意一个立体单元。
为了降低计算机设备确定立体单元的三维信息过程的计算量,减少确定三维信息的耗时,计算机设备从图像中包括的m个立体单元中选择k个立体单元,并计算至少一个立体单元中的各个立体单元的三维信息,即k通常小于m。有关从图像中挑选至少一个立体单元的方法,并确定该至少一个立体单元的边框信息的方法,请参考下文实施例。
示例性地,计算机设备将多个立体单元中的每一个立体单元均作为第一立体单元,执行子步骤734。
在一些实施例中,第二立体单元为多个立体单元中用于计算相对凸起程度的参考立体单元。也就是说,第二立体单元在垂直于外平面方向上的凸起程度为已知的基准值,该已知的基准值可以是预设置的。示例性地,工作人员根据经验设置已知的基准值。
可选地,第二立体单元可以是n个立体单元中的任意一个立体单元,图像中包括第二立体单元的成像。示例性地,计算机设备在步骤720中确定至少两个立体单元的边框信息,该至少两个立体单元中包括第二立体单元。
示例性地,计算机设备从第一立体单元中的边框信息中获取第一立体单元的表面比例,从第二体单元中的边框信息中获取第二立体单元的表面比例,并根据第一立体单元的表面比例和第二立体单元的表面比例,确定第一立体单元的相对凸起度。
在一些实施例中,第一立体单元的相对凸起度是指第一立体单元在垂直于外表面的方向上相对于第二立体单元的凸起程度。在第一立体单元的内表面和第二立体单元的内表面均与外平面接触的情况下,第一立体单元的相对凸起度为第一立体单元的实际厚度和第二立体单元的实际厚度之间的比值。由上文图6出的推导可知,第一立体单元的相对凸起与第一立体单元的表面比例、第二立体单元的表面比例有关 。
在一些实施例中,第一立体单元的相对凸起度与第一立体单元的表面比例呈负相关关系;第一立体单元的相对凸起度与第二立体单元的表面比例呈正相关关系。
可选地,第一立体单元的表面比例越大,第一立体单元的相对凸起度越小;第一立体单元的表面比例越小,第一立体单元的相对凸起度越大。可选地,第二立体单元的表面比例越大,第一立体单元的相对凸起度越大;第二立体单元的表面比例越小,第一立体单元的相对凸起度越小。
可选地,第一立体单元的相对凸起度可以通过上文中公式“(3)”计算。
在子步骤734-a中,表示第二立体单元在垂直于外平面方向上的凸起程度,为已知的基准值;/>表示第一立体单元的表面比例,/>表示第二立体单元的表面比例。
例如,等于1.0,/>等于0.4,/>等于0.5,则第一立体单元的相对凸起度为1.2。
子步骤734-b,计算机设备根据第一立体单元的相对凸起度,确定第一立体单元的凸起信息。
由于第二立体单元在垂直于外平面方向上的凸起程度已知,因此,在确定第一立体单元与第二立体单元之间的相对凸起度的情况下,第一立体单元在垂直于外平面方向上的凸起程度也能够确定。通过第一立体单元的相对凸起度能够表示第一立体在垂直于外平面方向上的凸起程度。
可选地,计算机设备将第一立体单元的相对凸起度确定为第一立体单元的凸起信息,或者计算机设备将相对凸起度和已知的基准值之间的乘积作为绝对凸起度,并将绝对凸起度作为第一立体单元的凸起信息。
在一些实施例中,三维信息的确定方法还包括:根据图像确定至少一个立体单元的类别信息,根据类别信息从至少一个立体单元中确定第二立体单元;其中,类别信息用于表征立体单元所属的类别,不同的类别的立体单元的三维结构不同。可选地,计算机设备将类别信息符合预设类别的立体单元确定为第二立体单元。计算机设备可以从至少一个立体单元中确定一个第二立体单元,也可以从至少一个立体单元确定多个第二立体单元。示例性地,类别信息符合预设类别是指类别信息和预设类别相同。
在一些实施例中,在确定出第一立体单元的相对凸起度之后,计算机设备将第一立体单元的相对凸起度设置为同类立体单元中相对凸起度;其中,同类立体单元是指至少一个立体单元中,类别与第一立体单元相同的立体单元。也就是说,同类立体单元与第一立体单元具有相同的三维结构。由于n个立体单元的内表面均与被拍摄对象的外表面接触,且同类别的立体单元具有相同的三维结构,因此,通过这种方法有助于减少计算机设备的计算量。
相比于相关技术中需要双目图像或者相机内参,才能确定图像中的立体单元的深度信息,通过相对凸起度来表征立体单元在垂直于外平面方向上的凸起程度,计算相对凸起度的信息具能从图像中直接获得,有助于减少根据图像预测立体单元的凸起程度是依赖的外部参考信息的数量,使得三维信息的确定方法适用于更多场景。
下面通过几个实施例对立体单元的位置信息的确定方法进行介绍说明。
在一些实施例中,子步骤732,计算机设备根据立体单元的表面比例,确定立体单元的位置信息,可以包括如下几个步骤(说明书附图未示出)。
子步骤732-a,计算机设备根据至少一个立体单元的边框信息,确定灭点位置;其中,灭点位置是指灭点在图像中的位置,灭点是指立体单元在图像中的透视成像交点。
有关图像灭点的相关介绍请参考上文实施例,在此不进行赘述。有关灭点位置的确定方法,请参考下文介绍。
子步骤732-b,对于至少一个立体单元中的第一立体单元,计算机设备根据灭点位置和第一立体单元的表面比例,确定第一立体单元的第一表面位置和第二表面位置;其中,第一表面位置是指第一立体单元的第一表面在图像中的位置,第二表面位置是指第一立体单元的第二表面在图像中的位置。
在一些实施例中,第一表面位置用于在图像中定位立体单元的第一表面。示例性地,在第一表面为矩形的情况下,第一表面位置包括第一表面的四个顶点在图像中的位置。
示例性地,在第一表面为矩形的情况下,第一表面位置包括第一表面的定位点在图像中的位置和第一表面的尺寸信息;在这种情况下,计算机设备根据第一表面的定位点在图像中的位置和第一表面的尺寸信息,确定第一表面的四个顶点在图像中的位置。定位点包括但不限于:第一表面的四个顶点中的任意一个,第一表面的中心点(也即两条对角线的交点)。
示例性地,在第一表面为圆形的情况下,第一表面位置包括第一表面圆心在图像中的位置和第一表面的半径。需要说明的是,第一表面位置的表示方式根据第一表面的实际形状进行确定,本申请在此不进行限定。
在一些实施例中,第二表面位置用于在图像中定位立体单元的第二表面。示例性地,在第二表面为矩形的情况下,第二表面位置包括第二表面的四个顶点在图像中的位置。
在一些实施例中,计算机设备根据灭点位置和第一立体单元的表面比例,确定第一立体单元的第一表面位置和第二表面位置,包括:计算机设备根据第一立体单元的边框信息,确定第一表面位置;计算机设备根据第一立体单元的第一表面和第一立体单元的第二表面在图像中的几何关系,以及第一立体单元的表面比例,确定第二表面位置与第一表面位置之间的位置比例;其中,几何关系是基于灭点位置确定的;计算机设备根据位置比例和第一表面位置,确定第二表面位置。
可选地,第一立体单元的边框信息中包括第一表面位置、表面比例和中心点偏移;其中,中心点偏移值用于表征第一立体单元的内表面和外表面之间的相对偏移程度。示例性地,第一表面位置包括第一表面的四个顶点在图像中的位置,计算机设备从第一立体单元的边框信息中直接获取第一表面位置。
在一些实施例中,第一立体单元的第一表面和第一立体单元的第二表面在图像中的几何关系,用于通过透视投影关系在图像中定位第一立体单元的第二表面。
可选地,计算机设备连接第一立体单元的第一表面中的第一顶点与灭点,得到第一直线,第二表面的第二顶点位于第一直线,或者第二顶点位于第一直线的反向延长线。其中,第一立体单元的第一顶点与第二顶点之间存在边框线。
在一些实施例中,计算机设备根据第一立体单元的第一表面和第一立体单元的第二表面在图像中的几何关系,以及第一立体单元的表面比例,确定第二表面位置与第一表面位置之间的位置比例,包括:对于第一立体单元的第一表面上的任一个第一顶点,计算机设备根据第一立体单元的第一表面位置确定第一顶点在图像上的位置;计算机设备根据第一顶点在图像上的位置和灭点位置,确定图像上的第一顶点与灭点之间的第一距离;计算机根据第一立体单元的表面比例和第一顶点与灭点之间的第一距离,确定图像上的第二顶点与灭点之间的第二距离;计算机设备将第一距离和第二距离的比值,作为位置比例,计算机设备根据第一顶点在图像上的位置和灭点位置和位置比例,确定第二顶点的位置;其中,图像上的第一顶点为第一顶点在图像中的成像,图像上的第二顶点为第二顶点在图像中的成像。
可选地,在第一立体单元的三维结构为立方体的情况下,第一顶点是指第一立体单元的第一表面上的任一个顶点,第二顶点是第一立体单元的第二表面中与第一顶点之间存在边框线连接的顶点。
图9是本申请一个示例性实施例提供的第二表面位置确定过程的示意图。
对于图像900中的第一立体单元910,第一立体单元的外表面的四个顶点在图像900的位置可以通过第一表面位置确定,灭点/>的灭点位置已知,由第一立体单元910的第一表面和第一立体单元910的第二表面在图像900中的几何关系,第一立体单元910的内表面的四个顶点/>分别位于直线/>、上。
以确定在图像上的位置为例,由于/>与/>是相似三角形,因此,/>,其中,/>为第一立体单元910的表面比例。/>,根据在图像上的位置,可以确定/>在图像上的位置。以相同的方法分别确定在图像上的位置,可得到第一立体单元910的第二表面位置。
在图9中以第一立体单元910的第一表面为第一立体单元910的外表面,以第一立体单元910的第一表面为第一立体单元910的内表面为例,介绍了第一立体单元910的第二表面位置的确定方法。
在第一立体单元910的第一表面为第一立体单元910的内表面,以第一立体单元910的第一表面为第一立体单元910的外表面的情况下,同样可以确定第一立体单元910的第二表面位置。在这种情况,第一立体单元910的内表面的顶点在图像上的位置已知,通过/>,即可确定出第一立体单元910的外表面的顶点/>在图像上的位置。
在一个示例中,由于立体单元的外表面与相机之间的距离,小于或者等于立体单元的外表面与相机之间的距离,立体单元的外表面可能遮挡了立体单元的内表面。这导致计算机设备根据图像确定出的边框信息,在图像中定位立体单元的内表面的准确度较差。因此,第一立体单元的第一表面可以是第一立体单元的外表面。
在另一个示例中,第一立体单元的第二表面可以是第一立体单元的内表面。当然在拍摄环境光线较暗,第一表面的无边框或第一表面反光能力较弱等情况下,第一立体单元的第一表面可以是第一立体单元的内表面;第一立体单元的第二表面可以是第一立体单元的外表面。需要说明的,第一表面为第一立体单元的内表面还是外表面根据实际需要进行设定,本申请对此不进行限定。
通过上述方法,保持边框信息中比较准确定位立体单元的第一表面的第一表面位置不变,基于透视投影原理根据第一表面位置、表面比例和灭点位置,确定立体单元的第二表面位置,有助于提升三维信息中的位置信息在图像中定位立体单元的第一表面和第二表面的准确性。
子步骤732-c,计算机设备基于第一表面位置和第二表面位置,得到第一立体单元的位置信息。
在一些实施例中,计算机设备基于第一表面位置和第二表面位置,得到第一立体单元的位置信息包括:计算机设备将第一表面位置和第二表面位置进行组合,得到第一立体单元的位置信息。可选地,第一立体单元的位置信息由第一表面位置和第二表面位置组成。
由于立体单元的边框信息是通过深度学习模型等方式预测得到的,受到深度学习模型对立体单元的识别准确度以及泛化能力等因素的影响,立体单元的边框信息在图像中定位立体单元的准确度可能较低。通过上述方法使用灭点结合立体单元的边框信息,确定立体单元的位置信息。相当于对立体单元的边框信息中准确度较低的信息进行调整优化,有助于提升立体单元的位置信息在图像中定位立体对应的准确性,以表征确定出的立体单元的三维信息的准确性。
下面通过几个实施例对灭点位置的计算方法进行介绍说明。
在一些实施例中,子步骤732-a,计算机设备根据至少一个立体单元的边框信息,确定灭点位置,可以包括如下几个步骤。
对于至少一个立体单元中的每一个立体单元,计算机设备根据立体单元的边框信息,确定立体单元在图像中的至少一条透视成像线;其中,透视成像线用于表征拍摄立体单元时的透视成像方向;计算机设备根据各个立体单元的透视成像线,确定至少一个候选点,候选点为至少两条透视成像线的交点;计算机设备根据候选点与各条透视成像线之间的距离,从至少一个候选点中确定灭点;计算机设备将灭点在图像中的位置,确定为灭点位置。
在一些实施例中,计算机设备根据立体单元的边框信息,确定立体单元在图像中的至少一条透视成像线,包括:计算机设备根据立体单元的边框信息确定第一顶点和第二顶点在图像上的位置,计算机设备将图像中经过第一顶点和第二顶点的直线确定为透视成像线。
其中,第一顶点位于立体单元的第一表面、第二顶点位于立体单元的第二表面,第一顶点和第二顶点分为位于立体单元的第一表面和立体单元的第一表面上相同的位置。例如,第一顶点为立体单元的第一表面的左下角的顶点,第二顶点为立体单元的第二表面的左下角的顶点。通过边框信息能够确定出第一顶点和第二顶点在图像上的坐标,根据第一顶点的坐标和第二顶点的坐标计算出透视成像线的解析式,也即确定出了透视成像线。
可选地,对于至少一个立体单元中的任意一个立体单元,计算机设备根据立体单元的边框信息,确定立体单元在图像中的p条透视成像线。p为正整数。例如,p等于1、2、3、4。可选地,对于两个不同的立体单元,计算机设备根据该两个立体单元的边框信息,分别确定出的透视成像线的数量可以相同,也可以不相同。
示例性地,计算机设备根据第二立体单元的边框信息确定出的透视成像线的数量,大于根据非参考立体单元的边框信息确定出的透视成像线的数量;其中,非参考立体单元是指至少一个立体单元中除了第二立体单元之外的立体单元。通过这种方法有助于提升确定出的灭点位置与第二立体单元的关联性,有助于提升上述实施例中基于第二立体单元确定出的相对凸起度的准确度。
在一些实施例中,计算机设备根据各个立体单元的透视成像线,确定至少一个候选点,包括:对于多条透视成像线中的任意两条透视成像线,计算机设备确定该两条透视成像线的交点,并将该交点作为一个候选点。
在一些实施例中,计算机设备根据候选点与各条透视成像线之间的距离,从至少一个候选点中确定灭点,包括:若候选点拥有的邻近线的数量满足第一条件,则计算机设备将候选点确定为灭点,邻近线是指与候选点之间的距离小于或者等于第一阈值的透视成像线;或者;计算机设备计算候选点与各条透视成像线之间的距离之和;若候选点与各条透视成像线之间的距离之和小于或者等于第二阈值,则计算机设备将候选点确定为灭点。
可选地,第一条件用于根据候选点的临近线的数量,确定灭点。第一条件包括但不限于以下至少之一:候选点的临近线的数量最大,候选点的临近线的数量候选点的临近线的数量大于等于第三阈值。
在一个示例中,假设至少一个候选点包括a个候选点,a为正整数,计算机设备根据至少一个立体单元的边框信息确定出b条透视成像线,b为大于等于2的正整数。计算机设备根据候选点与各条透视成像线之间的距离,从a个候选点中确定灭点,包括:对于a个候选点中的每一个候选点,计算机设备确定该候选点与b条透视成像线中任一个透视成像线之间的距离,得到b个距离;计算机设备确定b个距离中大于第一阈值的距离对应的透视成像线作为该候选点的邻近线,计算机设备统计该候选点的临近线的数量。计算机设备根据a个候选点分别具有的邻近线的数量,选择邻近线数量最大的候选点作为灭点。
在另一个示例中,假设至少一个候选点包括c个候选点,c为正整数,计算机设备根据至少一个立体单元的边框信息确定出d条透视成像线,d为大于等于2的正整数。计算机设备根据候选点与各条透视成像线之间的距离,从c个候选点中确定灭点,包括:计算机设备确定c个候选点中的第一候选点分别与d条透视成像线之间的距离,得到d个距离;计算机设备将该d个距离相加,得到第一候选点与d条透视成像线之间的距离之和;若第一候选点与d条透视成像线之间的距离之和小于或者等于第二阈值,则计算机设备将候选点确定为灭点选择邻近线数量最大的候选点作为灭点;若第一候选点与d条透视成像线之间的距离之和撒于或者等于第二阈值,则计算机设备将第一候选点从c个候选点中剔除,并从c个候选点中剩余的候选点中重新确定一个第一候选点,重复上述步骤,直至从c个候选点中确定出灭点。
需要说明的是,第一阈值和第二阈值均为正数,第一阈值和第二阈值的具体数值根据实际需要进行设定,本申请在此不进行限定。
图10是本申请一个示例性实施例提供的灭点确定过程的示意图。
如图10所示,立体单元1010的边框信息能够定位立体单元1010的外表面和内表面在图形中的位置。计算机设备根据立体单元1010的边框信息,确定透视成像线1020;计算机设备将透视成像线1020与其他透视成像线的交点1030作为一个候选点。在获得至少一个候选点之后,计算机设备从至少一个候选点中确定灭点。
通过各个立体单元的边框信息确定灭点,使得本方法能够基于透视成像原理,对边框信息中的不准确信息进行修正。使得三维信息对立体单元的定位能力更强,有助于提升确定出的立体单元的三维信息的准确性。
图11是本申请一个示例性实施例提供边框信息和位置信息的对比示意图。
如图11所示,通过上述实施例对位置信息确定过程的介绍,计算机设备确定灭点位置,并根据灭点位置确定立体单元的第二表面(本实施例中为立体单元的第二表面),得到了各个立体单元的位置信息,也即通过立体单元的位置信息确定出的至少一个透视投影线相交于灭点VP。在使用灭点调整之前,图像1110中的立体单位的灭点由多个,通过上述调整后,图像1120中立体单元的灭点统一。
下面通过几个实施例对立体单元的边框信息的确定方法进行介绍说明。
在一些实施例中,步骤720,对图像进行处理,得到至少一个立体单元的边框信息,可以包括如下几个子步骤(说明书附图中未示出)。
子步骤722,计算机设备对图像进行裁剪,得到包括至少一个立体单元的剪裁图像。
在一些实施例中,由于图像中包括多个立体单元,为了减少计算机设备对图像处理过程中的计算量,需要对图像进行裁剪,使得剪裁图像中包括的立体单元的数量小于图像中包括的立体单元的数量,也即减少需要确定三维信息的立体单元的数量。
在一些实施例中,子步骤722,计算机设备对图像进行裁剪,得到包括至少一个立体单元的剪裁图像,包括:计算机设备获取针对图像的剪裁区域信息,剪裁区域信息包括剪裁图像的四个剪裁顶点在图像中的位置;计算机设备将图像中,除了四个剪裁顶点连接得到的剪裁区域在外的其他区域剔除,得到剪裁图像。
在一些实施例中,剪裁区域信息包括剪裁图像的四个剪裁顶点在图像中的坐标。可选地,剪裁区域信息由人工确定剪裁图像的四个剪裁顶点在图像中的坐标,得到剪裁区域信息。
可选地,剪裁区域信息通过机器标注。示例性地,计算机设备将图像输入剪裁区域确定模型,由剪裁区域确定模型从图像中识别立体单元,并根据立体单元在图像中的成像区域计算得到剪裁区域信息。例如剪裁区域确定模型在从图像中识别出m个立体单元之后,确定m个立体单元在图像中的成像区域,将图像中包括m个立体单元的成像区域的最小区域确定为裁剪区域。需要说明的是,剪裁区域确定模型是指任意一种能够完成图像识别的模型,本申请对剪裁区域确定模型的类型不进行限定。
示例性地,计算机设备将图像中除了四个剪裁顶点连接得到的剪裁区域在外的其他区域剔除,得到剪裁图像中包括m个立体单元,m为正整数。由于存在透视畸变,因此剪裁图像可能是不规则四边形。
子步骤724,计算机设备对剪裁图像进行透视变换,得到矫正图像,立体单元的第一表面在矫正图像中的形状与立体单元的三维结构中的第一表面的形状相同。
在一些实施例中,子步骤724,计算机设备对剪裁图像进行透视变换,得到矫正图像,包括。计算机设备根据剪裁图像的区域信息,确定矫正图像的区域信息;其中,剪裁图像的区域信息用于表征剪裁图像的四个顶点在图像中的位置,矫正图像的区域信息用于表征矫正图像的四个顶点在图像中的位置;计算机设备根据剪裁图像的区域信息和矫正图像的区域信息,计算变换矩阵;其中,变换矩阵用于将剪裁图像中的像素点变换为矫正图像中的像素点;对于剪裁图像中的每一个像素点,计算机设备根据像素点在剪裁图像中的位置和变换矩阵,确定像素点在矫正图像中的位置;计算机设备根据每一个像素点在矫正图像中的位置,对各个像素点进行排列,得到矫正图像。
图12是本申请一个示例性实施例提供的矫正后立体单元的示意图。矫正图像表示被拍摄对象的外表面与成像平面之间平行时的透视成像。如图12示,面代表被拍摄对象的外表面,被拍摄对象的外表面与成像平面平行。立体单元1210的三维结构为长方体,在矫正图像中,立体单元1210的上表面/>与拍摄对象的外表面/>垂直。
应当理解的是,在后续使用校正图像确定出的立体单元的边框信息中,边框信息用于在矫正图像中定位立体单元,由于矫正图像相当于透视成像平面与外平面时拍摄的图像,因此边框信息也能够定位立体单元在外表面的实际位置。
在一些实施例中,矫正图像为矩形。可选地,矫正图像的形状为剪裁图像的形状的外接四边形。计算机设备从剪裁图像的区域信息中确定最大横坐标,最小横坐标、最大纵坐标和最小纵横坐标;计算机设备根据矫正图像的形状为剪裁图像的形状的外接四边形,对最大横坐标,最小横坐标、最大纵坐标和最小纵横坐标进行组合,得到矫正图像的区域信息。
图13是本申请一个示例性实施例提供的图像裁剪矫正的示意图。
如图13所示,计算机设备对被拍摄对象的外平面进行拍摄得到的图像进行裁剪,得到剪裁图像;计算机设备对剪裁图像进行透视校正,得到矫正图像。通过进行剪切矫正操作,保留真正需要的图像,且去除拍摄导致的畸变,便于后续更好地从校正图像中检测识别出立体单元。
在一些实施例中,点在图像中的位置可以使用二维坐标表示,其中横坐标表示点在图像中的水平方向的位置,纵坐标表示点在图像中的竖直方向的位置。在进行透视变换的过程中,为了保证变换矩阵中各个参数可解,为点在图像中的坐标增加一个新的维度,且剪裁图像中任意一点在该维度上的坐标值固定。例如等于1。
在一个示例中,剪裁图像的四个顶点在图像中的齐次坐标分别为,其中/>。矫正图像的四个顶点的齐次坐标分别为,令/>。
透视变换的通用变换公式:。
其中为剪裁图像的顶点在图像中的位置,/>为矫正图像的顶点在图像中的位置,/>为变换矩阵。将剪裁图像的四个顶点坐标和矫正图像的四个顶点坐标带入通用变换公式,可以得到8个等式。
求解上述8个等式联立的方程,即可计算出变换矩阵中各个参数的数值,得到变换矩阵。随后,计算机设备根据变换矩阵和通用变换公式,确定剪裁图像中各个像素点在校正图像上的位置。
通过对图像进行畸变校正,有助于减少由于透视畸变导致立体单元在图像中产生的形变,有助于提升确定出的立体单元的边框信息的准确性。
子步骤726,计算机设备对矫正图像进行处理,得到至少一个立体单元的边框信息。
在一些实施例中,子步骤726,计算机设备对矫正图像进行处理,确定至少一个立体单元的边框信息,可以包括如下几个子步骤(说明书附图中未示出)。
子步骤726-a,计算机设备通过边框检测模型的特征提取层,对矫正图像进行特征提取,得到矫正图像的特征信息。
在一些实施例中,边框检测模型属于深度学习模型,用于从图像中识别出立体单元的边框,也即或者立体单元的边框信息。示例性地,边框检测模型采用Faster RCNN(Faster Regions with CNN features,更快速CNN特征区域)模型的结构。
示例性地,特征提取层(Conv layers)中包括卷积(conv)层,激活(relu)层和池化(pooling)层。边框识别层通过卷积、激活、池化从校正向中提取特征信息。特征信息也称为特征图(feature maps),特征信息被边框检测模型中的后续层结构共享。
子步骤726-b,计算机设备通过边框检测模型的边框识别层基于特征信息进行处理,确定矫正图像的至少一个目标区域;其中,目标区域用于指示矫正图像中显示立体单元的区域。
边框识别层也称为区域检测网络(Region Proposal Networks),用于检测矫正图像中的目标区域。可选地,边框识别层基于softmax对特征信息进行处理,判断矫正图像在预设的多个锚(anchors)区域中是否显示有立体单元,再利用边框矫正(bounding boxregression)对锚区域的边框进行调整,获得精确的目标区域(proposals)。示例性地,锚区域在校正图像中的顶点位置确定,通常锚区域可以理解成矩形框。多个锚区域是指多个尺寸不同的矩形框。
子步骤726-c,计算机设备通过边框检测模型的池化层根据至少一个目标区域和特征信息,确定至少一个单元特征信息;其中,单元特征信息用于表征立体单元的特征信息。池化层又称为(Roi Pooling)。
子步骤726-d,计算机设备通过边框检测模型的线性映射层分别对各个单元特征信息进行线性映射,得到至少一个立体单元的边框信息。
可选地,立体单元的边框信息中包括立体单元的外表面位置(Outer Box),外表面正向到内表面中心的中心偏移量(Center Offset),内表面相对于外表面的尺寸比例(Inner Scale)。
图14是本申请一个示例性实施例提供的边框信息确定过程的示意图。
计算机设备将矫正后的建筑主体输入边框检测模型,然后通过边框检测模型的特征提取层,对矫正图像进行特征提取,得到矫正图像的特征信息。计算机设备通过边框检测模型的边框识别层基于特征信息进行处理,确定矫正图像的至少一个目标区域。计算机设备通过边框检测模型的池化层根据至少一个目标区域和特征信息,确定至少一个单元特征信息。计算机设备通过边框检测模型的线性映射层分别对各个单元特征信息进行线性映射,得到至少一个立体单元的边框信息。
图15是本申请一个示例性实施例提供的三维信息的确定方法的示意图。
计算机设备获取对被拍摄对象的外平面进行拍摄得到的图像;对计算机设备对图像进行裁剪,得到包括至少一个立体单元的剪裁图像;计算机设备对剪裁图像进行透视变换,得到矫正图像。随后,计算机设备通过边框检测模型对矫正图像进行处理,得到至少一个立体单元的边框信息。计算机设备至少一个立体单元的边框信息确定灭点位置,并根据灭点位置和边框信息,确定每一个立体单元的第二表面位置,并根据边框信息中表面比例,确定立体单元的凸起信息。计算机设备根据第一表面位置、第二表面位置和凸起信息,确定立体单元的三维信息。
下面以被拍摄对象为建筑物,立体单元为建筑单元为例,对确定建筑单元的三维信息的方法进行介绍。本示例包括如下几个步骤。
步骤A10,计算机设备获取对被拍摄对象的外平面进行拍摄得到的图像。
在本示例中被拍摄对象为建筑物,被拍摄对象的外平面为建筑物的外立面。立体单元为建筑单元。示例性地,建筑单元包括但不限于飘窗、阳台、拱门等凸出于建筑物的外立面的三维结构。
步骤A20,计算机设备对图像进行裁剪,得到包括至少一个建筑单元的剪裁图像。可选地,用于对图像进行裁剪的裁剪区域信息可以由人工标注,也可以由机器自动识别。
步骤A30,计算机设备对剪裁图像进行透视变换,得到矫正图像,建筑单元的第一表面在矫正图像中的形状与建筑单元的三维结构中的第一表面的形状相同。
步骤A40,对矫正图像进行处理,得到至少一个建筑单元的边框信息。
可选地,计算机设备通过边框检测模型对校正图像进行处理,具体可以包括如下几步:通过边框检测模型的特征提取层,对矫正图像进行特征提取,得到矫正图像的特征信息;通过边框检测模型的边框识别层基于特征信息进行处理,确定矫正图像的至少一个目标区域;通过边框检测模型的池化层根据至少一个目标区域和特征信息,确定至少一个单元特征信息;通过边框检测模型的线性映射层分别对各个单元特征信息进行线性映射,得到至少一个建筑单元的边框信息。
步骤A50,矫正图像包括多个建筑单元;对于图像中包括的多个建筑单元中的第一建筑单元,计算机设备根据第一建筑单元的表面比例,以及第二建筑单元的表面比例,确定第一建筑单元的相对凸起度,计算机设备根据第一建筑单元的相对凸起度,确定第一建筑单元的凸起信息。
步骤A60,计算机设备根据至少一个建筑单元的边框信息,确定灭点位置。
步骤A70,对于至少一个建筑单元中的第一建筑单元,计算机设备根据灭点位置和第一建筑单元的表面比例,确定第一建筑单元的第一表面位置和第二表面位置;计算机设备基于第一表面位置和第二表面位置,得到第一建筑单元的位置信息。
步骤A80,计算机设备基于建筑单元的位置信息和建筑单元的凸起信息,得到建筑单元的三维信息。
有关本实施例中未详细介绍的部分,请参考上文实施例,在此不进行赘述。
需要说明的是,本申请提供的三维信息的确定方法还可以用于确定其他类型的立体单元的三维信息。例如,在一个示例性应用场景中:被拍摄对象为地面,立体单元为场地中的建筑物,图像为对地面进行俯视拍摄的图像,凸起程度表示建筑物在地面上的高度,该场景中确定出的建筑物的三维信息可以应用于电子地图的三维环境构建。
在另一个示例性应用场景中:被拍摄对象为公路,图像为航拍得到的地面图像,立体单元为公路上的车辆,凸起程度表示车辆的高度,该场景中确定出的车辆的三维信息可以应用于辅助驾驶或自动驾驶场景中对三维环进行境构建。这些场景中的立体单元的三维信息的确定方法的具体步骤与本示例中建筑单元的三维信息的确定方法相似,在此不进行赘述。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图16示出了本申请一个示例性实施例提供的拍摄三维信息的确定装置的框图。该装置可以通过软件、硬件或者两者的结合实现成为三维信息的确定设备的全部或一部分。该装置1600可以包括:图像获取模块1610、边框确定模块1620和三维确定模块1630。
图像获取模块1610,用于获取对被拍摄对象的外平面进行拍摄得到的图像;其中,所述被拍摄对象的外平面上具有凸起的n个立体单元,所述立体单元是指具有三维结构的实体单元,n为正整数。
边框确定模块1620,用于对所述图像进行处理,得到至少一个所述立体单元的边框信息;其中,所述边框信息用于在所述图像中定位所述立体单元的第一表面和第二表面,所述第一表面与所述第二表面平行,且所述第一表面或所述第二表面在所述外平面中。
三维确定模块1630,用于根据所述立体单元的边框信息,确定所述立体单元的三维信息;其中,所述三维信息用于表征所述立体单元在所述图像中的位置,以及所述立体单元在垂直于所述外平面方向上的凸起程度。
在一些实施例中,所述边框信息包括表面比例,所述表面比例用于表征所述第一表面和所述第二表面在所述图像中的尺寸比;所述三维确定模块1630包括:位置确定子模块,用于根据所述立体单元的表面比例,确定所述立体单元的位置信息,所述位置信息用于表征所述立体单元在所述图像中的位置;凸起确定子模块,用于根据所述立体单元的表面比例,确定所述立体单元的凸起信息,所述凸起信息用于表征所述立体单元在垂直于所述外平面方向上的凸起程度;三维确定子模块,用于基于所述立体单元的位置信息和所述立体单元的凸起信息,得到所述立体单元的三维信息。
在一些实施例中,所述图像包括多个所述立体单元;所述凸起确定子模块,用于对于所述图像中包括的多个所述立体单元中的第一立体单元,根据所述第一立体单元的表面比例,以及第二立体单元的表面比例,确定所述第一立体单元的相对凸起度;其中,所述第二立体单元在垂直于所述外平面方向上的凸起程度为已知的基准值,所述第一立体单元的相对凸起度用于表征在垂直于所述外平面方向上,所述第一立体单元相对于所述第二立体单元的凸起程度;根据所述第一立体单元的相对凸起度,确定所述第一立体单元的凸起信息。
在一些实施例中,所述第一立体单元的相对凸起度与所述第一立体单元的表面比例呈负相关关系;所述第一立体单元的相对凸起度与所述第二立体单元的表面比例呈正相关关系。
在一些实施例中,所述位置确定子模块,包括:灭点确定单元,用于根据至少一个所述立体单元的边框信息,确定灭点位置;其中,所述灭点位置是指灭点在所述图像中的位置,所述灭点是指所述立体单元在所述图像中的透视成像交点;位置计算单元,用于对于至少一个所述立体单元中的第一立体单元,根据所述灭点位置和所述第一立体单元的表面比例,确定所述第一立体单元的第一表面位置和第二表面位置;其中,所述第一表面位置是指所述第一立体单元的第一表面在所述图像中的位置,所述第二表面位置是指所述第一立体单元的第二表面在所述图像中的位置;位置确定单元,用于基于所述第一表面位置和所述第二表面位置,得到所述第一立体单元的位置信息。
在一些实施例中,所述位置计算单元,用于根据所述第一立体单元的边框信息,确定所述第一表面位置;根据所述第一立体单元的第一表面和所述第一立体单元的第二表面在所述图像中的几何关系,以及所述第一立体单元的表面比例,确定所述第二表面位置与所述第一表面位置之间的位置比例;其中,所述几何关系是基于所述灭点位置确定的;根据所述位置比例和所述第一表面位置,确定所述第二表面位置。
在一些实施例中,所述灭点确定单元,包括,线条确定子单元,用于对于至少一个所述立体单元中的每一个所述立体单元,根据所述立体单元的边框信息,确定所述立体单元在所述图像中的至少一条透视成像线;其中,所述透视成像线用于表征拍摄所述立体单元时的透视成像方向;候选点确定子单元,用于根据各个所述立体单元的透视成像线,确定至少一个候选点,所述候选点为至少两条所述透视成像线的交点;灭点确定子单元,用于根据所述候选点与各条所述透视成像线之间的距离,从所述至少一个候选点中确定所述灭点;位置确定子单元,用于将所述灭点在所述图像中的位置,确定为所述灭点位置。
在一些实施例中,所述灭点确定子单元,用于在所述候选点拥有的邻近线的数量满足第一条件的情况下,将所述候选点确定为所述灭点,所述邻近线是指与所述候选点之间的距离小于或者等于第一阈值的透视成像线;或者;计算所述候选点与各条所述透视成像线之间的距离之和;在所述候选点与各条所述透视成像线之间的距离之和小于或者等于第二阈值的情况下,将所述候选点确定为所述灭点。
在一些实施例中,所述边框确定模块1620,包括:剪裁子模块,用于对所述图像进行裁剪,得到包括至少一个所述立体单元的剪裁图像;变换子模块,用于对所述剪裁图像进行透视变换,得到矫正图像,所述立体单元的第一表面在所述矫正图像中的形状与所述立体单元的三维结构中的第一表面的形状相同;边框确定子模块,对所述矫正图像进行处理,得到至少一个所述立体单元的边框信息。
在一些实施例中,所述边框确定子模块,用于:通过边框检测模型的特征提取层,对所述矫正图像进行特征提取,得到所述矫正图像的特征信息;通过所述边框检测模型的边框识别层基于所述特征信息进行处理,确定所述矫正图像的至少一个目标区域;其中,所述目标区域用于指示所述矫正图像中显示所述立体单元的区域;通过所述边框检测模型的池化层根据所述至少一个目标区域和所述特征信息,确定至少一个单元特征信息;其中,所述单元特征信息用于表征所述立体单元的特征信息;通过所述边框检测模型的线性映射层分别对各个所述单元特征信息进行线性映射,得到至少一个所述立体单元的边框信息。
在一些实施例中,所述变换子模块,用于根据所述剪裁图像的区域信息,确定所述矫正图像的区域信息;其中,所述剪裁图像的区域信息用于表征所述剪裁图像的四个顶点在所述图像中的位置,所述矫正图像的区域信息用于表征所述矫正图像的四个顶点在所述图像中的位置;根据所述剪裁图像的区域信息和所述矫正图像的区域信息,计算变换矩阵;其中,所述变换矩阵用于将所述剪裁图像中的像素点变换为所述矫正图像中的像素点;对于所述剪裁图像中的每一个像素点,根据所述像素点在所述剪裁图像中的位置和所述变换矩阵,确定所述像素点在所述矫正图像中的位置;根据所述每一个像素点在所述矫正图像中的位置,对各个所述像素点进行排列,得到所述矫正图像。
在一些实施例中,所述剪裁子模块,用于获取针对所述图像的剪裁区域信息,所述剪裁区域信息包括所述剪裁图像的四个剪裁顶点在所述图像中的位置;将所述图像中,除了所述四个剪裁顶点连接得到的剪裁区域在外的其他区域剔除,得到所述剪裁图像。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。上述实施例提供的装置的有益效果请参考方法侧实施例的描述,这里也不再赘述。
图17示出了本申请一个示例性实施例提供的计算机设备的结构框图。该三维信息的确定设备1700可以是上文介绍计算机设备。
通常,计算机设备1700包括有:处理器1701和存储器1702。
处理器1701可以包括一个或多个处理核心,比如4核心处理器、17核心处理器等。处理器1701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1701可以在集成有GPU(Graphics Processing Unit,图片处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1702中的非暂态的计算机可读存储介质存储有至少一段程序,该至少一段程序由处理器1701加载并执行以实现上述各方法实施例提供的三维信息的确定方法。
本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述各方法实施例提供的三维信息的确定方法。
该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦写可编程只读存储器)、闪存或其他固态存储技术、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机程序,以实现上述各方法实施例提供的三维信息的确定方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请在收集用户的相关数据之前以及在收集用户的相关数据的过程中,都可以显示提示界面、弹窗或输出语音提示信息,该提示界面、弹窗或语音提示信息用于提示用户当前正在搜集其相关数据,使得本申请仅仅在获取到用户对该提示界面或者弹窗发出的确认操作后,才开始执行获取用户相关数据的相关步骤,否则(即未获取到用户对该提示界面或者弹窗发出的确认操作时),结束获取用户相关数据的相关步骤,即不获取用户的相关数据。换句话说,本申请中对被拍摄对象的外平面进行拍摄得到的图像,根据相关国家法律法规的要求,获取个人信息主体的知情同意或单独同意都是在用户同意并授权的情况下进行采集的,并在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为且相关用户数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同切换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种三维信息的确定方法,其特征在于,所述方法包括:
获取对被拍摄对象的外平面进行拍摄得到的图像;其中,所述被拍摄对象的外平面上具有凸起的n个立体单元,所述立体单元是指具有三维结构的实体单元,n为正整数,所述图像包括多个所述立体单元;
对所述图像进行处理,得到至少一个所述立体单元的边框信息;其中,所述边框信息用于在所述图像中定位所述立体单元的第一表面和第二表面,所述第一表面与所述第二表面平行,且所述第一表面或所述第二表面在所述外平面中,所述边框信息包括表面比例,所述表面比例用于表征所述第一表面和所述第二表面在所述图像中的尺寸比;
根据所述立体单元的表面比例,确定所述立体单元的位置信息,所述位置信息用于表征所述立体单元在所述图像中的位置;
对于多个所述立体单元中的第一立体单元,根据所述第一立体单元的表面比例,以及第二立体单元的表面比例,确定所述第一立体单元的相对凸起度;其中,所述第二立体单元在垂直于所述外平面方向上的凸起程度为已知的基准值,所述第一立体单元的相对凸起度用于表征在垂直于所述外平面方向上,所述第一立体单元相对于所述第二立体单元的凸起程度;
根据所述第一立体单元的相对凸起度,确定所述第一立体单元的凸起信息,所述凸起信息用于表征所述立体单元在垂直于所述外平面方向上的凸起程度;
基于所述立体单元的位置信息和所述立体单元的凸起信息,得到所述立体单元的三维信息,所述三维信息用于表征所述立体单元在所述图像中的位置,以及所述立体单元在垂直于所述外平面方向上的凸起程度。
2.根据权利要求1所述的方法,其特征在于,
所述第一立体单元的相对凸起度与所述第一立体单元的表面比例呈负相关关系;
所述第一立体单元的相对凸起度与所述第二立体单元的表面比例呈正相关关系。
3.根据权利要求1所述的方法,其特征在于,所述根据所述立体单元的表面比例,确定所述立体单元的位置信息,包括:
根据至少一个所述立体单元的边框信息,确定灭点位置;其中,所述灭点位置是指灭点在所述图像中的位置,所述灭点是指所述立体单元在所述图像中的透视成像交点;
对于至少一个所述立体单元中的第一立体单元,根据所述灭点位置和所述第一立体单元的表面比例,确定所述第一立体单元的第一表面位置和第二表面位置;其中,所述第一表面位置是指所述第一立体单元的第一表面在所述图像中的位置,所述第二表面位置是指所述第一立体单元的第二表面在所述图像中的位置;
基于所述第一表面位置和所述第二表面位置,得到所述第一立体单元的位置信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述灭点位置和所述第一立体单元的表面比例,确定所述第一立体单元的第一表面位置和第二表面位置,包括:
根据所述第一立体单元的边框信息,确定所述第一表面位置;
根据所述第一立体单元的第一表面和所述第一立体单元的第二表面在所述图像中的几何关系,以及所述第一立体单元的表面比例,确定所述第二表面位置与所述第一表面位置之间的位置比例;其中,所述几何关系是基于所述灭点位置确定的;
根据所述位置比例和所述第一表面位置,确定所述第二表面位置。
5.根据权利要求3所述的方法,其特征在于,所述根据至少一个所述立体单元的边框信息,确定灭点位置,包括:
对于至少一个所述立体单元中的每一个所述立体单元,根据所述立体单元的边框信息,确定所述立体单元在所述图像中的至少一条透视成像线;其中,所述透视成像线用于表征拍摄所述立体单元时的透视成像方向;
根据各个所述立体单元的透视成像线,确定至少一个候选点,所述候选点为至少两条所述透视成像线的交点;
根据所述候选点与各条所述透视成像线之间的距离,从所述至少一个候选点中确定所述灭点;
将所述灭点在所述图像中的位置,确定为所述灭点位置。
6.根据权利要求5所述的方法,其特征在于,所述根据所述候选点与各条所述透视成像线之间的距离,从所述至少一个候选点中确定所述灭点,包括:
若所述候选点拥有的邻近线的数量满足第一条件,则将所述候选点确定为所述灭点,所述邻近线是指与所述候选点之间的距离小于或者等于第一阈值的透视成像线;
或者;
计算所述候选点与各条所述透视成像线之间的距离之和;若所述候选点与各条所述透视成像线之间的距离之和小于或者等于第二阈值,则将所述候选点确定为所述灭点。
7.根据权利要求1所述的方法,其特征在于,所述对所述图像进行处理,得到至少一个所述立体单元的边框信息,包括:
对所述图像进行裁剪,得到包括至少一个所述立体单元的剪裁图像;
对所述剪裁图像进行透视变换,得到矫正图像,所述立体单元的第一表面在所述矫正图像中的形状与所述立体单元的三维结构中的第一表面的形状相同;
对所述矫正图像进行处理,得到至少一个所述立体单元的边框信息。
8.根据权利要求7所述的方法,其特征在于,所述对所述矫正图像进行处理,确定至少一个所述立体单元的边框信息,包括:
通过边框检测模型的特征提取层,对所述矫正图像进行特征提取,得到所述矫正图像的特征信息;
通过所述边框检测模型的边框识别层基于所述特征信息进行处理,确定所述矫正图像的至少一个目标区域;其中,所述目标区域用于指示所述矫正图像中显示所述立体单元的区域;
通过所述边框检测模型的池化层根据所述至少一个目标区域和所述特征信息,确定至少一个单元特征信息;其中,所述单元特征信息用于表征所述立体单元的特征信息;
通过所述边框检测模型的线性映射层分别对各个所述单元特征信息进行线性映射,得到至少一个所述立体单元的边框信息。
9.根据权利要求7所述的方法,其特征在于,所述对所述剪裁图像进行透视变换,得到矫正图像,包括:
根据所述剪裁图像的区域信息,确定所述矫正图像的区域信息;其中,所述剪裁图像的区域信息用于表征所述剪裁图像的四个顶点在所述图像中的位置,所述矫正图像的区域信息用于表征所述矫正图像的四个顶点在所述图像中的位置;
根据所述剪裁图像的区域信息和所述矫正图像的区域信息,计算变换矩阵;其中,所述变换矩阵用于将所述剪裁图像中的像素点变换为所述矫正图像中的像素点;
对于所述剪裁图像中的每一个像素点,根据所述像素点在所述剪裁图像中的位置和所述变换矩阵,确定所述像素点在所述矫正图像中的位置;
根据所述每一个像素点在所述矫正图像中的位置,对各个所述像素点进行排列,得到所述矫正图像。
10.根据权利要求7所述的方法,其特征在于,所述对所述图像进行裁剪,得到包括至少一个所述立体单元的剪裁图像,包括:
获取针对所述图像的剪裁区域信息,所述剪裁区域信息包括所述剪裁图像的四个剪裁顶点在所述图像中的位置;
将所述图像中,除了所述四个剪裁顶点连接得到的剪裁区域在外的其他区域剔除,得到所述剪裁图像。
11.一种三维信息的确定装置,其特征在于,所述装置包括:
图像获取模块,用于获取对被拍摄对象的外平面进行拍摄得到的图像;其中,所述被拍摄对象的外平面上具有凸起的n个立体单元,所述立体单元是指具有三维结构的实体单元,n为正整数,所述图像包括多个所述立体单元;
边框确定模块,用于对所述图像进行处理,得到至少一个所述立体单元的边框信息;其中,所述边框信息用于在所述图像中定位所述立体单元的第一表面和第二表面,所述第一表面与所述第二表面平行,且所述第一表面或所述第二表面在所述外平面中,所述边框信息包括表面比例,所述表面比例用于表征所述第一表面和所述第二表面在所述图像中的尺寸比;
三维确定模块,用于根据所述立体单元的表面比例,确定所述立体单元的位置信息,所述位置信息用于表征所述立体单元在所述图像中的位置;对于多个所述立体单元中的第一立体单元,根据所述第一立体单元的表面比例,以及第二立体单元的表面比例,确定所述第一立体单元的相对凸起度;其中,所述第二立体单元在垂直于所述外平面方向上的凸起程度为已知的基准值,所述第一立体单元的相对凸起度用于表征在垂直于所述外平面方向上,所述第一立体单元相对于所述第二立体单元的凸起程度;根据所述第一立体单元的相对凸起度,确定所述第一立体单元的凸起信息,所述凸起信息用于表征所述立体单元在垂直于所述外平面方向上的凸起程度;基于所述立体单元的位置信息和所述立体单元的凸起信息,得到所述立体单元的三维信息,所述三维信息用于表征所述立体单元在所述图像中的位置,以及所述立体单元在垂直于所述外平面方向上的凸起程度。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存
储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至10任一项所述的三维信息的确定方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行,以实现如权利要求1至10任一项所述的三维信息的确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311378630.8A CN117115274B (zh) | 2023-10-24 | 2023-10-24 | 三维信息的确定方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311378630.8A CN117115274B (zh) | 2023-10-24 | 2023-10-24 | 三维信息的确定方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117115274A CN117115274A (zh) | 2023-11-24 |
CN117115274B true CN117115274B (zh) | 2024-02-09 |
Family
ID=88800580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311378630.8A Active CN117115274B (zh) | 2023-10-24 | 2023-10-24 | 三维信息的确定方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117115274B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113658244A (zh) * | 2021-07-01 | 2021-11-16 | 哈尔滨工业大学 | 桥梁区域通航船舶三维几何尺寸辨识方法 |
CN114593681A (zh) * | 2020-12-07 | 2022-06-07 | 北京格灵深瞳信息技术有限公司 | 厚度测量方法,装置,电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200095859A (ko) * | 2019-02-01 | 2020-08-11 | 삼성전자주식회사 | 엑스선 영상 처리 방법 및 그에 따른 엑스선 영상 처리 장치 |
-
2023
- 2023-10-24 CN CN202311378630.8A patent/CN117115274B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114593681A (zh) * | 2020-12-07 | 2022-06-07 | 北京格灵深瞳信息技术有限公司 | 厚度测量方法,装置,电子设备及存储介质 |
CN113658244A (zh) * | 2021-07-01 | 2021-11-16 | 哈尔滨工业大学 | 桥梁区域通航船舶三维几何尺寸辨识方法 |
Non-Patent Citations (2)
Title |
---|
Comprehensive Assessment of 3D Visual Images;Ma, H et al;《IEEE/ACIS 12th International Conference on Computer and Information Science (ICIS)》;第59-64页 * |
粒子像斑三维定位的透视成像原理和方法;董守平;《流体力学实验与测量》(第2期);第103-108页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117115274A (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110009561B (zh) | 一种监控视频目标映射到三维地理场景模型的方法及系统 | |
US11748906B2 (en) | Gaze point calculation method, apparatus and device | |
US11521311B1 (en) | Collaborative disparity decomposition | |
US7509241B2 (en) | Method and apparatus for automatically generating a site model | |
US10477178B2 (en) | High-speed and tunable scene reconstruction systems and methods using stereo imagery | |
US10043097B2 (en) | Image abstraction system | |
US20150213590A1 (en) | Automatic Pose Setting Using Computer Vision Techniques | |
CN111275750A (zh) | 基于多传感器融合的室内空间全景图像生成方法 | |
CN109255808B (zh) | 基于倾斜影像的建筑物纹理提取方法和装置 | |
KR100560464B1 (ko) | 관찰자의 시점에 적응적인 다시점 영상 디스플레이 시스템을 구성하는 방법 | |
WO2023280038A1 (zh) | 一种三维实景模型的构建方法及相关装置 | |
CN112489099B (zh) | 点云配准方法、装置、存储介质及电子设备 | |
US10235800B2 (en) | Smoothing 3D models of objects to mitigate artifacts | |
CN109064533B (zh) | 一种3d漫游方法及系统 | |
CN113298708A (zh) | 三维房型的生成方法、装置及设备 | |
CN113345084B (zh) | 三维建模系统及三维建模方法 | |
CN112802208B (zh) | 一种航站楼内三维可视化方法及装置 | |
Angot et al. | A 2D to 3D video and image conversion technique based on a bilateral filter | |
CN117115274B (zh) | 三维信息的确定方法、装置、设备及存储介质 | |
US10339702B2 (en) | Method for improving occluded edge quality in augmented reality based on depth camera | |
WO2022011560A1 (zh) | 图像裁剪方法与装置、电子设备及存储介质 | |
Habib et al. | Integration of lidar and airborne imagery for realistic visualization of 3d urban environments | |
CN114494582A (zh) | 一种基于视觉感知的三维模型动态更新方法 | |
Wang et al. | Real‐time fusion of multiple videos and 3D real scenes based on optimal viewpoint selection | |
CN116485636B (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 |