CN117475390A - 利用摄像头信息识别外部对象位置的电子装置及其方法 - Google Patents
利用摄像头信息识别外部对象位置的电子装置及其方法 Download PDFInfo
- Publication number
- CN117475390A CN117475390A CN202310938233.5A CN202310938233A CN117475390A CN 117475390 A CN117475390 A CN 117475390A CN 202310938233 A CN202310938233 A CN 202310938233A CN 117475390 A CN117475390 A CN 117475390A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- vertices
- image
- processor
- dimensional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000013528 artificial neural network Methods 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 51
- 230000015654 memory Effects 0.000 description 43
- 238000013473 artificial intelligence Methods 0.000 description 22
- 238000013135 deep learning Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 20
- 238000001514 detection method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000000007 visual effect Effects 0.000 description 14
- 239000000470 constituent Substances 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 241000226585 Antennaria plantaginifolia Species 0.000 description 5
- 238000013459 approach Methods 0.000 description 5
- 238000009434 installation Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 229910052724 xenon Inorganic materials 0.000 description 2
- FHNFHKCVQCLJFQ-UHFFFAOYSA-N xenon atom Chemical compound [Xe] FHNFHKCVQCLJFQ-UHFFFAOYSA-N 0.000 description 2
- 241000760358 Enodes Species 0.000 description 1
- 101001093748 Homo sapiens Phosphatidylinositol N-acetylglucosaminyltransferase subunit P Proteins 0.000 description 1
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000295 fuel oil Substances 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Processing (AREA)
Abstract
本公开涉及利用摄像头信息识别外部对象位置的电子装置及其方法。其中,所述电子装置可以包括摄像头和处理器。所述处理器,可以从利用所述摄像头获得的图像获取表示与外部对象相关的部分的顶点(vertices)的二维坐标值。所述处理器,可以识别在所述图像中包括的基准平面上沿着基准方向延伸且与所述顶点中的第一顶点相重叠的第一线,以及连接所述图像中的基准点和所述顶点中的第二顶点的第二线。所述处理器,基于所述第一线和所述第二线的交叉点(intersection),可以获得用于表示与所述外部对象相对应的三维外部空间中各顶点的三维坐标值。本公开可以仅使用从摄像头获得的图像来识别外部对象的位置。
Description
技术领域
本公开涉及利用摄像头的信息来识别与图像相关的外部对象的位置的电子装置及其方法。
背景技术
正在开发包括用于推断图像中捕获的外部对象的算法的、基于对象识别技术的电子装置及/或服务。例如,基于对象识别技术,可以从图像中识别一个以上的外部对象(例如,行人(pedestrian)或车辆(vehicle))。包含识别了一个以上外部对象的结果的信息,例如在自动驾驶(Autonomous Driving/Self-Driving)中,可用于根据车辆的自动化水平(automation level)将识别了外部对象的用户的操作实现自动化及/或进行代替。
发明内容
要解决的技术问题
本公开旨提供仅用从摄像头获得的图像来识别外部对象的位置的方案。
技术方案
为了解决上述问题,根据一实施例(an embodiment)的电子装置(electronicdevice)可以包括摄像头和处理器。所述处理器,可以从利用所述摄像头获得的图像获取表示与外部对象相关的部分的顶点(vertices)的二维坐标值。所述处理器,可以识别在所述图像中包括的基准平面上沿着基准方向延伸且与所述顶点中的第一顶点相重叠的第一线,以及连接所述图像中的基准点和所述顶点中的第二顶点的第二线。所述处理器,基于所述第一线和所述第二线的交叉点,可以获得用于表示与所述外部对象相对应的三维外部空间中各顶点的三维坐标值。
根据一实施例的电子装置的方法,可以包括步骤:从利用所述电子装置的摄像头所获得的图像,获取表示与外部对象相关的部分的顶点的二维坐标值。所述方法,可以包括步骤:识别在所述图像中包括的基准平面上沿着基准方向延伸且与所述顶点中的第一顶点相重叠的第一线,以及连接所述图像中的基准点和所述顶点中的第二顶点的第二线。所述方法,可以包括步骤:基于所述第一线和所述第二线的交叉点,获得用于表示与所述外部对象相对应的三维外部空间中各顶点的三维坐标值。
根据一实施例的计算机可读存储介质,可以包括指令。当所述指令由电子装置的处理器执行时,可以使得所述电子装置执行如下的方法:从利用所述电子装置的摄像头所获得的图像,获取表示与外部对象相关的部分的顶点的二维坐标值。当所述指令由电子装置的处理器执行时,可以使得所述电子装置执行如下的方法:识别在所述图像中包括的基准平面上沿着基准方向延伸且与所述顶点中的第一顶点相重叠的第一线,以及连接所述图像中的基准点和所述顶点中的第二顶点的第二线。当所述指令由电子装置的处理器执行时,可以使得所述电子装置执行如下的方法:基于所述第一线和所述第二线的交叉点,获得用于表示与所述外部对象相对应的三维外部空间中各顶点的三维坐标值。
有益效果
根据一实施例的电子装置,可以仅使用从摄像头所获得的图像来识别外部对象的位置。
附图说明
图1是根据一实施例示出的利用图像来识别外部对象的位置的电子装置。
图2是根据一实施例示出的电子装置的示例性框图(block diagram)。
图3是根据一实施例示出的用于示例性说明电子装置的操作的流程图。
图4是根据一实施例示出的用于获取电子装置摄像头的内在参数的操作示例。
图5是根据一实施例示出的用于补偿因摄像头的透镜(lens)所引起的图像失真的电子装置示例性操作的图。
图6是根据一实施例示出的从二维图像识别三维外部空间内外部对象位置的电子装置的示例性操作的图。
图7是根据一实施例示出的从二维图像识别外部对象位置的电子装置的示例性操作的图。
图8a至图8b是根据一实施例示出的从二维图像识别外部对象位置的电子装置的示例性操作的图。
图9是根据一实施例示出的车辆自动驾驶系统的示例性框图。
图10和图11是根据一实施例示出的自动驾驶移动体的示例性框图。
图12是根据各种实施例示出的与用户装置相关联的网关(gateway)的示例性图。
图13是根据一实施例示出的电子装置的框图。
具体实施方式
以下,参照附图描述本公开的实施例。关于附图的描述,针对类似或相关的构成要素可以使用类似的附图标记。
图1示出了利用图像来识别外部对象的位置的电子装置101的一实施例。参照图1,示出了包含于第一车辆110的电子装置101的一示例。电子装置101,可以对应于第一车辆110内的ECU(electronic control unit)或者可以包含在ECU。所述ECU还可以被称为ECM(electronic control module)。或者,所述电子装置101可以构成为用于在第一车辆110提供根据本发明实施例的功能之用途的独立的硬件(Hardware)。实施例并非局限于此,电子装置101可以对应于附着在第一车辆110的设备(例如,黑匣子)或者包含在所述设备。
根据一实施例的电子设备101,可以电连接及/或可操作地连接到配置为面向第一车辆110的一个方向的摄像头112。参照图1,示例性示出了面向第一车辆110的前方(frontdirection及/或行驶方向(driving direction))所配置的摄像头112,但摄像头112的方向并非局限于图1中所示出的方向。虽然示出了电子装置101和摄像头112分离的一实施例,但实施例并非局限于此,电子装置101和摄像头112可以集成(integrated)在单一的封装(single package或single housing)内。
根据一实施例的电子装置101,利用从摄像头112获取的图像130,可以识别包含在摄像头112的FoV(field-of-view)中的外部对象(例如,第二车辆120)。识别外部对象的操作,可以包括识别所述外部对象的类型(Type)、等级(Class)和/或类别(Category)的操作。例如,电子装置101可以从诸如车辆、道路、标志牌和/或行人等指定类别中识别与由图像130捕获的外部对象相对应的类别。识别外部对象的操作,可以包括计算所述外部对象相对于摄像头112和/或第一车辆110的位置(例如,三维坐标值)的操作。
参照图1及后述的附图所描述的一实施例,可以与识别或计算如第二车辆120等外部对象的位置的电子装置101、所述电子装置101的方法、由电子装置101所执行的计算机程序及/或包含所述计算机程序的计算机可读存储介质等相关。根据一实施例的电子装置101,可以利用从单一的摄像头112所获取的单一的图像130识别外部对象的位置。例如,在不需要诸如TOF(time-of-flight)、LiDAR(light detection and ranging)、雷达(radiodetection and ranging)、SONAR(sound navigation and ranging)和/或立体声摄像头等用于直接获得表示外部对象位置的三维坐标值的传感器及/或硬件的情况下,电子装置101可以从图像130识别外部对象的位置。
例如,电子装置101可以从图像130识别出与外部对象(例如,第二车辆120)对应的视觉对象122。视觉对象122,在图像130所包含的像素中可以包括用于表现外部对象的一个以上的像素。电子装置101,基于图像130识别外部对象,从而可以识别出图像130内与对应于所述外部对象的视觉对象122相对应的边界框140。电子装置101,可以从边界框140的顶点(vertices)i1、i2、i3、i4的二维坐标值,识别由外部对象所占有的外部空间。例如,电子装置101可以获得所述外部空间的顶点v1、v2、v3、v4、v5、v6、v7、v8的三维坐标值。例如,电子装置101,获得与第二车辆120对应的外部空间的顶点v1、v2、v3、v4、v5、v6、v7、v8的三维坐标值后,利用由所述三维坐标值所表示的第二车辆120的三维位置,可以执行用于第一车辆110自动驾驶的功能(例如,路径计划(path planning))。
图2示出了根据一实施例的电子装置101框图(block diagram)的一例。图1的电子装置101至少可以部分包括在参照图2所描述之电子装置101中所包含的硬件。
参照图2,根据一实施例的电子装置101,可以包括处理器210、存储器215或摄像头112中的至少一个。处理器210、存储器215和摄像头112可以通过如通信总线(acommunication bus)202等电子部件(electronical component)彼此电连接和/或可操作地连接(electronically and/or operably coupled with each other)。以下,所谓装置和或电路彼此可操作地连接,可以是指通过有线或无线来实现装置和/或电路之间的直接连接或间接连接,从而能够由第一电路和/或第一装置来控制第二电路和/或第二装置。虽然图示在不同的框里,但是实施例并非局限于此。图2硬件中的一部分可以如片上系统(SoC,system on a chip)一样包含在单一集成电路(single integrated circuit)上。包含在电子装置101内的硬件的类型和/或数量,并非局限在如图2所示的内容。例如,电子装置101可以仅包含图2所示硬件中的一部分。
根据一实施例的电子装置101,可以包括用于根据一个以上的指令来处理数据的硬件。用于处理数据的硬件可以包括处理器210。例如,用于处理数据的硬件可以包括算术和逻辑单元(ALU,arithmetic and logic unit)、浮点单元(FPU,floating point unit)、现场可编程门阵列(FPGA,field programmable gate array)、中央处理单元(CPU,centralprocessing unit)和/或应用处理器(AP,application processor)。处理器210,可以具有单核处理器结构,或者可以具有诸如双核(dual core)、四核(quad core)、六核(hexacore)或八核(octa core)等多核处理器结构。
根据一实施例的电子装置101的存储器215,可以包括用于向电子装置101的处理器210输入和/或输出数据,和/或用于存储指令的硬件部件。例如,存储器215可以包括诸如随机存取存储器(RAM,random-access memory)的易失性存储器(volatile memory),和/或诸如只读存储器(ROM,read-only memory)的非易失性存储器(non-volatile memory)。例如,易失性存储器可以包括DRAM(dynamic RAM)、SRAM(static RAM)、Cache RAM、PSRAM(pseudo SRAM)中的至少一种。例如,非易失性存储器可以包括PROM(Programmable ROM)、EPROM(erasable PROM)、EEPROM(electrically erasable PROM)、闪存、硬盘、光盘、SSD(solid state drive)、eMMC(embedded multi-media card)中的至少一种。
根据一实施例的电子装置101的摄像头112,可以包括透镜组件(assembly)或图像传感器。所述透镜组件可以收集从作为图像拍摄对象的被摄体所发出的光。透镜组件可以包括一个或多个透镜。根据一实施例的摄像头112可包括多个镜头组件。例如,摄像头112,在其多个透镜组件中的一部分可以具有相同的透镜属性(例如,视角、焦距、自动对焦、f值(f number)或光学变焦)或者至少一个透镜组件可以具有与其他透镜组件的透镜属性不同的一个以上的透镜属性。所述透镜属性可以被称为摄像头112的内在参数(intrinsicparameter)。所述内在参数可以存储在电子装置101的存储器215中。
在一实施例中,透镜组件可以包括广角透镜或长焦透镜。根据一实施例,闪光灯可以包括一个以上的发光二极管(例如,RGB(red-green-blue)LED、white LED、infrared LED或ultraviolet LED)或氙灯(xenon lamp)。例如,摄像头112内的图像传感器将从被摄体发出或反射而通过透镜组件所传输的光转换成电信号,从而可以获得与所述被摄体相对应的图像。根据一实施例的图像传感器,可以包括从诸如RGB传感器、BW(black and white)传感器、IR传感器或UV传感器等属性不同的图像传感器中所选择的一个图像传感器、具有相同属性的多个图像传感器或者具有不同属性的多个图像传感器。包含在图像传感器中的每个图像传感器,例如可以利用CCD(charged coupled device)传感器或CMOS(complementarymetal oxide semiconductor)传感器来得以实现。
根据一实施例的电子装置101的处理器210,可以利用摄像头112来获取图像。处理器210可以利用存储在存储器215中的内在信息来补偿由摄像头112的透镜所引起(causedby)的所述图像的失真。后续将参照图4至图5描述为了补偿所述图像的失真而由电子装置101执行的操作和/或所述内在信息。处理器210可以对所述失真补偿的图像执行对象识别。基于所述对象识别,处理器210可以在所述失真补偿的所述图像中识别与外部对象相关的部分。例如,处理器210可以基于所述图像的二维坐标系来获得表示所述部分的顶点的二维坐标值。所述部分,可以具有如边界框(bounding box)那样的长方形形态。
根据一实施例的电子装置101,可以基于从图像识别的所述二维坐标值,识别出与外部对象对应的三维外部空间。例如,电子装置101可以获取所述外部空间的顶点的三维坐标值。电子装置101可以利用摄像头112的外在信息(extrinsic information)(或外在参数),从所述二维坐标值获取所述三维坐标值。摄像头112的外在信息,存储在电子装置101的存储器215内,可以用于表示所述摄像头112的位置和/或方向(例如,图1中第一车辆110内的摄像头112的位置和/或方向)。后续将参照图6至图7、图8a和/或图8b来描述电子装置101从所述二维坐标值获取所述三维坐标值的操作。
以下,参照图3说明通过处理从摄像头112获取的图像,将由所述图像捕捉到的外部对象的位置以三维进行识别的电子装置101和/或处理器210的操作。
图3示出了根据一实施例的用于说明电子装置的操作的示例性流程图。图1至图2中的电子装置101可以执行参照图3所描述的电子装置的操作。例如,图2的电子装置101和/或处理器210可以执行图3操作中的至少一个。在一实施例中,可以提供包含使得电子装置和/或处理器执行图3中操作的软件应用和/或指令的计算机可读存储介质。
参照图3,在操作310中,根据一实施例的电子装置的处理器,在从摄像头(例如,图1至图2的摄像头112)获得的图像(例如,图1的图像130)中,可以获取与外部对象关联的图像部分的顶点的二维坐标值。操作310中的图像,可以对应于从单一摄像头获得的单一图像。操作310中的图像,可以对应于将多个摄像头获得的图像合并(或者拼接(stitching))而成的单一图像。例如,将从具有至少部分重叠的FoV的所述多个摄像头所获得的图像进行合并,从而电子装置101可以获得操作310中的图像。将从多个摄像头所获得的图像进行合并而成的所述单一图像可以称为全景图像(panoramic image)。
根据一实施例的处理器,为了获得操作310中的二维坐标值,可以对从摄像头获得的图像执行后处理。所述后处理,可以包括基于和所述摄像头对应的内在信息来变更所述图像的操作。例如,处理器可以补偿因摄像头的透镜引起的所述图像的失真。处理器为了补偿所述图像的所述失真,可以从与摄像头对应的内在信息获得与所述失真相关联的信息(例如,有关透镜的视场(FoV)、焦距和/或透镜形状的信息)。利用所述失真得以补偿的图像,处理器可以获得操作310中的二维坐标值。
根据一实施例的处理器,利用操作310中的图像得以输入的神经网络,可以识别所述图像中捕捉到外部对象的部分。在一实施例中,神经网络可以包括涉及推理和/或认知的生物体神经活动的数学模型、和/或用于驱动所述数学模型的硬件(例如,CPU,GPU(graphicprocessing unit)和/或NPU(neural processing unit))、软件或它们的组合(or anycombination thereof)。所述神经网络可以是基于卷积神经网络(CNN,convolutionalneural network)和/或长短期记忆(LSTM,long-short term memory)的神经网络。根据一实施例的处理器,利用所述神经网络,可以获得在图像中与捕捉到外部对象的部分相拟合(fitting)的图形(例如,长方形)的顶点的二维坐标值。处理器利用所述神经网络可以识别所述外部对象与所指定的类别(Category)分别相匹配的概率。
参照图3,在操作320中,根据一实施例的电子装置的处理器,基于和摄像头关联的信息,可以识别在基准面(例如,地面)上与顶点中的第一顶点重叠的三维的第一线以及连接三维的基准点和第二顶点的第二线。操作320的信息可以包括摄像头的外在信息。所述外在信息可以包括用于表示摄像头的安装高度、方向和/或旋转(例如,翻滚角(roll)、俯仰角(pitch)和/或偏航角(yaw))的参数(例如,外在参数)。所述外在信息可以包括有关安装了所述摄像头的车辆(例如,图1的第一车辆110)的中心轴和所述图像的中心之间的角度、方向和/或倾斜度的参数。
在一实施例中,处理器基于有关摄像头的信息,可以在图像内识别基准面(例如,地面)。例如,处理器基于和根据所述信息出现的所述基准面所相对的所述摄像头的位置,在图像中可以获得对应于所述基准面的像素所对应的三维坐标值。处理器,在所述基准面中,可以识别与所述摄像头和/或所述摄像头得以安装的车辆的基准方向(例如,车辆的行驶方向)相平行、且与操作310中顶点的第一顶点相重叠的第一线。处理器,可以识别连接所述基准点(例如,与图像中心轴上的特定像素相对应的三维位置的地点)和所述顶点中第二顶点的第二线。后续将参照图7、图8a至图8b来描述所述第一线和所述第二线的一例。
参照图3,在操作330中,根据一实施例的电子装置的处理器,基于图像中第一线和第二线的交叉点,可以获得外部对象所在外部空间的有关顶点的三维坐标值。处理器,基于根据基准面在所述图像的一个以上的像素上所分配的三维坐标值,可以获得操作330中交叉点的三维坐标值。处理器,可以利用从所述交叉点向操作310的顶点中与所述第一顶点和第二顶点不同的其他顶点延伸的线,推断由外部对象占有的外部空间的顶点。后续将参照图4至图7、图8a至图8b来描述处理器为了推断所述外部空间的所述顶点的三维坐标值而执行的操作。
图4示出了根据一实施例的用于获取电子装置摄像头的内在参数的操作。图1至图2的电子装置101可以执行参照图4描述的操作。例如,图2的电子装置101和/或处理器210可以执行参照图4描述的操作。图4的摄像头可以包括图1至图2的摄像头112。
参照图4,根据一实施例的电子装置,基于利用摄像头捕捉(Capture)画有指定图案(pattern)之外部对象410的结果,可以获取或计算内在参数。参照图4,示出了由电子装置捕捉且包含示例性图案的外部对象411、412。例如,示出了白色长方形和黑色长方形重复排列的、包含具有棋盘纹理之平面的外部对象411。例如,示出了不同形态的线条和/或图案得以印刷的外部对象412。
在一实施例中,为了获得内在参数,电子装置可以获得从不同的角度和/或方向捕捉外部对象410的图像。这些图像分别可以表示(represent)从不同的方向捕捉到的所述外部对象。
根据一实施例的电子装置,基于反投影(unprojection),可以获得在每个所述多个图像上捕捉到的所述图像的三维坐标值。例如,电子装置,可以向与外部空间对应的三维坐标空间,反投影包含于每个所述多个图像中且表现所述外部对象的视觉对象。基于所述反投影,电子装置可以获得与多个图像的每个图像中包含的所述视觉对象的二维坐标值相对应的坐标空间内的三维坐标值。基于所述三维坐标值,电子装置可以从图像410识别出由所述摄像头的透镜引起的失真。电子装置,作为与所述摄像头对应的内在参数,可以存储对所述失真的信息。所述内在参数,可以用于补偿包含在所述图像且由所述透镜引起的失真。以下,参照图5,描述基于所述内在参数补偿所述失真的电子装置的示例性操作。
图5示出了用于补偿因摄像头的透镜所引起的图像失真的电子装置的示例性操作。图1至图2的电子装置101可以执行参照图5所描述的操作。例如,图2的电子装置101和/或处理器210可以执行参照图5所描述的操作。图5的摄像头可以包括图1至图2的摄像头112。
参照图5,示出了用于说明透镜引起图像失真的示例性图像510、512、514。图像510、512、514,可以通过利用具有不同失真的摄像头捕捉相同的外部对象(例如,包含重复排列之长方形的平面的外部对象)而获得。对从没有透镜引起的失真的摄像头获得的图像510与从具有桶形失真(barrel distortion)(或,negative radial distortion)的摄像头获得的图像512进行比较可知,包含图像512中心的部分相比于其他部分呈放大状态。对图像510与从具有枕形失真(pincushion distortion)(或,positive radial distortion)的摄像头获得的图像514进行比较可知,包含图像514周边部(periphery)的部分相比于包含图像514中心的其他部分呈放大状态。
根据一实施例的电子装置,基于对应于摄像头的内在参数,可以识别透镜包含的失真。例如,电子装置根据所述内在参数在所述的桶形失真和/或枕形失真中可以识别出由所述透镜引起的失真。根据一实施例的电子装置的处理器,利用所述内在参数(例如,焦距和/或失真系数),可以变更所述图像。例如,电子装置通过变更所述图像可以获得补偿了所述失真的图像。
根据一实施例的电子装置,基于内在参数,可以变更含有失真的图像。例如,当电子装置变更如图像512含有桶形失真的图像时,在所述图像内发生了所述桶形失真的部分522可以变更为如部分520。例如,当电子装置变更如图像514含有枕形失真的图像时,在所述图像内发生了所述枕形失真的部分532可以变更为如部分530。
根据一实施例的电子装置,基于数学式1和/或数学式2,可以补偿图像失真。
【数学式1】
p0=K[R|t]*P
数学式1中的p可以是图像的坐标[u,v,1]。数学式1中的P可以是与所述图像的坐标相对应的空间坐标[X,Y,Z,1]。数学式1中的K是内在参数,可以是包括x轴的焦距(例如,数学式2中的fx)、y轴的焦距(例如,数学式2中的fy)、图像的水平中心轴(例如,数学式2中的u0)、图像的垂直中心轴(例如,数学式2中的v0)中的至少一个的矩阵。数学式1中的R是内在参数,可以是包含用于坐标旋转的旋转系数(例如,数学式2中的r11至r33)的旋转矩阵(rotation matrix)。数学式1中的t是内在参数,可以是用于坐标空间内移动的平移矩阵(translation matrix)。
【数学式2】
电子装置,基于内在参数识别到透镜引起的扭曲(Skew)时,可以基于数学式3补偿图像的失真。基于透镜的制造工艺中产生的公差范围,扭曲可以被设定为所述制造工艺导致透镜扭曲的平均值或者被省略(例如,0)。
【数学式3】
根据一实施例的电子装置,基于数学式4,可以从内在参数计算出表示图像失真的参数(k1、k2)。
【数学式4】
根据一实施例的电子装置,基于补偿失真之前的图像与补偿失真之后的图像之间的坐标关系,可以获得用于补偿失真的信息(例如,映射表(Mapping table)和/或平移矩阵)。电子装置,利用所述信息,通过移动从摄像头获得的图像和/或视频中的像素,可以补偿透镜引起的失真。
图6示出了从二维图像识别三维外部空间内外部对象位置的电子装置的示例性操作。图1至图2的电子装置101可以执行参照图6描述的操作。例如,图2的电子装置101和/或处理器210可以执行参照图6描述的操作。
根据一实施例的电子装置,利用补偿了透镜引起的失真的图像610,基于反投影,可以获得由所述图像610捕捉到的外部对象620(例如,车辆)的三维坐标。例如,在图像610中识别了与所述外部对象620对应的视觉对象612的电子装置,在包含对应于摄像头位置的地点C的三维坐标空间内,可以获得所述视觉对象612的地点i1的坐标(xi,yi,f)。电子装置,基于数学式5,可以识别与所述地点i1对应的外部对象620上的地点p1的三维坐标(xs,ys,zs)。
【数学式5】
根据一实施例的电子装置,基于在图像610中与视觉对象612相关的地点i1的坐标,可以获得围绕外部对象620的长方体(或者,立方体(cube))的6个顶点的坐标值。以下,参照图7、图8a和/或图8b,描述电子装置获得所述6个顶点的坐标值的示例性操作。
图7示出了从二维图像识别外部对象位置的电子装置的示例性操作。图1至图2的电子装置101可以执行参照图7描述的操作。例如,图2的电子装置101和/或处理器210可以执行参照图7描述的操作。
参照图7,示出了安装在含有电子装置的第一车辆(例如,图1的第一车辆110)的外后视镜(side mirror)上的摄像头所获得的图像710的示例性图。图像710可以是通过所述摄像头的内在参数所识别的失真得以补偿的图像。当外部对象因图像710的边界而一部分未被捕捉时,处理器可以从图像710获得用于表示所述外部对象的位置的三维坐标值。处理器,对于如图像710中被捕捉到的第二车辆,即,沿着与含有电子装置的第一车辆平行的方向行驶的第二车辆,可以获得用于表示所述第二车辆的位置的三维坐标值。在图7中,由小写字母标记的地点,是图像710内的地点,可以表示具有二维坐标值的地点。在图7中,包含大写字母的地点,是图像710得到映射(mapping)的外部空间内的地点,可以具有三维坐标值。
参照图7,根据一实施例的电子装置,基于对象识别,在图像710内可以识别出与外部对象(例如,第二车辆)有关的部分715。电子装置可以识别如边界框(bounding box)呈长方形形态的部分715。例如,电子装置,利用输入有图像710的神经网络,可以获得图像710中部分715的顶点a、b、c、d的二维坐标值。与所述坐标值一同,电子装置基于包含在所述部分715中的外部对象的类型(Type),可以获得与车辆对应的所述外部对象的尺寸(例如,全长、全宽和/或全高)。
参照图7,电子装置基于摄像头的外在参数,可以识别所述摄像头的三维位置。基于所述三维位置,电子装置可以识别与地面对应的基准平面720。电子装置,在所述顶点a、b、c、d中,对临近图像710下端的顶点a、b执行反投影(例如,参照图6描述的反投影),从而可以识别所述顶点a、b的三维地点Pa、Pb。处理器,可以识别位于三维地点Pa上且沿着基准平面720的第一方向(例如,含有电子装置的车辆的行驶方向)延伸的第一线La。处理器,可以识别位于三维地点Pb上且沿着与基准平面720的所述第一方向垂直的第二方向(例如,与含有电子装置的车辆的行驶方向垂直的方向)延伸的第二线Lb。电子装置,可以识别第一线La与第二线Lb的交叉点(intersection)M1。
参照图7,对于三维交叉点M1,电子装置在图像710中可以识别与所述三维交叉点M1对应的二维地点m1。电子装置,可以识别连接二维地点m1和部分715的顶点d的二维线以及连接顶点a和b的二维线相互交叉的交叉点m2。对所述交叉点m2执行反投影,从而电子装置可以获得与所述交叉点m2对应的三维地点M2。电子装置,可以识别沿着与地面对应的基准平面720的第二方向从三维地点M2延伸的第三线Lc以及沿着第一方向从三维地点M2延伸的第四线Ld。
参照图7,电子装置可以识别连接顶点b和d的线以及第三线Lc的交叉点m3的三维地点M4。电子装置,对连接顶点a和c的线以及第四线Ld的交叉点执行反投影,从而可以识别三维地点M3。电子装置,在图像710中,可以识别将连接交叉点m4和顶点d的线长为半径的圆730。所述半径可以和对应于部分715的外部对象的高度(或者全高)相对应。电子装置,可以识别第三线Lc和圆730的交叉点m5所对应的三维地点M5。
根据一实施例的电子装置,可以将三维地点M3、M2、M4分别确定为由外部对象占有的长方体外部空间740的顶点A、B、C。电子装置,基于平行四边形的特性,通过所述顶点A、B、C可以获得外部空间740底面的顶点D的三维坐标值。电子装置,基于三维地点M4和M5之间的距离所表现的、外部对象的高度,可以平行移动所述顶点A、B、C、D中的至少一个。基于所述平行移动,电子装置可以获得外部空间740的上面顶点E、F、G、H的三维坐标值。
如上所述,根据一实施例的电子装置,利用摄像头的内在参数和/或外在参数,可以从图像710获得由外部对象占有的外部空间740的顶点A、B、C、D、E、F、G、H的三维坐标值。电子装置,在三维坐标空间内,基于和包含电子装置的第一车辆(例如,图1的第一车辆110)相对应的长方体与由顶点A、B、C、D、E、F、G、H所表现的长方体之间的最小距离,可以识别位于外部空间740内的第二车辆与第一车辆之间的距离。
图8a至图8b示出了从二维图像识别外部对象的位置的电子装置的示例性操作。图1至图2的电子装置101可以执行参照图8a和图8b描述的操作。例如,图2的电子装置101和/或处理器210可以执行参照图8a至图8b描述的操作。参照图8a至图8b描述的电子装置的操作,与参照图7描述的操作相比,至少一部分可以类似地执行。
参照图8a,电子装置可以补偿包含在从摄像头(例如,图1的摄像头112)获取的图像810中且由所述摄像头的透镜引起的失真。所述失真,可以通过与所述摄像头对应的内在参数(例如,图2的存储器215中存储的内在参数)得以识别。电子装置,通过补偿所述失真,可以从图像810获得图像820。通过执行基于所述图像820的对象识别,电子装置可以在图像820中识别与外部对象关联的部分822。电子装置,可以获得用于表示部分822的图像820中的二维坐标值(例如,地点a、b、c、d的坐标值)。在图8a和/或图8b中,由小写字母标记的地点,是图像810内的地点,可以表示具有二维坐标值的地点。在图8a和/或图8b中,包含大写字母的地点,是图像810得到映射(mapping)的外部空间中的地点,可以具有三维坐标值。
参照图8,电子装置基于摄像头的外在参数,可以识别所述摄像头的三维位置。基于所述三维位置,电子装置可以识别将三维坐标空间内的原点O以及与部分822的顶点b的反投影相对应的三维地点B相连接的第一线824。电子装置可以识别在所述三维坐标空间内,与含有所述电子装置的第一车辆(例如,图1的第一车辆110)的行驶方向平行,且从与部分822的顶点a的反投影相对应的三维地点A延伸的第二线825。
参照图8,图像820的一部分830得以放大后示出。在此,可以识别将对应于第一线824与第二线825的三维交叉点I的二维地点和部分822的顶点c相连接的线条以及将顶点a和b相连接的线条彼此交叉的交叉点g。电子装置对交叉点g执行反投影,从而可以识别与交叉点g相对应的三维地点G。
与图7中从三维地点M2获得三维地点M3、M4的电子装置的操作类似地,电子装置可以从三维地点G识别出三维地点M3、M4。例如,电子装置可以识别沿着第一车辆的行驶方向延伸的线条和连接顶点a和c的线条相互交叉的交叉点所对应的三维地点M3。电子装置可以识别沿着与第一车辆的行驶方向垂直的方向从三维地点G延伸的线条和连接顶点b和d的线条相互交叉的交叉点所对应的三维地点M4。
根据一实施例,电子装置,基于三维地点M4和部分822之间的关系,可以识别与部分822对应的外部对象的高度(或者全高)。参照图8b,电子装置可以识别在连接顶点b和d的线上,与三维地点M4对应的二维地点和顶点d之间的长度为半径的圆852。基于所述圆852和连接三维地点G和M4的线条之间的交叉点m5,电子装置可以识别所述外部对象的高度。
如上所述,电子装置,可以将从部分822的顶点a、b、c、d所识别的三维地点M3、G、M4,确定为由外部对象占有的外部空间860的底面的顶点。电子装置,基于平行四边形的特性,可以识别出所述底面的剩余顶点M2。电子装置,基于所述得以识别的高度,平行移动顶点M3、G、M4、M2,从而可以识别出所述外部空间860的上面的顶点M1、M6、M7、M8。电子装置,利用由三维顶点M3、G、M4、M2、M1、M6、M7、M8表示的、外部对象所在的外部空间860,可以执行与自动驾驶相关的功能。
图9示出了根据一实施例的车辆自动驾驶系统的示例性框图的一例。
参照图9,车辆的自动驾驶系统900可以是包括传感器903、图像预处理器905、深度学习网络907、人工智能(AI)处理器909、车辆控制模块911、网络接口913以及通信部915的深度学习网络。在各种实施例中,各要素可以通过各种接口相连接。例如,由传感器903感测而输出的传感器数据可以被馈送(feed)到图像预处理器905。由图像预处理器905处理的传感器数据可以被馈送到在AI处理器909上运行(run)的深度学习网络907。由AI处理器909运行(run)的深度学习网络907的输出可以被馈送到车辆控制模块911。在AI处理器909上运行(run)的深度学习网络907的中间结果可以被馈送到AI处理器909。在各种实施例中,网络接口913通过与车辆中的电子装置通信,将用于车辆自动驾驶的自动驾驶路线信息和/或自动驾驶控制命令发送到内部块组件。在一实施例中,网络接口913可以用于将通过传感器903获取的传感器数据发送到外部服务器。在一些实施例中,自动驾驶控制系统900可以适当地(as appropriate)包括附加或更少的构成要素。例如,在一些实施例中,图像预处理器905可以是可选(optional)的构成要素。根据另一示例,后处理构成要素(未图示)可以包括在自动驾驶控制系统900内,以在输出被提供给车辆控制模块911之前在深度学习网络907的输出中执行后处理。
在一些实施例中,传感器903可以包括一个以上的传感器。在各种实施例中,传感器903可以附接在车辆上的不同位置。各传感器903可以面向一个以上的不同方向。例如,各传感器903可以附接在车辆的前部(front)、侧部(sides)、后部(rear)和/或顶部(roof),以面向如前方(forward-facing)、后方(rear-facing)、侧方(side-facing)等方向。在一些实施例中,传感器903可以是图像传感器,例如高动态范围摄像头(high dynamic rangecameras)。在一些实施例中,传感器903包括非视觉传感器(non-visual sensors)。在一些实施例中,传感器903除了图像传感器之外,还可以包括雷达(RADAR)、光检测和测距(LiDAR,Light Detection And Ranging)和/或超声波传感器。在一些实施例中,传感器903并非安装在具有车辆控制模块911的车辆上。例如,传感器903得以包括而作为用于捕获传感器数据的深度学习系统的一部分,并且可以附接在环境或道路上和/或安装在周围的车辆上。
在一些实施例中,图像预处理器(Image pre-processor)905可以用于预处理传感器903的传感器数据。例如,图像预处理器905可以用于预处理传感器数据、将传感器数据分成(split)一个以上的构成要素、和/或后处理一个以上的构成要素。在一些实施例中,图像预处理器905可以是图形处理单元(graphics processing unit;GPU)、中央处理单元(central processing unit;CPU)、图像信号处理器或专用图像处理器(specializedimage processor)。在各种实施例中,图像预处理器905可以是用于处理高动态范围数据(high dynamic range data)的色调映射器(tone-mapper)处理器。在一些实施例中,图像预处理器905可以是AI处理器909的构成要素。
在一些实施例中,深度学习网络(Deep learning network)907可以是用于实现控制自动车辆的控制命令的深度学习网络。例如,深度学习网络907可以是人工神经网络,例如使用传感器数据训练的卷积神经网络(CNN),并且深度学习网络907的输出提供于车辆控制模块911。
在一些实施例中,人工智能(AI)处理器909可以是用于运行(run)深度学习网络907的硬件处理器。在一些实施例中,AI处理器909是专门的AI处理器,用于通过卷积神经网络(CNN)对传感器数据进行推理(Inference)。在一些实施例中,AI处理器909为了传感器数据的位深度(bit depth)而可以得到优化。在一些实施例中,AI处理器909为了例如包括卷积、点积、向量和/或矩阵算法的神经网络算法等深度学习算法而可以得到优化。在一些实施例中,AI处理器909可以通过能够有效执行并行处理的多个图形处理单元(GPU)来实现。
在各种实施例中,AI处理器909,在AI处理器909运行时对从传感器903接收的传感器数据执行深度学习分析,并且可以经由输入/输出接口耦合到存储器,该存储器被配置为提供具有命令的AI处理器,所述命令能够触发决定机器学习结果,该机器学习结果用于至少部分自主地操作车辆。在一些实施例中,车辆控制模块(Vehicle Control Module)911,处理从人工智能(AI)处理器909输出的用于车辆控制的命令,并且为了控制车辆的各个模块将AI处理器909的输出转化(translate)为用于控制各车辆模块的命令。在一些实施例中,车辆控制模块911用于控制车辆进行自动驾驶。在一些实施例中,车辆控制模块911可以调节车辆的转向和/或速度。例如,车辆控制模块911可以用于控制车辆的行驶,例如减速、加速、转向、变道、维持车道线等。在一些实施例中,车辆控制模块911可以产生用于控制刹车灯(brake lights)、转向指示灯(turns signals)和头灯(headlights)等车辆照明(vehicle lighting)的控制信号。在一些实施例中,车辆控制模块911可以用于控制车辆音频相关系统,例如车辆音响系统(vehicle’s sound system)、车辆音频报警(vehicle’saudio warnings)、车辆麦克风系统(vehicle’s microphone system)、车辆喇叭系统(vehicle’s horn system)等。
在一些实施例中,车辆控制模块911可以用于控制包括警告系统的通知系统(notification systems),所述警告系统用于通知乘客和/或驾驶员例如接近预定目的地或潜在碰撞(potential collision)等驾驶事件。在一些实施例中,车辆控制模块911可用于调节例如车辆的传感器903等传感器。例如,车辆控制模块911,可以修改(modifying theorientation)传感器903的指向方向,可以改变传感器903的输出分辨率和/或格式类型,可以增加或减少捕获率(capture rate),可以调整动态范围(dynamic range),可以调整摄像头的焦点。并且,车辆控制模块911可以单独地或按组地打开/关闭传感器的工作。
在一些实施例中,车辆控制模块911,可以按修改滤波器的频率范围,或调整用于特征(features)和/或对象检测的边缘检测参数(edge detection parameter),或调整位深度和通道(adjusting channels and bit depth)等方式,改变图像预处理器905的参数。在各种实施例中,车辆控制模块911可以用于控制车辆的自动驾驶和/或车辆的驾驶员辅助(Driver assistance)功能。
在一些实施例中,网络接口913可以承担自动驾驶控制系统900的块构成与通信部915之间的内部接口。具体来讲,网络接口913可以是用于接收和/或发送包括语音数据之数据的通信接口。在各种实施例中,网络接口913可以通过通信部915连接到外部服务器,以用于连接语音电话或接收和/或发送短信,或发送传感器数据,或用自动驾驶系统更新车辆软件,或更新车辆自动驾驶系统软件。
在各种实施例中,通信部915可以包括蜂窝或WiFi方式等各种无线接口。例如,网络接口913,可以用于从通过通信部915连接的外部服务器接收用于传感器903、图像预处理器905、深度学习网络907、AI处理器909、车辆控制模块911的操作参数和/或命令的更新。例如,深度学习网络907的机器学习模型可以利用通信部915得以更新。另外,根据另一示例,通信部915可以用于更新如图像处理参数等图像预处理器905的操作参数和/或传感器903的固件。
在另一实施例中,通信部915可以用于在事故或接近事故(near-accident)的事件中激活用于紧急服务(emergency services)和紧急联系(emergency contact)的通信。例如,在碰撞事件中,通信部915可用于呼叫紧急服务以寻求帮助,并且可用于向外部通知碰撞细节和车辆位置的紧急服务。在各种实施例中,通信部915可以更新或获得预期到达时间和/或目的地位置。
根据一实施例,图9所示的自动驾驶系统900还可以由车辆的电子装置构成。根据一实施例,当车辆自动驾驶过程中发生用户解除自动驾驶的事件时,自动驾驶系统900的AI处理器909通过控制将自动驾驶解除事件相关的信息输入到深度学习网络的训练集数据,以控制车辆的自动驾驶软件获得学习。
图10和图11示出了根据一实施例的用于表示自动驾驶移动体之框图的一例。参照图10,根据本实施例的自动驾驶移动体1000可以包括控制装置1100、感测模块1004a、1004b、1004c、1004d、引擎1006以及用户界面1008。自动驾驶移动体1000可以具有自动驾驶模式或手动模式(manual mode)。例如,根据通过用户界面1008接收到的用户输入,可以从手动模式切换到自动驾驶模式,或者可以从自动驾驶模式切换到手动模式。
当移动体1000在自动驾驶模式下运行时,自动驾驶移动体1000可以在控制装置1100的控制下得以运行。
在本实施例中,控制装置1100可以包括具有存储器1122和处理器1124的控制器1120、传感器1110、无线通信装置1130和对象检测装置1140。
在此,对象检测装置1140可以执行距离测量装置(例如,电子装置101)的全部或部分功能。
即,在本实施例中,对象检测装置1140是用于检测位于移动体1000外部的对象的装置,对象检测装置1140检测位于移动体1000外部的对象,并可以生成基于检测结果的对象信息。
对象信息可以包括关于对象存在与否的信息、对象的位置信息、移动体与对象之间的距离信息以及移动体与对象之间的相对速度信息。
对象可以包括位于移动体1000外部的各种客体,例如车道线、其他车辆、行人、交通信号、光、道路、结构物、减速带、地形物和动物等。在此,交通信号可以是包括交通信号灯、交通标志板、在路面上绘制的图案或文字的概念。而且,光可以是设置在其他车辆上的灯产生的光、路灯产生的光或者太阳光。
并且,结构物可以是位于道路周边并固定在地面的物体。例如,结构物可以包括路灯、路边树木、建筑物、电线杆、交通灯和桥梁等。地形物可以包括山、丘等。
所述对象检测装置1140可以包括摄像头模块。控制器1120可以从由摄像头模块拍摄的外部图像提取对象信息并且使得控制器1120处理该信息。
并且,对象检测装置1140还可以包括用于识别外部环境的成像装置。除了LIDAR外,可以使用RADAR、GPS装置、行驶距离检测装置(Odometry)以及计算机视觉装置、超声波传感器、红外传感器,并且这些装置可以根据需要有选择地或同时工作,以实现更精确的感测。
另外,根据本发明一实施例的距离测量装置可以计算自动驾驶移动体1000与对象之间的距离,并且基于连接自动驾驶移动体1000的控制装置1100而计算出的距离可以控制移动体的操作。
根据一例,当根据自动驾驶移动体1000与对象之间的距离而存在碰撞的可能性时,自动驾驶移动体1000可以控制制动器来减速或停止。根据另一例,当对象是移动着的对象时,自动驾驶移动体1000可以控制自动驾驶移动体1000的行驶速度以与对象保持预定距离以上的距离。
根据本发明一实施例的所述距离测量装置可以被配置为自动驾驶移动体1000的控制装置1100内的一个模块。即,控制装置1100的存储器1122和处理器1124可以以软件方式实现根据本发明的防碰撞方法。
并且,传感器1110,与感测模块1004a、1004b、1004c、1004d相连接,从而可以获得移动体内部/外部环境的各种感测信息。在此,传感器1110可以包括姿态传感器(例如,偏航传感器(yaw sensor)、翻滚传感器(roll sensor)、俯仰传感器(pitch sensor))、碰撞传感器、车轮传感器(wheel sensor)、速度传感器、倾斜传感器、重量感测传感器、航向传感器(heading sensor)、陀螺仪传感器(gyro sensor)、位置模块(position module)、移动体前进/后退传感器、电池传感器、燃油传感器、轮胎传感器、与方向盘旋转有关转向传感器、移动体内部温度传感器、移动体内部湿度传感器、超声波传感器、照度传感器、加速踏板位置传感器、制动踏板位置传感器等。
由此,传感器1110可以获得有关移动体姿势信息、移动体碰撞信息、移动体方向信息、移动体位置信息(GPS信息)、移动体角度信息、移动体速度信息、移动体加速度信息、移动体倾斜信息、移动体前进/后退信息、电池信息、燃油信息、轮胎信息、移动体灯信息、移动体内部温度信息、移动体内部湿度信息、方向盘旋转角度、移动体外部照度、施于加速踏板的压力、施于制动踏板的压力等感测信息。
并且此外,传感器1110还可以包括加速踏板传感器、压力传感器、引擎转速传感器(engine speed sensor)、空气流量传感器(AFS)、进气温度传感器(ATS)、水温传感器(WTS)、节气门位置传感器(TPS)、TDC传感器、曲轴转角传感器(CAS)等。
如此,传感器1110可以基于感测数据产生移动体状态信息。
无线通信装置1130被配置为实现自动驾驶移动体1000之间的无线通信。例如,允许自动驾驶移动体1000与用户的移动电话、另一无线通信装置1130、另一移动体、中央装置(交通控制装置)、服务器等进行通信。无线通信装置1130可以根据接入无线协议发送和接收无线信号。无线通信协议可以是Wi-Fi、Bluetooth、Long-Term Evolution(LTE)、CodeDivision Multiple Access(CDMA)、Wideband Code Division Multiple Access(WCDMA)、Global Systems for Mobile Communications(GSM),通信协议并非局限于此。
并且,在本实施例中,自动驾驶移动体1000可以通过无线通信装置1130实现移动体之间的通信。即,无线通信装置1130可以通过车辆对车辆(V2V)通信(vehicle-to-vehicle communication)与道路上的其他移动体以及另外移动体进行通信。自动驾驶移动体1000可以通过车辆间通信发送和接收诸如驾驶警告、交通信息等信息,并且还可以请求或接收来自其他移动体的信息。例如,无线通信装置1130可以利用短距离通信(DSRC,dedicated short-range communication)装置或C-V2V(Cellular-V2V)装置来执行V2V通信。并且,除了车辆间的通信外,车辆与其他事物(例如,行人携带的电子设备等)之间的通信(V2X,Vehicle to Everything communication)也可以通过无线通信装置1130来实现。
而且,无线通信装置1130,可以通过不是地面网络(Terrestrial Network)的非地面网络(Non-Terrestrial Network),将在位于道路的基础设施(交通信号灯、CCTV、RSU、eNode B等)上或者在包含其他自动驾驶(Autonomous Driving)/非自动驾驶(Non-Autonomous Driving)车辆的各种移动性(Mobility)物体上生成的信息,作为用于执行自动驾驶移动体1000之自动驾驶的信息来获得。
例如,无线通信装置1130,可以通过构成非地面网络(Non-Terrestrial Network)的低地球轨道(LEO,Low Earth Orbit)卫星系统、中地球轨道(MEO,Medium Earth Orbit)卫星系统、地球静止轨道(GEO,Geostationary Orbit)卫星系统、高空平台(HAP,HighAltitude Platform)系统等以及安装(mounted)在自动驾驶移动体1000上的非地面网络专用天线,执行无线通信。
例如,无线通信装置1130,根据目前在3GPP等讨论的基于5G NR NTN(5THGeneration New Radio Non-Terrestrial Network)标准的无线接入规范,可以与构成NTN的各种平台执行无线通信,但是并非局限于此。
在本实施例中,控制器1120,通过考虑自动驾驶移动体1000的位置、当前时间、可用电量等各种信息,选择能够适当执行NTN通信的平台,并控制无线通信装置1130与所选择的平台进行无线通信。
在本实施例中,控制器1120是控制移动体1000中各单元总体工作的组件,其可以由移动体的制造商在制造时配置或者在制造后为了执行自动驾驶功能而追加配置。或者,可以包括通过在制造时配置的控制器1120的升级可以持续执行附加功能的配置。该种控制器1120还可以被命名为ECU(Electronic Control Unit)。
控制器1120,从所连接的传感器1110、对象检测装置1140、通信装置1130等收集各种数据,并且基于收集的数据将控制信号传递给移动体内其他构成中包括的传感器1110、引擎1006、用户界面1008、通信装置1130和对象检测装置1140。并且,虽然没有图示,但是也可以向与移动体的行驶有关的加速装置、制动系统、转向装置或导航装置传递控制信号。
在本实施例中,控制器1120可以控制引擎1006,例如,检测自动驾驶移动体1000行驶中的道路的限制速度,而后通过控制引擎1006使得行驶速度不超出限制速度,或者在不超出限制速度的范围内通过控制引擎1006对自动驾驶移动体1000的行驶速度进行加速。
并且,控制器1120,如果自动驾驶移动体1000在行驶中接近或偏离车道线,则判断这种接近或偏离车道线是否为正常行驶状况或其以外的行驶状况,并根据判断结果控制引擎1006以控制移动体的行驶。具体来讲,自动驾驶移动体1000可以检测在移动体行驶中的车道两侧形成的车道线。此时,控制器1120判断自动驾驶移动体1000是否接近或偏离车道线,如果判断为自动驾驶移动体1000接近或偏离车道线,则判断这样的行驶是基于正确的行驶状况还是基于其以外的行驶状况。在此,作为正常行驶状况的例子,可以是移动体需要变更车道的情形。并且,作为其以外行驶状况的例子,可以是移动体不需要变更车道的情形。如果控制器1120判断为在移动体不需要变更车道的情形下自动驾驶移动体1000接近或偏离了车道线,则控制自动驾驶移动体1000的行驶以使自动驾驶移动体1000不偏离车道线而正常行驶。
当在移动体的前方存在其他移动体或障碍物时,控制引擎1006或制动系统以使行驶中的移动体减速,而且除了速度以外还可以控制轨迹、行驶路径、转向角等。并且,控制器1120,根据移动体的行驶车道线、行驶信号等其他外部环境的识别信息,生成必要的控制信号,从而可以控制移动体的行驶。
控制器1120,除了生成自主性的控制信号以外,还可以通过与周边的移动体或中央服务器进行通信而接收到的信息,传送用于控制周边装置的命令,并以此控制移动体的行驶。
并且,当摄像头模块的位置发生变更或视角发生变更时,难以正确识别根据本实施例的移动体或车道线,为此控制器1120可以生成用于控制执行摄像头模块的校准(calibration)的控制信号。由此在本实施例中,控制器1120向摄像头模块生成校准控制信号,从而根据自动驾驶移动体1000的运动所产生的振动或冲击等即便使摄像头模块的安装位置发生了变更,也可以持续保持摄像头模块正常的安装位置、方向和视角等。当预存储的摄像头模块的最初安装位置、方向、视角信息和自动驾驶移动体1000的行驶中检测的摄像头模块的安装位置、方向、视角信息等之间产生临界值以上的不同时,控制器1120可以生成使得摄像头模块执行校准的控制信号。
在本实施例中,控制器1120可以包括存储器1122和处理器1124。处理器1124可以根据来自控制器1120的控制信号执行存储在存储器1122中的软件。具体来讲,控制器1120将用于执行根据本发明的车道线检测方法的数据和命令存储在存储器1122中,而命令可以由处理器1124执行以实现本文公开的一种以上的方法。
此时,存储器1122可以存储在能由处理器1124执行的非易失性记录介质中。存储器1122可以通过适当的内部和外部装置存储软件和数据。存储器1122可以由RAM(randomaccess memory)、ROM(read only memory)、硬盘、与加密狗连接的存储器1122装置构成。
存储器1122至少可以存储操作系统(OS,Operating system)、用户应用程序、可执行命令。存储器1122还可以存储应用数据、阵列数据结构。
处理器1124是微处理器或合适的电子处理器,其可以是控制器、微控制器或状态机。
处理器1124可以由计算装置的组合而实现,并且计算装置可以由数字信号处理器、微处理器或它们的适当组合而构成。
另外,自动驾驶移动体1000还可以包括用户界面1008,用于向上述的控制装置1100执行用户输入。用户界面1008可以允许用户以适当的交互动作输入信息。例如,可以由触摸屏、键盘、操作按钮等实现。用户界面1008将输入或命令发送到控制器1120,控制器1120响应于输入或命令而能够执行移动体的控制操作。
并且,用户界面1008可以使得自动驾驶移动体1000通过无线通信装置1130与自动驾驶移动体1000外部的装置进行通信。例如,用户界面1008可以实现与移动电话、平板电脑或其他计算机装置的交互。
另外,虽然在本实施例中自动驾驶移动体1000被描述为包括引擎1006,但是也可以包括其他类型的推进系统。例如,移动体可以由电能运行,还可以通过氢能或作为其组合的混合系统来运行。因此,控制器1120包括基于自动驾驶移动体1000的推进系统的推进机制,从而可以将相应的控制信号提供至各推进机制的构成中。
以下,参照图11详细描述根据本实施例的控制装置1100的详细构成。
控制装置1100包括处理器1124。处理器1124可以是通用单芯片或多芯片微处理器、专用微处理器、微控制器、可编程门阵列等。处理器也可以被称为中央处理装置(CPU)。并且在本实施例中,处理器1124还可以由多个处理器的组合来使用。
控制装置1100还包括存储器1122。存储器1122可以是能够存储电子信息的任何电子部件。存储器1122除了单一存储器之外,也可以包括多个存储器1122的组合。
用于执行本发明距离测量装置的距离测量方法的数据和指令1122a可以存储在存储器1122中。当处理器1124执行指令1122a时,执行指令1122a和命令所需的全部或部分数据1122b可以加载到处理器1124上。
控制装置1100可包括发射器1130a、接收器1130b或收发器1130c,以允许发送和接收信号。一个以上的天线1132a、1132b可以电连接到发射器1130a、接收器1130b或各收发器1130c,并且可以追加包括天线。
控制装置1100可以包括数字信号处理器(DSP)1170。通过DSP 1170,可以使得移动体快速处理数字信号。
控制装置1100还可以包括通信接口1180。通信接口1180可以包括用于将其他装置连接到控制装置1100的一个以上的端口和/或通信模块。通信接口1180可以允许用户和控制装置1100进行交互。
控制装置1100的各个构成可以通过一个以上的总线1190相互连接,并且总线1190可以包括电源总线、控制信号总线、状态信号总线、数据总线等。通过处理器1124的控制,各构成可以通过总线1190相互传送信息并执行期望的功能。
另外,在各种实施例中,控制装置1100为了与安全云进行通信而可以与网关相关联。例如,参照图12,控制装置1100可以与网关1205相关联,用于将从车辆1200的构成要素1201至1204中的至少一个获取的信息提供给安全云1206。例如,网关1205可以包括在控制装置1100中。根据另一例,网关1205可以被配置为车辆1200内的与控制装置1100不同的单独装置。网关1205连接具有不同网络的软件管理云1209、安全云1206以及由车载安全软件1210得以保护的车辆1200内网络。
例如,构成要素1201可以是传感器。例如,所述传感器可用于获得关于车辆1200的状态或车辆1200周围的状态中的至少一者的信息。例如,构成要素1201可以包括传感器1110。
例如,构成要素1202可以是ECU(electronic control unit)。例如,所述ECU可用于引擎控制、变速器控制、安全气囊控制、轮胎气压管理。
例如,构成要素1203可以是仪表组(instrument cluster)。例如,所述仪表组可以是仪表板(dashboard)中位于驾驶座正面的面板。例如,所述仪表组可以被配置为向驾驶员(或乘客)显示驾驶所需的信息。例如,所述仪表组可以展示用于指示引擎每分钟转数(RPM,revolutions per minute或者rotate per minute)的视觉要素、用于指示车辆1200速度的视觉要素、用于指示剩余燃油量的视觉要素、用于指示齿轮状况的视觉要素、用于指示通过构成要素1201获得的信息的视觉要素中的至少一个。
例如,构成要素1204可以是远程信息处理(telematics)装置。例如,所述远程信息处理装置可以是通过结合无线通信技术和GPS(global positioning system)技术,在车辆内提供位置信息、安装驾驶等各种移动通信服务的装置。例如,所述远程信息处理装置可用于将车辆1200连接到驾驶员、云(例如,安全云1206)和/或周边环境。例如,所述远程信息处理装置为了5G NR规范技术(例如,5G NR的V2X技术、5G NR的NTN(Non-TerrestrialNetwork)技术),可以支持高带宽和低延迟。例如,所述远程信息处理装置可以支持车辆1200的自动驾驶。
例如,网关1205可以用于连接车辆1200内网络和作为车辆外网络的软件管理云1209和安全云1206。例如,软件管理云1209可用于更新或管理对车辆1200的驾驶和管理所需的至少一种软件。例如,软件管理云1209可以与安装在车辆内的车载安全软件(in-carsecurity software)1210联动。例如,车载安全软件1210可用于提供车辆1200内的安全功能。例如,车载安全软件1210,为了加密车辆内网络,利用从外部的授权(authorized)服务器获得的加密密钥,可以对通过车内网络发送和接收的数据进行加密。在各种实施例中,车载安全软件1210所使用的所述加密密钥,可以响应于车辆识别信息(车辆牌照、车辆识别号(VIN,vehicle identification number))或唯一分配给每个用户的信息(例如,用户识别信息)而生成。
在各种实施例中,网关1205可以将由车载安全软件1210基于所述加密密钥加密的数据发送到软件管理云1209和/或安全云1206。软件管理云1209和/或安全云1206,使用能够解密数据的解密密钥(Decryption Key)对车载安全软件1210利用所述加密密钥(Encryption Key)加密的所述数据进行解密,从而可以识别是从哪个车辆或哪个用户接收的数据。例如,由于所述解密密钥是与加密密钥相对应的唯一密钥,因此软件管理云1209和/或安全云1206可以基于通过所述解密密钥解密的所述数据来识别所述数据的发送主体(例如,所述车辆或所述用户)。
例如,网关1205被配置为支持车载安全软件1210,并且可以与控制装置1100相关联。例如,网关1205可以与控制装置900相关联,以支持控制装置900和连接到安全云1206的客户端设备1207之间的连接。根据另一例,网关1205可以与控制装置900相关联,以支持控制装置900和连接到安全云1206的第三方云(third party cloud)1208之间的连接。但是,并非局限于此。
在各种实施例中,网关1205可以用于将车辆1200与用于管理车辆1200的操作软件的软件管理云1209相连接。例如,软件管理云1209,监测是否需要更新车辆1200的操作软件,并基于监测到车辆1200的操作软件需要更新,通过网关1205可以提供用于更新车辆1200的操作软件的数据。根据另一例,软件管理云1209,通过网关1205从车辆1200接收用于更新车辆1200的操作软件的用户请求,并基于所述接收可以提供用于更新车辆1200的操作软件的数据。但是,并非局限于此。
图13是根据一实施例的电子装置101的框图。图13的电子装置101可以包括图1至图12的电子装置。
参照图13,电子装置101的处理器1310可以执行与存储在存储器1320中的神经网络1330相关的计算(computations)。处理器1310可以包括CPU(center processing unit)、GPU(graphic processing unit)或NPU(neural processing unit)中的至少一个。NPU可以构成为与CPU分离的芯片,或者以SoC(system on a chip)的形式集成(integrated)到如CPU等芯片中。集成于CPU的NPU可以被称为神经核心(neural core)和/或人工智能(AI,artificial intelligence)加速器。
参照图13,处理器1310可以识别存储在存储器1320中的神经网络1330。神经网络1330可以包括输入层(Input layer)1332、一个以上的隐藏层(Hidden layers)1334(或者,中间层(Intermediate layers))和输出层(Output layers)1336的组合。上述的层(例如,输入层1332、一个以上的隐藏层1334以及输出层1336)可以包括多个节点。隐藏层1334的数量可以根据实施例而变化,并且包括多个隐藏层1334的神经网络1330可以被称为深度(deep)神经网络。训练所述深度神经网络的操作可以被称为深度学习(deep learning)。
在一实施例中,当神经网络1330具有前馈神经网络(feed forward neuralnetwork)的结构时,包括在特定层中的第一节点可以连接到在所述特定层之前的其他层中所包括的所有第二节点。在存储器1320中,为了神经网络1330所存储的参数,可以包括分配(assigned)给所述第二节点和所述第一节点之间的连接的权重(weight)。在具有前馈神经网络结构的神经网络1330中,所述第一节点的值可以对应于:基于分配给连接所述第二节点和所述第一节点的连接上的权重的、分配给所述第二节点的值的加权和(weightedsum)。
在一实施例中,当神经网络1330具有卷积(convolution)神经网络的结构时,包括在特定层中的第一节点可以对应于包括在所述特定层之前的其他层中的一部分第二节点的加权和。与所述第一节点相对应的所述一部分第二节点可以通过与所述特定层相对应的过滤器来得以识别。在存储器1320中,为了神经网络1330所存储的参数可以包括表示所述过滤器的权重。过滤器可以包括:在所述第二节点中用于计算所述第一节点的加权和的一个以上的节点,以及与所述一个以上的节点分别相对应的权重。
根据一实施例,电子装置101的处理器1310可以使用存储在存储器1320中的学习数据集1340对神经网络1330执行训练。基于学习数据集1340,处理器1310可以调整为了神经网络1330而存储在存储器1320中的一个以上的参数。
根据一实施例,电子装置101的处理器1310可以使用基于学习数据集1340所训练的神经网络1330来执行对象检测、对象识别和/或对象分类。处理器1310可以将通过摄像头1350获取的图像(或视频)输入到神经网络1330的输入层1332。基于图像被输入的输入层1332,处理器1310按序获得神经网络1330中包括的层的节点的值,从而可以获得输出层1336的节点的值的集(例如,输出数据)。所述输出数据可以用作使用神经网络1330推断所述图像中所包括信息的结果。实施例并非局限于此,处理器1310可以将从通过通信电路1360连接到电子装置101的外部电子设备获取的图像(或视频)输入到神经网络1330。
在一实施例中,为了处理图像而得以训练的神经网络1330,可以用于识别所述图像内对应于被摄体的区域(对象检测)和/或识别在所述图像内表示的被摄体的类别(对象识别和/或对象分类)。例如,电子装置101,可以利用神经网络1330基于诸如边界框等长方形形状来分割(segment)所述图像中与所述被摄体相对应的区域。例如,电子装置101可以利用神经网络1330从多个指定类别中识别与所述被摄体匹配的至少一个类别。
如上所述,根据一实施例的电子装置(electronic device)可以包括摄像头和处理器。所述处理器,可以从利用所述摄像头获得的图像获取表示与外部对象相关的部分的顶点(vertices)的二维坐标值。所述处理器,可以识别在所述图像中包括的基准平面上沿着基准方向延伸且与所述顶点中的第一顶点相重叠的第一线,以及连接所述图像中的基准点和所述顶点中的第二顶点的第二线。所述处理器,基于所述第一线和所述第二线的交叉点(intersection),可以获得用于表示与所述外部对象相对应的三维外部空间中各顶点的三维坐标值。
例如,所述处理器,可以识别连接所述部分的顶点中的第三顶点和与所述交叉点对应的二维地点的第三线。所述处理器,可以识别连接所述第一顶点和所述第二顶点的第四线与所述第三线的交叉点。所述处理器,将对所述第四线与所述第三线的所述交叉点执行反投影所识别的三维地点,确定为与所述外部对象对应的所述外部空间内所述顶点中的某一顶点。
例如,所述处理器,将从所述三维地点沿着所述基准方向延伸的第五线与连接所述第一顶点和所述部分的顶点中的第四顶点的第六线相互交叉的交叉点所对应的三维地点,确定为所述外部空间内所述顶点中的另一顶点。
例如,所述处理器,将从所述三维地点沿着垂直于所述基准方向的另一方向延伸的第七线与连接所述第二顶点和所述第三顶点的第八线相互交叉的交叉点所对应的三维地点,确定为所述外部空间内所述顶点中的另外顶点。
例如,所述处理器,可以利用为了对象识别而训练的神经网络来获得所述二维坐标值。
例如,所述处理器,利用所述摄像头的内在参数(intrinsic parameter),可以补偿包含在所述图像中且由所述摄像头的透镜引起的失真。
例如,所述处理器,可以获得所述失真得以补偿的图像中对所述部分的所述二维坐标值。
如上所述,根据一实施例的电子装置的方法,可以包括步骤:从利用所述电子装置的摄像头所获得的图像,获取表示与外部对象相关的部分的顶点的二维坐标值。所述方法,可以包括步骤:识别在所述图像中包括的基准平面上沿着基准方向延伸且与所述顶点中的第一顶点相重叠的第一线,以及连接所述图像中的基准点和所述顶点中的第二顶点的第二线。所述方法,可以包括步骤:基于所述第一线和所述第二线的交叉点,获得用于表示与所述外部对象相对应的三维外部空间中各顶点的三维坐标值。
例如,上述获得三维坐标值的步骤,可以包括:识别连接所述部分的顶点中的第三顶点和与所述交叉点对应的二维地点的第三线。上述获得三维坐标值的步骤,可以包括:识别连接所述第一顶点和所述第二顶点的第四线与所述第三线的交叉点。上述获得三维坐标值的步骤,可以包括:将对所述第四线与所述第三线的所述交叉点执行反投影所识别的三维地点,确定为与所述外部对象对应的所述外部空间内所述顶点中的某一顶点。
例如,上述获得三维坐标值的步骤,可以包括:将从所述三维地点沿着所述基准方向延伸的第五线与连接所述第一顶点和所述部分的顶点中的第四顶点的第六线相互交叉的交叉点所对应的三维地点,确定为所述外部空间内所述顶点中的另一顶点。
例如,上述获得三维坐标值的步骤,可以包括:将从所述三维地点沿着垂直于所述基准方向的另一方向延伸的第七线与连接所述第二顶点和所述第三顶点的第八线相互交叉的交叉点所对应的三维地点,确定为所述外部空间内所述顶点中的另外顶点。
例如,上述获得二维坐标值的步骤,可以包括:利用为了对象识别而训练的神经网络来获得所述二维坐标值。
例如,所述方法,可以包括:利用所述摄像头的内在参数(intrinsic parameter),补偿包含在所述图像中且由所述摄像头的透镜引起的失真。
例如,上述获得二维坐标值的步骤,可以包括:获得所述失真得以补偿的图像中对所述部分的所述二维坐标值。
如上所述,根据一实施例的计算机可读存储介质,可以包括指令。当所述指令由电子装置的处理器执行时,可以使得所述电子装置执行如下的方法:从利用所述电子装置的摄像头所获得的图像,获取表示与外部对象相关的部分的顶点的二维坐标值。当所述指令由电子装置的处理器执行时,可以使得所述电子装置执行如下的方法:识别在所述图像中包括的基准平面上沿着基准方向延伸且与所述顶点中的第一顶点相重叠的第一线,以及连接所述图像中的基准点和所述顶点中的第二顶点的第二线。当所述指令由电子装置的处理器执行时,可以使得所述电子装置执行如下的方法:基于所述第一线和所述第二线的交叉点,获得用于表示与所述外部对象相对应的三维外部空间中各顶点的三维坐标值。
例如,当所述指令由电子装置的处理器执行时,可以使得所述电子装置执行如下的方法:识别连接所述部分的顶点中的第三顶点和与所述交叉点对应的二维地点的第三线。当所述指令由电子装置的处理器执行时,可以使得所述电子装置执行如下的方法:识别连接所述第一顶点和所述第二顶点的第四线与所述第三线的交叉点。当所述指令由电子装置的处理器执行时,可以使得所述电子装置执行如下的方法:将对所述第四线与所述第三线的所述交叉点执行反投影所识别的三维地点,确定为与所述外部对象对应的所述外部空间内所述顶点中的某一顶点。
例如,当所述指令由电子装置的处理器执行时,可以使得所述电子装置执行如下的方法:将从所述三维地点沿着所述基准方向延伸的第五线与连接所述第一顶点和所述部分的顶点中的第四顶点的第六线相互交叉的交叉点所对应的三维地点,确定为所述外部空间内所述顶点中的另一顶点。
例如,当所述指令由电子装置的处理器执行时,可以使得所述电子装置执行如下的方法:将从所述三维地点沿着垂直于所述基准方向的另一方向延伸的第七线与连接所述第二顶点和所述第三顶点的第八线相互交叉的交叉点所对应的三维地点,确定为所述外部空间内所述顶点中的另外顶点。
例如,当所述指令由电子装置的处理器执行时,可以使得所述电子装置执行如下的方法:利用为了对象识别而训练的神经网络来获得所述二维坐标值。
例如,当所述指令由电子装置的处理器执行时,可以使得所述电子装置执行如下的方法:利用所述摄像头的内在参数(intrinsic parameter),补偿包含在所述图像中且由所述摄像头的透镜引起的失真。
Claims (20)
1.一种电子装置,包括:
摄像头;以及
处理器;
其中,所述处理器,
从利用所述摄像头获得的图像,获取表示与外部对象相关的部分的顶点的二维坐标值;
识别在所述图像中包括的基准平面上沿着基准方向延伸且与所述顶点中的第一顶点相重叠的第一线,以及连接所述图像中的基准点和所述顶点中的第二顶点的第二线;
基于所述第一线和所述第二线的交叉点,获得表示与所述外部对象相对应的三维外部空间中各顶点的三维坐标值。
2.如权利要求1所述的电子装置,其特征在于,所述处理器,
识别连接所述部分的顶点中的第三顶点和与所述交叉点对应的二维地点的第三线;
识别连接所述第一顶点和所述第二顶点的第四线与所述第三线的交叉点;
将对所述第四线与所述第三线的所述交叉点执行反投影所识别的三维地点,确定为与所述外部对象对应的所述外部空间内所述顶点中的某一顶点。
3.如权利要求2所述的电子装置,其特征在于,所述处理器,
将从所述三维地点沿着所述基准方向延伸的第五线与连接所述第一顶点和所述部分的顶点中的第四顶点的第六线相互交叉的交叉点所对应的三维地点,确定为所述外部空间内所述顶点中的另一顶点。
4.如权利要求2所述的电子装置,其特征在于,所述处理器,
将从所述三维地点沿着垂直于所述基准方向的另一方向延伸的第七线与连接所述第二顶点和所述第三顶点的第八线相互交叉的交叉点所对应的三维地点,确定为所述外部空间内所述顶点中的另外顶点。
5.如权利要求1所述的电子装置,其特征在于,所述处理器,
利用为了对象识别而训练的神经网络来获得所述二维坐标值。
6.如权利要求1所述的电子装置,其特征在于,所述处理器,
利用所述摄像头的内在参数,补偿包含在所述图像中且由所述摄像头的透镜引起的失真。
7.如权利要求6所述的电子装置,其特征在于,所述处理器,
获得所述失真得以补偿的图像中对所述部分的所述二维坐标值。
8.一种电子装置的方法,包括如下步骤:
从利用所述电子装置的摄像头所获得的图像,获取表示与外部对象相关的部分的顶点的二维坐标值;
识别在所述图像中包括的基准平面上沿着基准方向延伸且与所述顶点中的第一顶点相重叠的第一线,以及连接所述图像中的基准点和所述顶点中的第二顶点的第二线;
基于所述第一线和所述第二线的交叉点,获得用于表示与所述外部对象相对应的三维外部空间中各顶点的三维坐标值。
9.如权利要求8所述的电子装置的方法,其特征在于,上述获得三维坐标值的步骤,包括:
识别连接所述部分的顶点中的第三顶点和与所述交叉点对应的二维地点的第三线;
识别连接所述第一顶点和所述第二顶点的第四线与所述第三线的交叉点;
将对所述第四线与所述第三线的所述交叉点执行反投影所识别的三维地点,确定为与所述外部对象对应的所述外部空间内所述顶点中的某一顶点。
10.如权利要求9所述的电子装置的方法,其特征在于,上述获得三维坐标值的步骤,包括:
将从所述三维地点沿着所述基准方向延伸的第五线与连接所述第一顶点和所述部分的顶点中的第四顶点的第六线相互交叉的交叉点所对应的三维地点,确定为所述外部空间内所述顶点中的另一顶点。
11.如权利要求9所述的电子装置的方法,其特征在于,上述获得三维坐标值的步骤,包括:
将从所述三维地点沿着垂直于所述基准方向的另一方向延伸的第七线与连接所述第二顶点和所述第三顶点的第八线相互交叉的交叉点所对应的三维地点,确定为所述外部空间内所述顶点中的另外顶点。
12.如权利要求8所述的电子装置的方法,其特征在于,上述获得二维坐标值的步骤,包括:
利用为了对象识别而训练的神经网络来获得所述二维坐标值。
13.如权利要求8所述的电子装置的方法,其特征在于,还包括:
利用所述摄像头的内在参数,补偿包含在所述图像中且由所述摄像头的透镜引起的失真。
14.如权利要求13所述的电子装置的方法,其特征在于,上述获得二维坐标值的步骤,包括:
获得所述失真得以补偿的图像中对所述部分的所述二维坐标值。
15.一种计算机可读存储介质,包括指令,当所述指令由电子装置的处理器执行时,使得所述电子装置执行如下的方法:
从利用所述电子装置的摄像头所获得的图像,获取表示与外部对象相关的部分的顶点的二维坐标值;
识别在所述图像中包括的基准平面上沿着基准方向延伸且与所述顶点中的第一顶点相重叠的第一线,以及连接所述图像中的基准点和所述顶点中的第二顶点的第二线;
基于所述第一线和所述第二线的交叉点,获得用于表示与所述外部对象相对应的三维外部空间中各顶点的三维坐标值。
16.如权利要求15所述的计算机可读存储介质,其特征在于,当所述指令由电子装置的处理器执行时,使得所述电子装置执行如下的方法:
识别连接所述部分的顶点中的第三顶点和与所述交叉点对应的二维地点的第三线;
识别连接所述第一顶点和所述第二顶点的第四线与所述第三线的交叉点;
将对所述第四线与所述第三线的所述交叉点执行反投影所识别的三维地点,确定为与所述外部对象对应的所述外部空间内所述顶点中的某一顶点。
17.如权利要求16所述的计算机可读存储介质,其特征在于,当所述指令由电子装置的处理器执行时,使得所述电子装置执行如下的方法:
将从所述三维地点沿着所述基准方向延伸的第五线与连接所述第一顶点和所述部分的顶点中的第四顶点的第六线相互交叉的交叉点所对应的三维地点,确定为所述外部空间内所述顶点中的另一顶点。
18.如权利要求16所述的计算机可读存储介质,其特征在于,当所述指令由电子装置的处理器执行时,使得所述电子装置执行如下的方法:
将从所述三维地点沿着垂直于所述基准方向的另一方向延伸的第七线与连接所述第二顶点和所述第三顶点的第八线相互交叉的交叉点所对应的三维地点,确定为所述外部空间内所述顶点中的另外顶点。
19.如权利要求15所述的计算机可读存储介质,其特征在于,当所述指令由电子装置的处理器执行时,使得所述电子装置执行如下的方法:
利用为了对象识别而训练的神经网络来获得所述二维坐标值。
20.如权利要求15所述的计算机可读存储介质,其特征在于,当所述指令由电子装置的处理器执行时,使得所述电子装置执行如下的方法:
利用所述摄像头的内在参数,补偿包含在所述图像中且由所述摄像头的透镜引起的失真。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0094678 | 2022-07-29 | ||
KR1020230090943A KR20240016886A (ko) | 2022-07-29 | 2023-07-13 | 카메라의 정보를 이용하여 이미지와 관련된 외부 객체의위치를 식별하기 위한 전자 장치 및 그 방법 |
KR10-2023-0090943 | 2023-07-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117475390A true CN117475390A (zh) | 2024-01-30 |
Family
ID=89624492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310938233.5A Pending CN117475390A (zh) | 2022-07-29 | 2023-07-28 | 利用摄像头信息识别外部对象位置的电子装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117475390A (zh) |
-
2023
- 2023-07-28 CN CN202310938233.5A patent/CN117475390A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11312372B2 (en) | Vehicle path prediction | |
JP7314798B2 (ja) | 撮像装置、画像処理装置、及び、画像処理方法 | |
CN110574357B (zh) | 成像控制设备、用于控制成像控制设备的方法以及移动体 | |
US11605290B2 (en) | Updating maps based on traffic object detection | |
US20170359561A1 (en) | Disparity mapping for an autonomous vehicle | |
WO2020116195A1 (ja) | 情報処理装置、情報処理方法、プログラム、移動体制御装置、及び、移動体 | |
WO2020116206A1 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
WO2020116194A1 (ja) | 情報処理装置、情報処理方法、プログラム、移動体制御装置、及び、移動体 | |
US20210362727A1 (en) | Shared vehicle management device and management method for shared vehicle | |
US20230370709A1 (en) | Imaging device, information processing device, imaging system, and imaging method | |
WO2022153896A1 (ja) | 撮像装置、画像処理方法及び画像処理プログラム | |
US20240161514A1 (en) | Electronic device and method for vehicle which enhances driving environment related function | |
WO2023021755A1 (ja) | 情報処理装置、情報処理システム、モデル及びモデルの生成方法 | |
CN113646769A (zh) | 用于图像归一化的系统和方法 | |
US11830254B2 (en) | Outside environment recognition device | |
CN117475390A (zh) | 利用摄像头信息识别外部对象位置的电子装置及其方法 | |
US20240037781A1 (en) | Electronic device for identifying position of external object associated with image by using information of camera and method thereof | |
CN112567427B (zh) | 图像处理装置、图像处理方法和程序 | |
US20220237899A1 (en) | Outside environment recognition device | |
KR20240016886A (ko) | 카메라의 정보를 이용하여 이미지와 관련된 외부 객체의위치를 식별하기 위한 전자 장치 및 그 방법 | |
US20240362886A1 (en) | Electronic device for identifying external object based on inputting partial area of image to neural network | |
WO2024106196A1 (ja) | 固体撮像装置および電子機器 | |
EP4456018A1 (en) | Electronic device for identifying external object based on inputting partial area of image to neural network | |
WO2024062842A1 (ja) | 固体撮像装置 | |
US20240161513A1 (en) | Electronic Device and method for Vehicle which Enhances Parking Related Function Based on Artificial Intelligence |
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 |