CN115380527A - 用于自主车辆远程操作的图像质量增强 - Google Patents
用于自主车辆远程操作的图像质量增强 Download PDFInfo
- Publication number
- CN115380527A CN115380527A CN202180027521.4A CN202180027521A CN115380527A CN 115380527 A CN115380527 A CN 115380527A CN 202180027521 A CN202180027521 A CN 202180027521A CN 115380527 A CN115380527 A CN 115380527A
- Authority
- CN
- China
- Prior art keywords
- image
- autonomous vehicle
- images
- combined image
- pixel regions
- 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 claims abstract description 102
- 238000012545 processing Methods 0.000 claims abstract description 82
- 238000004891 communication Methods 0.000 claims description 55
- 238000003860 storage Methods 0.000 claims description 30
- 238000010801 machine learning Methods 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 description 60
- 230000007246 mechanism Effects 0.000 description 39
- 238000007726 management method Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 23
- 238000012800 visualization Methods 0.000 description 15
- 238000013024 troubleshooting Methods 0.000 description 13
- 230000004304 visual acuity Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000002156 mixing Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 230000004438 eyesight Effects 0.000 description 6
- 239000012634 fragment Substances 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012805 post-processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000036541 health Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 239000000428 dust Substances 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 235000019580 granularity Nutrition 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241001622623 Coeliadinae Species 0.000 description 1
- 235000015842 Hesperis Nutrition 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 235000012633 Iberis amara Nutrition 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000005802 health problem Effects 0.000 description 1
- 244000144980 herd Species 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0038—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with simple or augmented images from one or more cameras located onboard the vehicle, e.g. tele-operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- 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/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- 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/90—Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
-
- 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/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Traffic Control Systems (AREA)
- Image Processing (AREA)
- Closed-Circuit Television Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本文公开了用于自主车辆远程操作的图像质量增强的技术。自主车辆的图像处理系统可以获得由至少两个不同的摄像头捕获的图像并且将图像拼接在一起以创建组合图像。图像处理系统可以将区域模糊化应用于组合图像的一部分以创建增强组合图像,例如,以使被确定为对于远程操作不太重要(或不重要)的区域/对象模糊。图像处理系统可以使用相应的像素区域的对应的质量设置对增强组合图像的像素区域进行编码,以例如基于相应的像素区域的复杂度等级创建编码图像文件。图像处理系统可以将编码图像文件传输到与自主车辆相关联的远程操作系统以用于远程操作支持。
Description
相关申请的交叉引用
本申请要求于2020年6月4日提交的题为“增强自主车辆远程操作中的可操作性的方法和装置”的美国临时专利申请第63/034,609号的优先权,该美国临时专利申请的全部内容通过引用并入本文。
技术领域
本公开总体上涉及提供用于促进自主车辆的远程操作的图像质量增强。
背景技术
使用自主车辆处理并且递送货物和服务将改善社会,例如,通过允许人们在等待自主车辆递送货物的同时从事生产性工作,而不是花时间获取货物。随着自主车辆的使用越来越多,安全地操作自主车辆的能力变得越来越重要。
附图说明
图1是根据示例实施例的可以实现用于自主车辆远程操作的图像质量增强的技术的自主车辆车队的图示。
图2是根据示例实施例的可以实现用于自主车辆远程操作的图像质量增强的技术的自主车辆的一侧的视图。
图3是根据示例实施例的图2的自主车辆的摄像头组件的一侧的视图。
图4是根据示例实施例的图3的摄像头组件的横截面俯视图。
图5是根据示例实施例的示出图3的摄像头组件中的摄像头的水平视野的图示。
图6是根据示例实施例的示出可以被包括在自主车辆中的摄像头的竖直视野的图示。
图7是根据示例实施例的示出可以被包括在自主车辆中的特定摄像头的水平视野的图示。
图8是根据示例实施例的自主车辆的功能组件的框图表示。
图9是根据示例实施例的可以实现用于自主车辆远程操作的图像质量增强的技术的互连自主车辆车队生态系统的功能组件的框图表示。
图10是根据示例实施例的描绘为自主车辆提供远程操作的远程操作子系统的高级操作流程的图示。
图11是根据示例实施例的描绘用于自主车辆远程操作的图像质量增强的高级操作流程的图示。
图12是根据示例实施例的用于自主车辆远程操作的图像质量增强的图像处理系统的功能组件的框图表示。
图13是根据示例实施例的示出用于自主车辆远程操作的图像质量增强的拼接操作的图示。
图14是根据示例实施例的示出用于自主车辆远程操作的图像质量增强的模糊化操作的图示。
图15A和图15B是根据示例实施例的示出可以在用于改进自主车辆远程操作的图像质量增强的模糊化操作的操作中使用的热图的图示。
图16是根据示例实施例的示出使用用于自主车辆远程操作的图像质量增强的技术生成的增强组合图像的图示。
图17是根据示例实施例的示出用于自主车辆远程操作的图像质量增强的分级操作的图示。
图18是根据示例实施例的提供用于促进自主车辆的远程操作的图像质量增强的方法的流程图。
图19是根据示例实施例的创建用于自主车辆远程操作的图像质量增强的拼接图像的方法的流程图。
图20是根据示例实施例的用于将选择模糊化应用于自主车辆远程操作的图像质量增强的图像的方法的流程图。
图21是根据示例实施例的用于自主车辆远程操作的图像质量增强的分级视频编码的方法的流程图。
图22是根据示例实施例的使用已经根据本文描述的技术被增强的图像为自主车辆提供远程操作支持的方法的流程图。
图23是根据示例实施例的被配置为执行与本文描述的技术相关联的功能的计算设备的框图。
具体实施方式
概述
在一个实施例中,自主车辆的图像处理系统可以被配置为获得从自主车辆的至少两个不同的摄像头捕获的多个图像。每个图像可以包括,例如,静止图像或视频图像。图像处理系统可以将图像拼接在一起以创建组合图像。例如,拼接可以包括用来自第二图像的像素替换来自第一图像的像素,第一图像和第二图像分别来自第一摄像头和第二摄像头。第一摄像头可以(但不一定)具有比第二摄像头更大的视野(FOV)。
图像处理系统可以将模糊化应用于组合图像的一部分以创建增强组合图像。例如,模糊化可以包括对组合图像中的一个或多个区域和/或对象进行模糊化,这些区域和/或对象被图像处理系统确定为对于远程操作支持处理目的不太重要(或不重要)。其他区域和/或对象可能不会被模糊化。图像处理系统可以使用相应的像素区域的对应质量设置对增强组合图像的多个像素区域进行编码,以创建多个编码图像文件。例如,相应的像素区域中的每个特定的像素区域的质量设置可以(但不一定)与相应的像素区域中的该特定的像素区域的复杂度等级相对应。图像处理系统可以将编码图像文件传输到与自主车辆相关联的远程操作系统以用于远程操作支持。
示例实施例
为了确保自主车辆的安全操作,远程操作系统(有时称为“远程支持系统”)通常用于为自主车辆提供远程协助。远程操作系统是实体上与自主车辆分开并且包括用于协助自主车辆的一个或多个基于计算机的进程的系统。例如,远程操作系统可以包括人类操作员可以用来控制和指挥自主车辆的操作的一个或多个远程操作或远程控制机制。此外或替代地,远程操作系统可以包括一个或多个车辆协助机制,通过这些车辆协助机制,监督、信息和/或其他输入可以被提供给自主车辆,而无论自主车辆是否被远程操作系统控制。
为了提供高效的协助,远程操作系统从自主车辆获得关于自主车辆的操作的信息。该信息通常包括由自主车辆上的摄像头捕获的图像(静止和/或视频)。例如,图像可以包括一些或全部自主车辆和/或自主车辆在其中操作的环境的视图。远程操作系统的人类操作员和/或一个或多个基于计算机的进程可以使用来自图像的信息来做出关于自主车辆的操作的决策。例如,人类操作员和/或基于计算机的进程可以使用该信息来辅助自主车辆在事故现场、指挥交通的交通管理员/警察、红路灯闪烁的人行横道、坑洼、施工区域或其他障碍物周围导航,或解决诸如鸣笛车辆、紧急警报器、尾随车辆等之类的情景问题。
由自主车辆提供的图像的质量会影响远程操作系统提供高效支持的能力。例如,低分辨率图像可能会阻止远程操作系统和/或远程人类操作员能够足够清楚地“看到”自主车辆环境,而无法做出关于适当的远程协助操作的明智决策。图像质量可能会受到例如将图像从自主车辆传输到远程操作系统的可用网络比特率的影响。例如,可用的网络比特率可能不足以从摄像头提供高质量图像。
在示例实施例中,自主车辆的图像处理系统可以被配置为在将图像数据传输到远程操作系统之前处理图像数据以选择性地提高图像质量。例如,图像处理系统可以处理图像数据以优先考虑图像数据的被选择的部分,使得这些被选择的部分比图像数据的优先级较低的部分具有更高的分辨率和/或更精细的编码。例如,被优先考虑的部分可以与图像中对自主车辆的操作更可能是重要的区域和/或对象相对应。例如,图像处理系统可以优先考虑图像数据的与邻近车辆、交通灯、交通标志、路边或行人对应的部分,而不优先考虑图像数据的与天际线、树木、树叶、虫子、灰尘、墙壁、院子里的静止物体和/或对自主车辆的操作不重要的其他环境要素对应的部分。因此,图像处理系统可以管理整个图像的网络比特率限制,而不会实质性地牺牲图像数据的有效性,即同时确保图像数据的高优先级部分的高质量。
例如,该处理可以包括将来自自主车辆的两个或多个摄像头的图像拼接在一起以创建组合图像。例如,拼接可以包括用来自第二摄像头的第二图像的像素集合替换来自第一摄像头的第一图像的像素集合。第一摄像头可以(但不一定)具有比第二摄像头更大的FOV(并且因此具有更低的分辨率或像素密度)。例如,组合图像可以包括与第一摄像头的(更大的)FOV对应的整体FOV,以及对与第二摄像头的(更小的)FOV对应的区域的增强视敏度。此外或替代地,拼接可以涉及将一个或多个图像添加到另一图像(例如,在图像的一侧或边缘处)以创建全景(或其他类型的)整体图像。
该处理还可以包括对组合图像的一部分进行模糊化以创建增强组合图像。例如,模糊化可以包括对组合图像中的一个或多个区域和/或对象进行模糊化,这些区域和/或对象被图像处理系统确定为对于远程操作支持处理目的不太重要(或不重要)。例如,图像处理系统可以使用一个或多个计算机视觉、机器学习、统计逻辑、历史操作数据或其他机制来做出该确定。例如,图像处理系统可以确定对自主车辆的操作不重要的环境要素进行模糊化,而不对其他区域和/或对象(这些区域和/或对象未被确定为不太重要或不重要)进行模糊化。对不太重要(或不重要)的区域/对象进行模糊化可以例如减少那些区域/对象所需的存储器,从而“释放”存储器(以及相应地,可用的网络比特率)以便为其他更重要的区域/对象提供更高的分辨率。
图像处理系统可以使用相应的像素区域的对应质量设置对增强组合图像的像素区域进行编码,以创建编码图像文件。例如,相应的像素区域中的每个特定的像素区域的质量设置可以(但不一定)与相应的像素区域中的该特定的像素区域的复杂度等级相对应。图像处理系统可以将编码图像文件传输到与自主车辆相关联的远程操作系统以用于远程操作支持。
现在将更加具体地参照附图来描述可以被用于实现本公开的特征和功能的示例实施例。当用于描述元件、操作、状况等的维度和/或其他特性(例如,时间、距离、长度等)的范围时,短语“X和Y之间”表示包括X和Y的范围。类似地,当术语“大约”及其系列术语(例如“约”等)在本文中使用时,应当理解为指示与伴随上述术语的那些值非常接近的值。也就是说,与精确值在合理限度内的偏差应该被接受,因为本领域技术人员将理解,与所示值的这样的偏差由于测量不精确等原因是不可避免的。这同样适用于术语“大概”和“周围”和“基本上”。类似地,当术语“包括”及其派生词(例如“包括有”等)在本文中使用时,不应该被理解为排除意义,也就是说,这些术语不应该被解释为排除被描述和限定的内容可以包括其他的元件、步骤等的可能性。此外,每个示例实施例在本文中被描述为说明性的并且不应被理解为优选或有利的实施例,而是被理解为可能实施例的一个示例或说明。
首先参考图1,将根据示例实施例描述自主车辆车队100。自主车辆车队100包括多个自主车辆101。每个自主车辆101是载人或不载人的移动机器,该移动机器被配置为运输人、货物或其他项目,无论是在陆地上或水上、空中或其他表面上,例如,汽车、货车、厢式货车、三轮车、卡车、公共汽车、拖车、火车、电车、轮船、船、渡船、畜群、气垫船、飞机、宇宙飞船等。
每个自主车辆101可以是完全或部分自主的,使得车辆可以在一段时间内以受控方式行驶而无需人类干预。例如,如果车辆被配置为在没有人类操作员(无论是在车辆内还是远离车辆)的任何协助下被驾驶,则车辆可以是“完全自主的”,而如果在控制车辆操作时车辆使用了一定程度的人类交互(无论是通过人类操作员的远程控制或远程协助,还是人类操作员在车辆内的本地控制/协助),则车辆可以是“半自主的”。如果车辆由位于车辆内的人类操作员驾驶,则车辆可以是“非自主的”。“完全自主车辆”可以没有人类乘员,也可能有不参与车辆操作的一名或多名人类乘员;他们可能只是车辆上的乘客。
在示例实施例中,每个自主车辆101可以被配置为从完全自主模式切换到半自主模式,反之亦然。每个自主车辆101还可以被配置为在非自主模式和完全自主模式与半自主模式中的一者或两者之间切换。
车队100总体可以被布置为实现共同的或集体的目标。例如,自主车辆101总体可以被布置为运输和/或递送人员、货物和/或其他项目。除其他项外,车队管理系统(未示出)还可以协调自主车辆101的调度以用于运输、递送和/或取回货物和/或服务的目的。车队100可以在非结构化开放环境或封闭环境中操作。
图2是根据示例实施例的自主车辆101的一侧的视图。自主车辆101包括被配置为由车轮210和/或一个或多个其他运送机制运送的车身205。例如,自主车辆101可以在前向方向207和与前向方向207相反的反向方向上行驶。在示例实施例中,自主车辆101可以相对较窄(例如,大约2英尺至大约5英尺宽),具有相对低的质量和低的重心以实现稳定性。
自主车辆101可以被布置为具有大约1英里/小时(“mph”)和大约45英里/小时之间的适中的工作速率或速度范围,例如,大约25英里/小时,以适应市中心和住宅的驾驶速度。此外,自主车辆101可以具有在大约30英里/小时和大约90英里/小时之间的范围内的可观地最大速率或速度,这可以适应例如高速、州内或州际驾驶。本领域普通技术人员将认识到,本文呈现的车辆大小、配置和速率/速度范围是说明性的并且不应该被理解为以任何方式进行限制。
自主车辆101包括多个隔间(例如,隔间215a和隔间215b),这些隔间可以分配给一个或多个实体,例如,一个或多个客户、零售商和/或销售商。隔间总体被布置为容纳货物和/或其他项目。在示例实施例中,隔间中的一个或多个隔间可以是固定隔间。在适当的情况下,隔间215a和隔间215b可以具有不同的能力,例如,制冷、绝缘等。应当理解,隔间的数量、大小和配置可以变化。例如,虽然两个隔间(215a、215b)被示出,但是自主车辆101可以包括多于两个或少于两个(例如,零个或一个)的隔间。
自主车辆101还包括传感器吊舱230,该传感器吊舱230支撑被配置为查看和/或监视自主车辆101上或周围的状况的一个或多个传感器。例如,传感器吊舱230可以包括一个或多个摄像头250、光检测和测距(“LiDAR”)传感器、雷达、超声波传感器、麦克风、高度计或被配置为捕获图像(例如,静止图像和/或视频)、声音和/或自主车辆101环境内的其他信号或信息的其他机制。
图3是根据示例实施例的自主车辆101的摄像头组件300的一侧的视图。图4是根据示例实施例的摄像头组件300的横截面俯视图。为了便于描述,图3和图4将被一起描述。
摄像头组件300包括外壳305,外壳305被配置为例如作为传感器吊舱230的一部分被安装在自主车辆上。外壳305限定空间,多个摄像头250a、250b、250c、250d、250e、250f、250g、250h、250i和250j基本上被布置在该空间内。外壳305被配置为总体从周围环境保护摄像头250a-250j,同时仍然使摄像头250a-250j能够从周围环境捕获图像(静止图像和/或视频)、声音和/或其他信号或信息。例如,外壳305可以包括一个或多个开口,摄像头250a-250j的端部可以通过这些开口向环境延伸,并且/或者外壳305可以包括基本上透明的窗口表面,摄像头250a-250j可以通过该窗口表面捕获环境的图像,即使窗口表面可以跨摄像头250a-250j的一个或多个FOV延伸。
摄像头250a-250j中的每个摄像头具有可以与摄像头250a-250j中的另一摄像头的分辨率和/或范围相同或不同的分辨率和范围。例如,摄像头250a-250j中的每个摄像头可以包括具有大约60°FOV的一个或多个远程摄像头或具有大约120°FOV的一个或多个短程(或“交通灯”)摄像头,并且每个摄像头具有在大约2兆像素(MP)和大约8兆像素之间的分辨率。可以理解,这些范围和分辨率是说明性的,并且具有其他合适范围和分辨率的其他类型的摄像头可以被包括在替代示例实施例中。此外,摄像头250a-250j中的每个摄像头可以包括多种不同摄像机镜头中的任何一种,例如,标准镜头、广角镜头、远摄镜头、变焦镜头、鱼眼镜头等。
例如,在示例实施例中,摄像头250a-250i中的每个摄像头包括远程摄像头,摄像头250j包括近程摄像头,并且一个或多个热感摄像头和/或其他类型的传感器设备(其可以具有与摄像头250a-250j中的任何一个摄像头相同或不同的范围和/或分辨率)可以被包括在摄像头250a-250j中的一个或多个摄像头上或周围。此外,应当理解,摄像头组件300的形状和布置是说明性的并且可以在替代示例实施例中变化。例如,虽然图3和图4示出了围绕中心轴315被布置为总体圆形形状的十个摄像头250a-250j,但明显的是,多于或少于十个摄像头250a-250j以及摄像头250a-250j在外壳305之内或之外的任何布置或配置可以在替代示例实施例中被提供。
图5是根据示例实施例的来自图3的摄像头组件的摄像头的水平FOV 505a、505b、505c、505d、505e、505f、505g、505h和505i的图示。FOV 505a-505i中的每个FOV与具有大约60°水平FOV的摄像头(例如,参考图2所述的摄像头250a-250i中的一个)对应,并且相邻摄像头的FOV在交叠区域510中交叠。具体地,交叠区域510ab包括FOV 505a和FOV 505b的交叠,交叠区域510bc包括FOV 505b和FOV 505c的交叠,交叠区域510cd包括FOV 505c和FOV505d的交叠,交叠区域510de包括FOV 505d和FOV 505e的交叠,交叠区域510ef包括FOV505e和FOV 505f的交叠,交叠区域510fg包括FOV 505f和FOV 505g的交叠,交叠区域510gh包括FOV 505g和FOV 505h的交叠,并且交叠区域510hi包括FOV 505h和FOV 505i的交叠。可以理解,FOV 505a-505i和与其对应的交叠程度是说明性的并且可以在替代示例实施例中变化。
图6是根据示例实施例的可以被包括在自主车辆101中的摄像头610的竖直FOV605的图示。例如,摄像头610可以是(但不一定必须是)参考图2所述的摄像头250i或摄像头250j。竖直FOV 605从摄像头610基本上沿着竖直轴延伸,例如,该竖直轴是与由自主车辆101在其上操作的路面615限定的轴基本上垂直的轴。竖直FOV 605可以是例如对于远程摄像头大约25°或对于短程摄像头大约67°,但是应当理解,竖直FOV 605可以具有任何其他合适的值。
图7是根据示例实施例的摄像头610的水平FOV 705的图示。水平FOV 705从摄像头610基本上沿着水平轴延伸,例如,该水平轴是与由自主车辆101在其上操作的路面615限定的轴是基本上平行的轴。水平FOV 705可以是例如对于远程摄像头大约60°或对于短程摄像头大约120°,但是应当理解,水平FOV 705可以具有任何其他合适的值。
图8是根据示例实施例的自主车辆101的某些功能组件的框图表示。自主车辆101包括处理器805,该处理器805可操作地耦合到数据库850和自主车辆101的各个系统,并且被配置为向数据库850和自主车辆101的各个系统发送指令以及从或针对数据库850和自主车辆101的各个系统接收指令,自主车辆101的各个系统包括:推进系统810、导航系统815、传感器系统820、动力系统825、通信系统830、控制系统835和图像处理系统840。处理器805、数据库850和这些系统可操作地耦合到或集成到自主车辆101的车身205(图2)并且总体上协作以操作自主车辆101。
推进系统810包括被配置为驱动(例如,移动或运送)自主车辆101的组件。例如,推进系统810可以包括发动机、车轮、转向装置和制动系统,它们协作以驱动自主车辆101。在示例实施例中,发动机可以是燃气发动机、涡轮发动机、电动机、和/或混燃气/电动发动机。本领域普通技术人员将理解,推进系统810可包括现在已知或以后被开发的适合或期望用于运送对象的附加或不同的组件,例如,一个或多个车轴、胎面、机翼、转子、鼓风机、火箭、螺旋桨和/或其他组件。
虽然图1和图2示出的自主车辆101具有4轮、2轴汽车配置,但该配置是说明性的并且不应该被理解为以任何方式进行限制。例如,在替代示例实施例中,自主车辆101可以具有多于或少于4个车轮、多于或少于2个车轴以及非汽车配置。例如,车辆可以被配置为用于陆上行驶以外的行驶,例如,水上行驶、悬停行驶和/或空中行驶,而不脱离本公开的精神或范围。
导航系统815可以被配置为控制推进系统810和/或向与自主车辆101相关联的操作员提供引导,以导航自主车辆101通过路径和/或非结构化开放或封闭环境。导航系统815可以包括例如数字地图、街景照片和/或全球定位系统(“GPS”)点。例如,导航系统815可以使自主车辆101基于数字地图中的信息和来自被包括在传感器系统820中的传感器的信息在环境中导航。
传感器系统820包括被配置为查看和/或监视自主车辆101上或周围的状况的传感器吊舱230。例如,传感器吊舱230可以确定自主车辆101附近何时有对象,以使自主车辆101能够(通过导航系统815)安全地引导自主车辆101绕过对象。传感器吊舱230可以包括例如摄像头(例如,参考图2至图4所述的摄像头250a-250j)、光检测和测距(“LiDAR”)、雷达、超声波传感器、麦克风、高度计等。在示例实施例中,传感器系统820包括监视驱动机制性能、传动系性能和/或动力系统等级的推进系统传感器。传感器系统820还可以包括被配置为检测自主车辆101外部的声音的一个或多个麦克风,例如,来自请求通行权的紧急车辆的警报器、来自另一车辆的喇叭声等。
动力系统825被布置为向自主车辆101提供动力。动力可以作为电力、燃气动力或诸如太阳能或电池动力之类的任何其他合适的动力来提供。在示例实施例中,动力系统825可以包括主要电源和辅助电源,辅助电源被配置为向自主车辆101的各种组件提供动力和/或在主要电源不具有提供足够动力的容量时总体上向自主车辆101提供动力。
通信系统830被布置为能够在自主车辆101和外部人员或设备之间进行通信。例如,通信系统830可以被配置为通过无线局域网络(WLAN)连接(例如,蜂窝)或现在已知或以后被开发的任何其他无线或移动通信能力进行通信。在示例实施例中,通信系统830可以与车队管理系统(图8中未示出)进行无线通信,该车队管理系统被布置为从远离自主车辆101的位置控制和/或协助自主车辆101。例如,通信系统830总体可以获得或接收数据、存储数据,并且将数据传输或提供给车队管理系统和/或车队内的一个或多个其他车辆。数据可以包括但不限于来自传感器吊舱230的数据(例如,静止和/或视频图像数据)、与调度的请求或命令有关的信息、与按需请求或命令有关的信息、与自主车辆101(例如,响应于预期的需求)进行自身重新定位的需要有关的信息、关于自主车辆101的操作或机械需要或行为的信息、关于即将到来的施工区域或自主车辆101路径中的其他危险的信息等。
图像处理系统840被布置为处理来自传感器吊舱230(例如,一个或多个摄像头)的图像数据(例如,静止和/或视频图像数据)。例如,图像处理系统840可以从传感器吊舱230获得图像并且选择性地增强图像的质量以将(增强的)图像传输到车队管理系统。该处理可以包括例如将来自由具有不同FOV的摄像头捕获的图像的数据拼接在一起、对图像中不太重要(或不重要)的区域和/或对象进行模糊化以允许其他(非模糊化)区域和/或对象的增强视敏度、和/或基于相应的复杂度和/或优先级等级对不同的像素区域应用质量设置。例如,通信系统830可以将编码图像文件提供给车队管理系统以供远程操作子系统处理。下面参考图11至图22更详细地描述用于自主车辆远程操作的图像质量增强的示例操作。
在示例实施例中,控制系统835可以与处理器805和自主车辆101中的每个其他系统(包括推进系统810、导航系统815、传感器系统820、动力系统825、通信系统830和图像处理系统840)协作,以控制自主车辆101的操作。例如,控制系统835可以与处理器805和其他系统协作以确定自主车辆101可以安全行驶到哪里,并且检测(例如,基于来自传感器系统820和/或来自通过通信系统830与自主车辆101通信的外部系统(未示出)的数据)自主车辆101周围附近的对象,并且在这些对象周围导航。换言之,控制系统835可以与处理器805和其他系统协作以有效地确定和促进自主车辆101可以在其周围环境中做什么。例如,控制系统835与处理器805协作可以基本上控制动力系统825和/或导航系统815,作为驾驶或运送自主车辆101的一部分。在这个意义上,控制系统835管理自主车辆101的自主控制。此外,控制系统835可以与处理器805和通信系统830协作以通过通信系统830向其他车辆、车队管理服务器、GPS、个人计算机、远程操作系统、智能电话或任何其他计算设备提供数据,或从它们获取数据。
数据库850包括被配置为存储信息的数据存储或存储装置结构(例如,文件、数据库、数据结构、数据或其他存储库等)。在示例实施例中,数据库850被配置为存储关于自主车辆101、分配给自主车辆101和/或由自主车辆101执行的作业/任务、自主车辆101的软件等信息。例如,数据库350可以包括在自主车辆101的操作期间由自主车辆101的一个或多个系统收集的记录信息。记录信息可以包括例如来自传感器吊舱230的数据(例如,静止和/或视频图像数据)。例如,图像处理系统840可以使用来自传感器吊舱230的数据组合数据库850中的软件和/或其他信息,以提供如下面更详细描述的用于远程操作目的的图像质量增强。虽然在图8中被描绘为位于车辆101内,但是应当认识到在替代示例实施例中,数据库850可以远离车辆101,例如,位于云或数据中心解决方案中。
图9是根据示例实施例的互连自主车辆车队生态系统900的功能组件的框图表示。生态系统900包括具有多个自主车辆101的自主车辆车队905。自主车辆车队905中的自主车辆101通过至少一个网络910与彼此、车队管理系统915和车队管理系统外部的至少一个系统(“外部系统”)975互连。网络910可以包括用于在两个或多个计算设备之间传输信息的任何通信介质。例如,网络910可以包括无线局域网(WLAN)能力(例如,蜂窝)或现在已知或以后被开发的任何其他无线或移动通信能力。
车队管理系统915包括编排器(orchestrator)420,其被配置为协调生态系统900的操作,包括远程地协调自主车辆车队905的操作。编排器920可操作地耦合到车队管理系统915的各个子系统,并且被配置为向车队管理系统915的各个子系统发送指令以及从或针对车队管理系统915的各个子系统接收指令,车队管理系统915的子系统包括:故障排除子系统925、远程操作子系统930、车队操作子系统935、车队协调器940、接口950和作业调度器460。
作业调度器960被配置为基于各种考虑将作业分配给自主车辆101,各种考虑包括例如对自主车辆101和任何人类操作员和/或竞争每个作业所需的实体基础设施的约束。“作业”是要由或利用自主车辆101完成的任何动作。某些作业可以由自主车辆101完全自主地完成,而其他作业可能需要人类的至少一些参与。每个作业可以包括一个或多个任务或一系列一个或多个任务。例如,将包裹从第一位置运输到第二位置的作业可以包括若干个任务,包括(除其他外):启动车辆、获取包裹、识别从第一位置到第二位置的优选路径、将车辆沿优选路径移动到第二位置、以及将包裹提供给指定的接收者。
每个作业可以涉及与车队操作、车辆操作或其他事项相关的活动。例如,某些作业可以包括支持和维护活动,如完成校准、为电池充电、更新地图或其他软件、清洁车辆内部或外部、排除问题等。本领域普通技术人员将理解,本文描述的作业和任务是说明性的并且不应该被理解为以任何方式进行限制。例如,作业分配可以包括考虑下列项:路线位置、路线驾驶时间、路线距离、车辆位置、车辆范围、车辆充电状态/需要、停车需要、车辆存储装置容量、能力和/或配置、相对作业优先级、特定车辆和特定作业地点之间的任何关联等。
在示例实施例中,作业调度器960被配置为与编排器920和车队管理系统915的其他子系统协作以动态地创建和/或改变作业分配。例如,在作业计划或执行期间,作业调度器960可以创建和/或改变作业分配以在问题出现时解决问题、或提高操作效率。作业调度器960可以自主地操作或通过来自一个或多个操作员的输入来操作。例如,一个或多个操作员可以通过由作业调度器960提供的用户接口与作业调度器960交互,以调度作业并且将作业分配给自主车辆101。
数据库955包括被配置为存储信息的数据存储或存储装置结构(例如,文件、数据库、数据结构、数据或其他存储库等)。在示例实施例中,数据库955被配置为存储关于用于操作自主车辆101的各种不同类型的潜在作业、与不同类型的潜在作业相关联的任务、软件和相关联信息、补丁、日志等的信息,自主车辆101、操作员和实体基础设施等的已知约束。例如,作业调度器960在分配作业时可以参考该信息。作业调度器960还可以在数据库955中存储关于分配的作业的信息,例如,作业的相对优先级、每个作业及其任务的预期开始时间和完成时间、与每个作业/任务相关联的每个车辆/系统/操作员的标识、以及完成每个作业/任务所需的任何软件或其他资源。虽然在图9中被描绘为位于车队管理系统915内,但是应当认识到,在替代示例实施例中,数据库955可以远离车队管理系统915,例如,位于云或数据中心解决方案中。
编排器920被配置为监视完成分配的作业并且协调由自主车辆101和车队管理系统915的其他子系统完成任务,以能够完成分配的工作。编排器920可以为每个作业(或作业类型)标识要完成的多个任务。例如,数据库955可以包括标识针对每个作业(作业类型)要被执行的任务的信息、标识负责完成和/和协调每个任务的每个子系统(或车辆,如果适用)的信息、完成每个作业/任务所需的任何软件或其他资源、以及促进完成任务所必需或期望的任何其他信息或材料,并且编排器920可以读取、考虑上述项,并且在适当的情况下将上述项提供给或使得上述项被提供给自主车辆101或车队管理系统915内部或外部的一个或多个系统。
故障排除子系统925被配置为从自主车辆101获得指示自主车辆101中的任何一个是否具有正在影响或将要影响自主车辆的运行能力的问题(例如,健康问题)的信息。例如,自主车辆101可以被配置为自我报告问题或者可以被配置为提供故障排除子系统925可以从中检测问题的总体信息。故障排除子系统925可以处理来自自主车辆101的信息以诊断和解决问题。在示例实施例中,故障排除子系统925可以被配置为完全自主地诊断和解决某些问题,并且升级人类操作员经由故障排除子系统925提供的用户接口的输入和/或动作的某些其他问题。例如,故障排除子系统925可以被配置为使用数据库955中的信息来诊断和解决某些预先定义的健康问题。故障排除子系统425还可以被配置为与编排器420协调以根据需要使一个或多个救援或替换车辆被调度。
故障排除子系统925可以自主地操作或通过来自一个或多个操作员的输入来操作。例如,一个或多个操作员可以通过由故障排除子系统925提供的用户接口与故障排除子系统925交互,以查看、更新车辆健康信息和采取与车辆健康信息有关的动作。
远程操作子系统930被配置为向自主车辆101提供远程协助。具体地,远程操作子系统930包括车辆控制系统990和车辆协助系统995,车辆控制系统990被配置为例如通过远程操作或远程控制机制有效地控制自主车辆101,并且车辆协助系统995被配置为向自主车辆101提供协助(例如,监督和/或输入)而不控制自主车辆101。虽然在本文中描述为不同的系统,但是车辆控制系统990和车辆协助系统995可以共享某些操作和逻辑组件。例如,车辆控制系统990和车辆协助系统995可以共享某些通信/处理装备和人类操作站,人类操作员可以通过该人类操作站来操作、远程控制和远程协助自主车辆101。如下面结合图10更详细描述的,人类操作站可以包括例如驾驶员座椅、方向盘、制动器和加速踏板、变速杆以及可视化接口,该可视化接口被配置为允许人类操作员查看自主车辆101在其中驾驶的环境。此外或替代地,人类操作站可以包括手持或其他遥控设备,人类可以通过该手持或其他遥控设备来驾驶或以其他方式控制或协助自主车辆101。
在示例实施例中,远程操作子系统930可以响应于自主车辆101对这样的动作的请求或基于由车队管理系统915观察到的行为或状况而控制自主车辆101和/或向自主车辆101提供协助。例如,编排器920可以响应于确定自主车辆101不能够安全地和/或有效地自主地完成特定作业或任务而使远程操作子系统930控制自主车辆101和/或向自主车辆101提供协助。该确定可以基于例如传感器数据(例如,一个或多个静止和/或视频图像)或来自自主车辆101的其他信息。在示例实施例中,编排器920可以协调远程操作子系统930、故障排除子系统925、车队操作子系统935和车队协调器940之间的操作以有服务需要时有效地停用和恢复自主车辆101。
车队操作子系统935被配置为协调车队405中的自主车辆101的维护和服务。例如,车队操作子系统435可以调度和协调计划的(例如,例行的)和非计划的(例如,紧急的)服务、清洁、充电和其他维护活动。车队操作子系统435还可以被配置为例如通过“单击”或其他远程启动操作将自主车辆101从休眠状态远程启动。例如,车队操作子系统435可以基于自主车辆101的健康和/或配置信息和/或与自主车辆101相关联的作业来确定自主车辆101是否准备好操作。
车队操作子系统935可以自主地操作或通过来自一个或多个操作员的输入来操作。例如,一个或多个操作员可以通过由车队操作子系统935提供的用户接口与车队操作子系统935交互,以查看、更新自主车辆101和/或车队905中的自主车辆101组的维护和服务信息,以及采取与之有关的动作。
车队协调器940被配置为监督车队905中的自主车辆101的总体操作,并且通过编排器920与作业调度器960和车队管理系统915的其他子系统协调以进行任何必要的调度或作业分配调整。例如,如果第一自主车辆101从服务中移除,则车队协调器940可以使来自第一自主车辆101的一个或多个作业被重新分配给至少一个其他自主车辆101。如果自主车辆101被恢复,则车队协调器940还可以协调新的、替换自主车辆101的递送。
车队协调器940可以自主地操作或通过来自一个或多个操作员的输入来操作。例如,一个或多个操作员可以通过由车队协调器940提供的用户接口与车队协调器940交互,以查看、更新自主车辆101和/或车队905中的自主车辆101组的状态、健康和作业信息,以及采取与之有关的动作。
接口950被配置为能够在车队管理系统915和实体970的至少一个外部系统975之间进行交互。实体970可以是与自主车辆101相结合地接收、提供或促进提供货物或服务的客户、合作伙伴或其他人员或公司/企业。在示例实施例中,实体970的计算设备980可以通过接口950查看、更新自主车辆101和/或与实体970相关联的作业/任务,以及采取与之有关的动作。例如,接口950可以提供图形用户接口,客户、合作伙伴或其他实体970可以通过该图形用户接口查看关于未完成的或完成的作业、特定的自主车辆101或自主车辆101组等的当前状态信息。
除了提供用户接口以外或代替提供用户接口,接口950可以与计算设备980进行通信以提供和/或收集与自主车辆101、作业/任务相关联的信息等。例如,接口950可以接收和回答来自计算设备980的操作员的问题。接口950可以自主地操作或通过来自车队管理系统915的一个或多个操作员的输入来操作。例如,接口950可以提供用户接口,一个或多个操作员可以通过该用户接口进行交互以与外部系统975进行通信。
每个计算设备980包括计算机或处理系统,例如,台式计算机、膝上型计算机、平板计算机、电话或其他移动或非移动设备。每个计算设备980可以包括例如一种或多种类型的显示器(例如,屏幕或监视器)和输入设备(例如,键盘、鼠标、语音识别等)以输入和/或查看信息。每个计算设备980包括诸如互联网浏览器或软件应用之类的软件985,计算设备980通过该软件985与接口950进行通信。
图10是根据示例实施例的描绘用于向自主车辆提供远程协助的操作流程1000和远程操作子系统930的图示。远程操作子系统930包括计算设备1050和人类操作员站1060。人类操作员站1060包括总体类似于典型车辆中的驾驶员站的组件。例如,人类操作员站1060可以包括驾驶员座椅1065、方向盘1070、制动器和加速踏板1075以及变速杆1080。这些组件可以与典型车辆的对应组件在实体上相似。例如,驾驶员座椅1065、方向盘1070、制动器和加速踏板1075以及变速杆1080可以具有总体上分别与典型车辆的驾驶员座椅、方向盘、制动器和加速踏板的大小和形状一致的大小和形状。
人类操作员站1060还包括可视化接口1085,被配置为允许人类操作员查看自主车辆和/或自主车辆正在其中操作的环境。在示例实施例中,可视化接口1085包括虚拟现实(VR)或增强现实(AR)头戴式耳机。然而,可视化接口1085不限于是VR或AR头戴式耳机。例如,在替代示例实施例中,可视化接口1085可以包括一个或多个显示屏幕,例如,发光二极管(LED)、液晶显示器(LCD)、有机发光二极管(OLED)或其他类型的现在已知或以后被开发的显示器。
可视化接口1085可以被配置为例如基于由自主车辆或自主车辆外部的一个或多个对象或系统(例如,自主车辆所属车队中的另一自主车辆)提供的传感器(例如,静止图像和/或视频图像)数据来显示自主车辆和/或自主车辆的环境的任意数量的不同视图。例如,可视化接口1085可以被配置为基于提供的传感器数据显示自主车辆和/或自主车辆的环境的前视图、侧视图、后视图、顶视图等。计算设备1050和/或可视化接口1085可以包括例如用于对在合适时显示在可视化接口1085上的传感器数据进行解码的一种或多种机制。例如,计算设备1050可以包括被配置为对来自自主车辆的图像信息的分组或帧进行解码,并且将解码的分组或帧重新组装成通过可视化接口1085显示的图像的一个或多个处理器、存储器、机器指令和/或硬件。
人类操作员站1060可以被配置为具有车辆中的实际驾驶员站的近似触摸响应。例如,方向盘1070可以被配置为具有与实际车辆中的动力转向装置的触摸响应类似的触摸响应,并且制动器和加速踏板1075可以被配置为近似于实际车辆中的制动器和加速踏板的阻力。因此,人类操作员站1060可以提供这样的配置,在该配置中人类操作员的感觉与他们实际上位于自主车辆中的感觉基本上一样。在示例实施例中,人类操作员站1060可以包括附加特征,例如,从自主车辆播放声音的扬声器,以进一步为人类操作员提供逼真的氛围。
在示例实施例中,人类操作员站1060可以包括一个或多个输入1090,这些一个或多个输入1090被配置为由人类操作员选择性地激活以使远程协助(例如,监督/输入或控制)被提供给自主车辆或停止提供远程协助。每个输入1090可以包括实体机电输入设备,例如,按钮、开关、操纵杆、踏板或其他设备。例如,输入1090可以包括一个或多个按钮,这些按钮可以被激活(例如,通过按压、推、拉等)以将自主车辆的状态从自主状态改变为协助状态,反之亦然。
人类操作员可以例如基于通过可视化接口1085提供的信息来激活输入1090。例如,如果人类操作员通过可视化接口1085观察到指示远程协助可能是必要的或有益的信息(例如,有助于自主车辆在事故现场、指挥交通的交通管理员/警察、红路灯闪烁的人行横道、坑洼、施工区域或其他的危险中导航,或解决诸如鸣笛车辆、紧急警报器、尾随车辆等之类的情景问题),人类操作员可以激活输入1090中的一个以至少暂时地控制自主车辆。此外或替代地,人类操作员站1060的一个或多个其他组件可以被配置为触发或停止对一个或多个远程协助功能的激活。例如,当自主车辆以完全自主模式操作时激活制动器和加速踏板1075可以使自主车辆改变为协助状态,而不激活输入190中的一个。
人类操作员站1060可操作地耦合到计算设备1050。计算设备1050是计算机、服务器或其他计算设备,其被配置为促进与自主车辆、车队管理系统子系统和/或人类操作站1060的一个或多个组件的通信和/或促进涉及自主车辆、车队管理系统子系统和/或人类操作站1060的一个或多个组件的操作。计算设备1050包括一个或多个处理器、存储器、机器指令和/或用于处理和传送信息的硬件。
在示例实施例中,计算设备1050包括通信模块1057和控制器1055。通信模块1057被配置为向人类操作站1060、自主车辆和车队管理系统的其他子系统发送信号以及从这些项接收信号。通信模块1057可以使用一种或多种不同类型的通信技术进行通信,例如,Wi-Fi、蜂窝、有线通信和/或现在已知或以后被开发的其他有线或无线通信机制。
控制器1055被配置为处理来自通信模块1057的信号以使远程协助能够被提供给自主车辆。例如,控制器1055可以被配置为处理来自人类操作员站1060的信号并且将信号转换成用于控制自主车辆的控制指令。在远程操作模式下,例如,当人类操作员旋转或转动方向盘1070时,控制器1055可以生成被发送到自主车辆(通过通信模块1057)的对应的控制指令,以指示自主车辆以与人类操作员的旋转/转动对应的方向转动或行驶。此外,控制器1055可以被配置为检测输入1090中的一个或多个输入的激活并且使与激活的输入1090相关联的功能被执行。例如,控制器1055可以使信号(例如,指令或信息)被发送到自主车辆(通过通信模块1057)以提交到远程操作模式、返回到(完全)自主模式、或响应于检测输入1090中的一个输入的激活而采取另一动作。在示例实施例中,控制器1055还被配置为处理来自自主车辆和/或其他车队管理系统子系统的信号以监视自主车辆的行为,例如,用于确定是否存在对远程协助支持的需要和/或确认一个或多个远程协助功能的成功操作。
计算设备1050可以通过一根或多根实体电缆、中间设备或其他连接被连接到人类操作员站1060的组件中的一个或多个。此外或替代地,计算设备1050可以使用现在已知或以后被开发的任何合适的机制(例如,蓝牙或Wi-Fi)被无线地耦合到人类操作员站1060的组件中的一个或多个。人类操作员站1060的每个组件可以通过一个或多个中间设备和/或网络(例如,无线和/或蜂窝网络)被实际上直接连接到计算设备1050或耦合到计算设备1050。
在示例操作流程1000的第一步骤1005中,自主车辆正在自主操作。例如,自主车辆可以被打开并且闲置,从第一位置行驶到第二位置,或采取另一动作。在第二步骤1010中,远程操作子系统930向自主车辆提供远程协助。例如,远程操作子系统930可以响应于自主车辆对这样的动作的请求或基于由远程操作子系统930和/或车队管理系统的另一个子系统观察到的行为或状况来控制自主车辆和/或向自主车辆提供监督/输入。例如,远程操作子系统930和/或其他子系统可以基于由自主车辆或自主车辆外部的另一对象或系统(例如,自主车辆所属车队中的另一自主车辆)提供的信息(例如,图像数据)来观察行为或状况。替代地,人类操作员可以手动地触发到控制器1055的信号,以使远程协助通过按压输入1090中的一个被提供。
在步骤1010中远程操作子系统930提供协助之后,自主车辆可以返回到步骤1015中的操作的(潜在地完全)自主模式。例如,控制器1055可以响应于(例如,基于来自自主车辆、人类操作员站1060和/或车队管理系统的其他子系统或自主车辆外部的另一对象或系统(例如,车队中的另一自主车辆)的信号)确定不再需要远程协助支持而使远程协助停止。该确定可以由控制器1055、自主车辆、人类操作员站1060和/或子系统自动做出,或该确定可以利用来自人类操作员的输入来做出。例如,人类操作员可以手动地触发到控制器1055的信号,以使远程协助通过按压输入1090中的一个来停止。
图11是根据示例实施例的描绘用于自主车辆远程操作的图像质量增强的操作流程1100的图示。自主车辆101包括传感器系统820,该传感器系统820例如从传感器系统820的一个或多个摄像头捕获图像数据(例如,静止图像和/或视频图像)。自主车辆101的图像处理系统840处理图像数据,例如,选择性地提高图像的质量,以将(增强的)图像传输到远程操作子系统930。该处理可以包括例如将来自由传感器系统中的一个或多个不同的摄像头(例如,从具有不同FOV的摄像头)捕获的图像的数据拼接在一起、对图像中的不太重要(或不重要)的区域和/或对象进行模糊化以允许对其他(未模糊化)区域和/或对象的增强视敏度、和/或基于相应的复杂度和/或优先级等级对不同的像素区域应用质量设置。下面更详细地描述图像处理系统840的图像质量增强的示例操作。
自主车辆101的通信系统830通过网络910将(编码的)图像文件提供给远程操作子系统930,以进行处理。如上面参考图9所述,网络910可以包括用于在两个或多个计算设备之间传输信息的任何通信介质。例如,网络910可以包括无线局域网(WLAN)能力(例如,蜂窝)或现在已知或以后被开发的任何其他无线或移动通信能力。例如,图像文件可以在一个或多个分组和/或帧中被传输。
远程操作子系统930的通信模块1057接收图像文件,对图像文件进行解码(例如,通过对一个或多个分组和/或帧进行解码),并且将解码的图像文件重新组装成通过可视化接口1085显示的(静止或视频)图像。例如,使用远程操作子系统930的人类操作员可以查看显示的图像并且基于显示的图像为自主车辆101提供操作支持。
图12是根据示例实施例的图像处理系统840的功能组件的框图表示。图像处理系统包括图像拼接处理1205(包括被配置为将来自两个或多个图像(例如,由具有不同FOV的摄像头捕获的图像)的数据拼接在一起的模块)、图像模糊化处理1210(包括被配置为对图像中的不太重要(或不重要)的区域和/或对象进行模糊化以允许对其他(未模糊化)区域和/或对象的增强视敏度的模块)和图像分级(leveling)处理1215(包括被配置为基于相应的复杂度和/或优先级等级对不同的像素区域应用质量设置的模块)。每个处理和模块可以被体现在硬件和/或软件中。
图像拼接处理1205包括时序模块1205a,其被配置为基本上匹配两个或多个(静止和/或视频)图像的时序。例如,图像可以包括来自一个或多个不同摄像头中的每个摄像头(例如,在一个或多个不同的图像捕获管道中)的一个或多个图像。每个图像可以包括图像文件或元数据或用于指示图像的捕获时间(和/或捕获时间窗口)的其他机制,或与之相关联。时序模块1205a可以获得每个图像的捕获时间并且比较这些图像以匹配它们的相应的时序,即将特定图像与具有基本上相同的捕获时间的至少一个其他图像匹配。应当理解,当图像数据包括视频数据时,与图像相关联的摄像头可以具有捕获图像的不同帧率,例如,每个摄像头可以具有以帧每秒(FPS)测量的不同的帧捕获率。时序模块1205a可以被配置为在匹配图像的时序时考虑帧率。例如,精确的时序机制可以基本上最小化两个不同的摄像头之间的场景转移,并且因此基本上最小化两个不同的摄像头管道之间的场景转移。
拼接模块1205b被配置为将来自图像的像素拼接在一起,即组合。拼接可以涉及例如用来自第二(更多)图像的像素的至少一部分替换来自第一图像的像素的至少一部分以创建组合图像。例如,拼接可以涉及用来自具有较小FOV(和/或更高分辨率)的第二摄像头的像素替换来自具有较大FOV(和/或更低分辨率)的第一摄像头的某些像素。这可以例如允许组合图像包括与第一摄像头的(更大的)FOV对应的整体FOV,以及对与第二摄像头的(更小的)FOV对应的区域的增强视敏度。此外或替代地,拼接可以涉及将一个或多个图像添加到另一图像(例如,在图像的一侧或边缘处)以创建全景整体图像。下面参考图13更详细地描述示例拼接操作。
后处理模块1205c和去块(deblocking)模块1205d共同地被配置为改进组合图像以提供凝聚的、“干净的”整体图像。例如,后处理模块1205c可以在组合图像中创建平衡,例如,通过平衡与可交换图像文件格式(EXIF)相关联的数据(例如,曝光、黑白平衡、色温等)。例如,平衡可以基于与图像相关联的捕获的元数据。去块模块1205d可以被配置为对组合图像的拼接部分的一个或多个边缘应用一个或多个滤波器(例如但不限于线性去块滤波器)以减轻块效应和锐利边缘,即确保组合像素混合在一起。
编码器模块1205e被配置为对(处理后的)组合图像进行编码,例如,对表示组合图像的一个或多个数据片段进行编码,使得组合图像的具有更高视敏度的区域(例如,组合图像的从具有比组合图像的其他部分更小的FOV和/或更高的分辨率的摄像头拼接的一部分)与组合图像的其他区域相比被增强和/或被更好地保留。例如,编码可以被执行为使得组合图像的更大或更宽FOV部分的宽视角被维持,同时在图像的更小FOV部分中保留更高的视敏度。例如,编码器模块1205e可以包括一个或多个编码器处理,编码器模块1205e可以在合适的情况下选择和/或配置这些编码器处理以增强和/或保留组合图像的这些区域。
图像模糊化处理1210包括降采样模块1210a,其被配置为分析图像(例如,来自图像拼接处理1205的组合图像)并且适当地调整图像的大小。例如,降采样模块1210a可以被配置为适当地裁剪或以其他方式调整图像的大小以用于处理和/或编码目的,例如,通过将图像的大小调整为与远程操作系统的人类操作员站的可视化接口的显示大小相对应。显示大小可以基于可用的带宽。可以理解,降采样可以降低计算复杂度和/或图像所需的比特率。例如,降采样模块1210a可以基于与图像相关的数据来调整图像,例如,来自与自主车辆和/或自主车辆车队相关联的一个或多个日志或其他数据库或数据存储(例如,参考图8所述的数据库850)的历史信息。
区域确定模块1210b被配置为识别图像中的不太重要(或不重要)的区域和/或对象。例如,区域确定模块1210b可以包括和/或参考一个或多个机器学习和/或统计逻辑机制1220以确定图像中的一个或多个区域和/或对象的重要程度。重要程度可以是二进制的,即重要或不重要,或者重要程度可以包括在重要和不重要之间的多个等级(例如,不重要、不太重要、中等重要、重要等)。
机器学习和/或统计逻辑机制1220可以包括例如一个或多个经过训练的计算机视觉模型或用于将图像中的区域和/或对象与已知区域和/或对象进行比较的其他逻辑,这些已知区域和/或对象具有关于自主车辆远程操作的已知和/或预测的重要性等级。例如,机器学习和/或统计逻辑机制1220可以将图像与天际线、树木、树叶、虫子、灰尘、墙壁、院子里的静止物体和/或对自主车辆的操作不重要的其他环境要素的已知图像进行比较,以确定在图像中存在任何这样(不太重要或不重要)的要素。
模糊化模块1210c被配置为应用一种或多种技术来有效地对图像中的任何不太重要或不重要的区域和/或对象进行模糊化或降低其分辨率。例如,模糊化模块1210c可以选择性地应用高斯(Gaussian)平滑算法、一个或多个滤波器和/或一个或多个其他机制来对图像中的不太重要或不重要的区域和/或对象(而不是更重要的区域和/或对象)进行模糊化。可以理解,模糊化等级,即区域和/或对象被模糊化的程度,可以针对不同的区域和/或对象而变化。例如,模糊化等级可以基于区域和/或对象的复杂度和区域和/或对象被认为不太重要(或不重要)的程度来被动态地调整。此外,模糊化等级可以基于可用的比特率、带宽考虑等而变化。混合模块1210c被配置为将一个或多个混合机制(例如,梯度下降混合)应用于图像中的任何(模糊化的)不太重要或不重要的区域和/或对象的边缘。例如,混合可以减轻块效应和锐利边缘,例如,确保图像的模糊化和未模糊化部分的像素混合在一起。
编码器模块1210e被配置为对(混合)图像进行编码,例如,对表示图像的一个或多个数据片段进行编码,使得图像的具有更高视敏度的区域(例如,图像的未模糊化部分)与图像的其他区域相比被增强和/或被更好地保留。例如,编码器模块1210e可以包括一个或多个编码器处理,编码器模块1210e可以在适当地选择和/或配置这些编码器处理以增强和/或保留图像的这些区域。
图像分级处理1215包括分级处理模块1215a,其被配置为标识图像(例如,原始图像、组合图像和/或混合图像)中的一个或多个复杂度等级。每个复杂度等级与图像中相应的像素集合(“像素区域”)的一个或多个编码质量设置相对应。例如,复杂度等级可以与优先级等级相关联,其中更高优先级像素区域总体与比更低优先级像素区域更高的一个或多个质量设置相关联。分级处理模块1215a可以确定复杂度等级并且标识每个复杂度等级的像素区域。
在示例实施例中,分级处理模块1215a可以包括和/或参考一个或多个机器学习和/或统计逻辑机制以标识图像中的复杂度等级和像素区域。机器学习和/或统计逻辑机制1225可以包括例如一个或多个经过训练的计算机视觉模型或用于将图像与已知场景进行比较的其他逻辑,已知场景可以和相对优先级和/或质量设置相关联。例如,机器学习和/或统计逻辑机制1225可以将图像与关于已知场景(例如,特定的交通模式、行人行为、施工区域、天际线、路面、枝叶等的场景)的数据进行比较,以标识图像中的像素区域的相应的复杂度和/或优先级。
可以理解,复杂度等级的粒度可以例如基于可用的比特率、带宽考虑等而变化。例如,仅一个或几个复杂度等级(例如,高复杂度等级和低复杂度等级)可以被用于某些场景或某些应用,而许多复杂度等级可以被用于某些其他场景或应用。例如,相对简单的复杂度等级方案可以涉及将图像的基本上中心的区域标识为具有较高优先级复杂度等级的第一像素区域,并且将图像的周围区域标识为具有较低优先级复杂度等级的第二像素区域。像素区域和/或复杂度等级可以被标识为例如使得比特率波动可以基本上被最小化、和/或使得用相对高的质量要被编码的像素区域可以基本上被最小化。
片段处理模块1215b被配置为基于像素区域将图像划分为片段。每个片段可以包括与像素区域的全部或一部分相关的数据。编码器模块1215c被配置为对片段进行编码以使得与用较低质量编码的较低优先级像素区域相比,较高优先级像素区域被增强和/或被更好地保留(用较高质量编码)。例如,编码器模块1210c可以包括一个或多个编码器处理,编码器模块1215c可以适当地选择和/或配置这些编码器处理以增强和/或保留更高优先级像素区域。编码器模块1210c可以确定与每个复杂度等级相关联的编码器设置并且相应地配置编码器处理。例如,编码器模块1210c可以限定具有两个或更多个不同的视频编码器设置的两个或更多个编码等级,其中每个等级和/或设置与相应的复杂度等级相对应。在示例实施例中,多个编码器可以被配置为并行操作,使得多个片段可以基本上同时被编码。将了解,片段可以排队进行编码。
图13是根据示例实施例的示出用于自主车辆远程操作的图像质量增强的拼接操作1300的图示。拼接操作1300可以例如通过图像拼接处理(例如,以上参考图12所述的图像拼接处理1205)来完成。包括第一像素区域1307的第一图像1305从第一摄像头捕获。包括第二像素区域1310的第二图像从第二摄像头捕获。第一摄像头具有比第二摄像头更大的FOV,因此具有比第二摄像头更低的分辨率或像素密度。因此,包括像素区域1307的第一图像1305不如像素区域1310详细或清晰。
为了增强关于第一图像1305的视敏度,图像处理系统可以被配置为完成拼接操作1300以将第二像素区域1310有效地拼接到第一图像1305中而代替第一像素区域1305,从而创建组合图像1315。组合图像1315包括第二像素区域1310和第一图像1305的基本上在第一像素区域1307之外的部分。例如,第一像素区域1305中的像素的替换可以使用图形处理单元(GPU)计算来实现,以标识在第一图像1305中可以基本上由第二像素区域1310替换的区域。像素的替换总体上还可以涉及基于图像和/或像素区域的特性的校准和优化。
可以理解,第一像素区域1307、第二像素区域1310和组合图像1315的大小、位置、形状和配置是说明性的,并且在替代示例实施例中可以变化。例如,虽然操作1300涉及用更详细的矩形的第二像素区域1310替换基本上中心布置的矩形的第一像素区域1307,但是第一像素区域1307和第二像素区域1310可以具有任何合适的大小、位置或形状。此外,应当理解,虽然操作1300涉及一个像素区域(即第一像素区域1307)的替换,但是在替代实例实施例中,多于一个的像素区域可以被替换(例如,使用来自一个或多个不同的摄像头的一个或多个图像)以创建组合图像1315。
图14是根据示例实施例的示出用于自主车辆远程操作的图像质量增强的模糊化操作1400的图示。模糊化操作1400可以例如通过图像模糊化处理(例如,上面参考图12所述的图像模糊化处理1210)来完成。图像1405包括第一区域1410和第二区域1415。图像模糊化处理标识第一区域1410和第二区域1415中的每一者,并且确定第二区域1415不太重要(或不重要),而第一区域1410重要(或至少比第二区域1415更重要)。例如,在自主车辆(例如,自主车辆101)的上下文中,图像模糊化处理可以将第一区域1410标识为(例如,使用一个或多个机器学习和/或统计逻辑机制)包括(更重要的)道路,并且将第二区域1415标识为包括(不太重要的)天际线和/或林木线。在该上下文中可以被认为更重要或不太重要的其他示例区域和/或对象对于本领域普通技术人员将是显而易见的。
图像模糊化处理应用一种或多种技术来创建模糊化图像1420,其有效地对第二区域1415进行模糊化或降低第二区域1415的分辨率,同时保持第一区域1410的清晰度和分辨率。应当理解,第一区域1410、第二区域1415、图像1405和模糊化图像1420的大小、位置、形状和配置是说明性的,并且可以在替代示例实施例中变化。例如,虽然操作1400总体涉及跨图像1405的顶部应用弧形模糊化,但是模糊化可以具有跨越图像1405的一个或多个部分中的任何部分的任何形状。此外,虽然操作1400涉及对区域(即第二区域1415)的模糊化,但是应当理解,模糊化可以涉及一个或多个对象(例如,树、太阳、或其他对象),具有或者不具有对图像1405的区域的模糊化。
图15A和图15B是根据示例实施例的分别示出热图1505和热图1510的图示,这些热图可以在用于改进自主车辆远程操作的图像质量增强的模糊化操作的操作中使用。该操作可以例如通过图像模糊化处理(例如,上面参考图12所述的图像模糊化处理1210)来完成。每个热图(1505,1510)包括例如当图像被显示给人类操作员时,特定对象将出现在图像的特定位置的概率。
例如,图像模糊化处理可以使用一个或多个机器学习和/或统计逻辑机制来计算热图。机器学习和/或统计逻辑机制可以例如将图像(例如,原始的、组合的或模糊化的图像)与已知的区域和/或对象(其可以例如具有关于自主车辆远程操作的已知的和/或预测的重要性等级)进行比较,以概率性地确定每个区域和/或对象在图像的特定位置出现的可能性。例如,热图1505指示车辆是否将出现在图像的特定位置的相对概率,并且热图1510指示鸟是否将出现在图像的特定位置的相对概率。具体地,热图1505示出了在基本上低于零度仰角的区域中,车辆位于图像中的相对高的可能性,并且跨方位角范围具有不同程度的概率。相比之下,热图1505示出了除了三个区域1505a、1505b和1505c之外,鸟位于图像中的相对低的可能性,这三个区域1505a、1505b和1505c具有更高的包括鸟的概率。可以理解,热图1505和热图1510的大小、形状和配置以及热图1505和热图1510中的概率区域是说明性的,并且可以在替代示例实施例中变化。
在示例实施例中,图像模糊化处理可以使用热图1505和热图1510中的信息来调整模糊化图像(例如,上面参考图14所述的图像1420)中的一个或多个模糊化区域。例如,图像模糊化处理可以调整模糊化区域(例如,在图像1420中描绘的第二区域)的形状,使得该模糊化区域基本上覆盖感兴趣的对象不太可能出现的任何区域中的全部(或大部分),并且调整对于感兴趣的对象可能出现的任何区域的梯度。
图16是根据示例实施例的示出使用用于自主车辆远程操作的图像质量增强技术生成的增强组合图像1600的图示。例如,图像模糊化处理(例如,上面参考图12所述的图像模糊化处理1210)可以通过对组合图像(例如,上面参考图13所述的组合图像1315)进行模糊化来创建增强组合图像1600。模糊化可以包括例如参考图14和图15所述的操作中的一个或多个。
增强组合图像1600包括来自第一摄像头的第一像素区域1605,第一像素区域1605已经与来自一个或多个其他摄像头的一个或多个像素区域拼接在一起以形成组合图像1600。例如,第一像素区域1605可以包括来自具有比组合图像1600的其他部分(包括第二像素区域1610)更高的像素密度和/或分辨率的图像的像素。例如,第一像素区域1605可以与具有比与第二像素区域1610对应的第二摄像头更大的FOV的第一摄像头对应。
模糊化已经被应用于区域1615,有效地对区域1615进行模糊化或降低区域1615的分辨率,同时保持第一像素区域1605和第二像素区域1610的清晰度和分辨率。应当理解,第一像素区域1605、第二像素区域1610、区域1615和组合增强图像1600的大小、位置、形状和配置是说明性的,并且可以在替代示例实施例中变化。
图17是根据示例实施例的示出用于自主车辆远程操作的图像质量增强的分级操作1700的图示。分级操作1700可以例如通过图像分级处理(例如,上面参考图12所述的图像分级处理1215)来完成。在操作1700中,图像1705(例如,原始图像、组合图像和/或混合图像)已经被确定包括三个像素区域,即第一像素区域1710、第二像素区域1715和第三像素区域1720。每个像素区域与对应的复杂度等级相关联。例如,第一像素区域1710可以与将以相对较高(例如,更精细的)质量等级被编码的相对较高复杂度等级相关联,第二像素区域1715可以与将以相对中等质量等级被编码的相对中等复杂度等级相关联,并且第三像素区域1720可以与将以相对较低(例如,更粗糙的)质量等级被编码的相对较低复杂度等级相关联。像素区域可以与或可以不与例如组合增强图像(例如,组合增强图像1600)中的不同像素区域和/或区域对应。
应当理解,第一像素区域1710、第二像素区域1715、第三像素区域1720和图像1705的大小、位置、形状和配置是说明性的,并且可以在替代示例实施例中变化。
图18是根据示例实施例的提供用于促进自主车辆的远程操作的图像质量增强的方法1800的流程图。在步骤1805中,图像处理系统获得从自主车辆的至少两个不同的摄像头捕获的多个图像。这些摄像头可以包括例如安装在自主车辆的车身上的一个或多个摄像头,例如,上面参考图2所述的摄像头250a-250j。图像处理系统可以包括例如自主车辆的图像处理系统,例如,上面参考图8所述的图像处理系统840。每个图像可以包括静止图像和/或视频图像。
在步骤1810中,图像处理系统将多个图像拼接在一起以创建组合图像。例如,图像处理系统的图像拼接处理可以被配置为匹配每个图像的捕获时序,并且组合来自(匹配的)图像的像素以形成组合图像。将像素进行组合可以涉及例如用来自一个或多个其他图像中的每个图像的像素的至少一部分来替换第一图像中的像素的至少一部分。下面参考图19更详细地描述用于创建拼接图像的示例方法。
在步骤1815中,图像处理系统将模糊化应用于组合图像的一部分以创建增强组合图像。例如,图像处理系统的图像模糊化处理可以被配置为(例如,使用一个或多个机器学习和/或统计逻辑机制)标识图像中的任何不太重要(或不重要)的区域和/或对象,并且应用一种或多种技术来有效地对图像中的不太重要或不重要的区域和/或对象进行模糊化或降低其分辨率。下面参考图20更详细地描述用于对图像应用选择性模糊化的示例方法。
在步骤1820中,图像处理系统使用相应的像素区域的对应的质量设置来对增强组合图像的多个像素区域进行编码,以创建多个编码图像文件。例如,图像处理系统的图像分级处理可以被配置为(例如,使用机器学习和/或统计逻辑机制)标识增强组合图像中的一个或多个复杂度等级,其中每个复杂度等级与相应的像素区域的一个或多个编码质量设置相对应。下面参考图21更详细地描述用于分级视频编码的示例方法。在步骤1825中,图像处理系统将编码图像文件传输到与自主车辆相关联的远程操作子系统以用于远程操作支持。
图19是根据示例实施例的创建用于自主车辆远程操作的图像质量增强的拼接图像的方法1900的流程图。在步骤1905中,图像处理系统至少获得从自主车辆的第一摄像头捕获的第一图像和从自主车辆的第二摄像头捕获的第二图像。这些摄像头可以包括例如安装在自主车辆的车身上的一个或多个摄像头,例如,上面参考图2所述的摄像头250a-250j。图像处理系统可以包括例如自主车辆的图像处理系统,例如,上面参考图8所述的图像处理系统840。每个图像可以包括静止图像和/或视频图像。第一摄像头具有比第二摄像头的FOV更大的FOV。因此,第一图像可以具有比第二图像的像素密度更低的像素密度。
在步骤1910中,图像处理系统的图像拼接处理的时序模块将第一图像的时序与第二图像的时序进行匹配以将第一图像与第二图像对准。例如,图像可以包括来自一个或多个不同摄像头中的每个摄像头(例如,在一个或多个不同图像捕获管道中)的一个或多个图像。每个图像可以包括图像文件或元数据或用于指示图像的捕获时间(和/或捕获时间窗口)的其他机制,或与之相关联。时序模块可以获得每个图像的捕获时间,并且比较图像以匹配其相应的时序,即匹配第一图像和第二图像。应当理解,当图像包括视频图像时,与图像相关联的摄像头可以具有捕获图像的不同帧率,例如,每个摄像头可以具有不同的帧捕获率。时序模块可以被配置为在匹配图像的时序时考虑帧率。例如,精确的时序机制可以基本上最小化两个不同的摄像头之间的场景转移,并且因此基本上最小化两个不同的摄像头管道之间的场景转移。
在步骤1915中,图像拼接处理的拼接模块用来自第二图像(例如,第二图像的全部或一部分)的像素替换第一图像(例如,第一图像的一部分)的像素以创建修改图像。例如,用来自具有更小的FOV的第二摄像头的像素替换来自具有更大的FOV的第一摄像头的某些像素可以允许修改图像包括与第一摄像头的(更大的)FOV对应的整体FOV,以及对与第二摄像头的(更小的)FOV对应的区域的增强视敏度。
在步骤1920中,图像拼接处理的后处理模块将图像后处理应用于修改图像以创建复合拼接图像。例如,后处理模块可以在组合图像中创建平衡,例如,通过平衡与可交换图像文件格式(EXIF)相关联的数据(例如,曝光、黑白平衡、色温等)。平衡例如可以基于与图像相关联的捕获元数据。
在步骤1925中,图像拼接处理的去块模块对复合拼接图像的一个或多个边缘(例如,在复合拼接图像的拼接部分处)应用一个或多个滤波器(例如但不限于线性去块滤波器)以创建最终拼接图像。滤波器被配置为减轻块效应和锐利边缘,即确保组合像素在最终拼接图像中混合在一起。
在步骤1930中,图像拼接处理的编码器模块对最终拼接图像进行编码以用于网络传输。例如,编码器模块可以对表示最终拼接图像的一个或多个数据片段进行编码,使得最终拼接图像的具有更高视敏度的区域(例如,最终拼接图像的从具有更小的FOV的第二摄像头拼接的一部分)与最终拼接图像的其他区域相比被增强和/或被更好地保留。例如,编码可以被执行为使得最终拼接图像的更大或更宽FOV部分的宽视角被维持,同时在图像的更小FOV部分中保留更高的视敏度。例如,编码器模块可以包括一个或多个编码器处理,编码器模块可以适当地选择和/或配置这些编码器处理以增强和/或保留图像的这些区域。
图20是根据示例实施例的用于将选择性模糊化应用于自主车辆远程操作的图像质量增强的方法2000的流程图。在步骤2005中,图像处理系统的图像模糊化处理的降采样模块对由摄像头捕获的原始图像进行降采样。摄像头可以包括例如安装在自主车辆的车身上的摄像头,例如,上面参考图2所述的摄像头250a-250j之一。图像处理系统可以包括例如自主车辆的图像处理系统,例如,上面参考图8所述的图像处理系统840。原始图像可以包括静止图像和/或视频图像。降采样模块通过适当地裁剪或以其他方式调整图像的大小来对原始图像进行降采样以用于处理和/或编码目的,例如,通过将图像的大小调整为与远程操作系统的人类操作员站的可视化接口的显示大小相对应。显示大小可以基于可用的带宽。可以理解,降采样可以降低计算的复杂度和/或图像所需的比特率。
在步骤2010中,图像模糊化处理的区域确定模块标识原始图像中的至少一个重要区域和至少一个不重要区域。例如,区域确定模块可以包括和/或参考一个或多个机器学习和/或统计逻辑机制以确定图像中的一个或多个区域的重要程度。重要程度可以是二进制的,即重要或不重要,或者重要程度可以包括在重要和不重要之间的多个等级(例如,不重要、不太重要、中等重要、重要等)。机器学习和/或统计逻辑机制可以包括例如一个或多个经过训练的计算机视觉模型或用于将图像中的区域与已知区域进行比较的其他逻辑,这些已知区域具有关于自主车辆远程操作的已知和/或预测的重要性等级。
在步骤2015中,图像模糊化处理的区域确定模块标识(一个或多个)重要区域中的至少一个的至少一个重要对象。例如,区域确定模块可以包括和/或参考一个或多个机器学习和/或统计逻辑机制以确定图像中的一个或多个对象的重性程度。这些机器学习和/或统计逻辑机制可以与用于标识图像中的重要和不重要区域的机器学习和/或统计逻辑机制相同或不同。重要程度可以是二进制的,即重要或不重要,或者重要程度可以包括在重要和不重要之间的多个等级(例如,不重要、不太重要、中等重要、重要等)。机器学习和/或统计逻辑机制可以包括例如一个或多个经过训练的计算机视觉模型或用于将图像中的对象与已知对象进行比较的其他逻辑,这些已知对象具有关于自主车辆远程操作的已知和/或预测的重要性等级。例如,机器学习和/或统计逻辑机制可以将图像(和/或图像的一部分)与天际线、树木、树叶、虫子、灰尘、墙壁、院子里的静止物体和/或对自主车辆的操作不重要的其他环境要素的已知图像进行比较,以确定在图像中存在任何这样(不太重要或不重要)的要素。
在步骤2020中,图像模糊化处理的模糊化模块应用一种或多种技术来有效地对图像中的任何不太重要或不重要的区域和/或对象进行模糊化或降低其分辨率,从而创建修改图像。例如,模糊化模块可以选择性地应用高斯平滑算法、一个或多个滤波器和/或一个或多个其他机制来对图像中的不太重要或不重要的区域和/或对象(而不是更重要的区域和/或对象)进行模糊化。在示例实施例中,模糊化可以包括基于至少一个热图来修改将被模糊化的区域的大小,该至少一个热图指示特定对象是否将出现在组合图像的特定位置中的相对概率,如上面关于图15所述。
可以理解,模糊化等级,即区域和/或对象被模糊化的程度,可以针对不同的区域和/或对象而变化。例如,模糊化等级可以基于区域和/或对象的复杂度和区域和/或对象被认为不太重要(或不重要)的程度来被动态地调整。此外,模糊化等级可以基于可用的比特率、带宽考虑等而变化。例如,模糊化等级的分层集合可以被应用,具有与不同的可用的比特率、带宽等相对应的不同程度的模糊化。该分层可以例如基于历史数据、人类感知测试等来确定。例如,当带宽是X(例如,3兆比特每秒(Mbps),但X可以是任何合适的值)时,第一程度的模糊化可以应用,并且当带宽是小于X的值(例如,2Mbps,但该值可以高于或低于2Mbps)时,第二、更高程度的模糊化可以应用。应当理解,可以为模糊化等级选择任何数量的粒度(或者不为模糊化等级选择粒度)。
在步骤2025中,图像模糊化处理的混合模块将一个或多个混合机制(例如,梯度下降混合)应用于图像中的任何(模糊化的)不太重要或不重要的区域和/或对象的边缘,以创建最终图像。例如,混合可以减轻块效应和锐利边缘,例如,确保图像的模糊化和未模糊化部分的像素混合在一起。
在步骤2030中,图像模糊化处理的编码器模块基于重要和/或不重要的区域(和/或对象)对最终图像进行编码以创建编码图像。例如,编码器模块可以创建表示最终图像的一个或多个数据片段,使得图像的具有更高视敏度的区域(例如,最终图像的未模糊化部分)与最终图像的其他区域相比被增强和/或被更好地保留。例如,编码器模块可以包括一个或多个编码器处理,编码器模块可以适当地选择和/或配置这些编码器处理以增强和/或保留最终图像的这些区域。在步骤2035中,编码器模块通过网络将编码图像(即表示最终图像的一个或多个数据片段)传输到远程操作系统。
图21是根据示例实施例的用于自主车辆远程操作的图像质量增强的分级视频编码的方法2100的流程图。在步骤2105中,图像处理系统的图像分级处理为图像的多个像素区域中的每一个标识多个复杂度等级中的相应的复杂度等级。图像处理系统可以包括例如自主车辆的图像处理系统,例如,上面参考图8所述的图像处理系统840。图像可以包括静止图像和/或视频图像。
每个复杂度等级与图像中相应的像素区域的一个或多个编码质量设置对应。例如,复杂度等级可以与优先级等级相关联,其中更高优先级像素区域总体与比更低优先级像素区域更高的一个或多个质量设置相关联。图像分级处理的等级处理模块可以包括和/或参考一个或多个机器学习和/或统计逻辑机制以标识图像中的复杂度等级和像素区域。机器学习和/或统计逻辑机制可以包括例如一个或多个经过训练的计算机视觉模型或用于将图像与已知场景进行比较的其他逻辑,已知场景可以和相对优先级和/或质量设置相关联。例如,机器学习和/或统计逻辑机制可以将图像与关于已知场景(例如,特定的交通模式、行人行为、施工区域、天际线、路面、枝叶等的场景)的数据进行比较,以标识图像中的像素区域的相应的复杂度和/或优先级。
可以理解,复杂度等级的粒度可以例如基于可用的比特率、带宽考虑等而变化。例如,仅一个或几个复杂度等级(例如,高复杂度等级和低复杂度等级)可以被用于某些场景或某些应用,而许多复杂度等级可以被用于某些其他场景或应用。例如,相对简单的复杂度等级方案可以涉及将图像的基本上中心的区域标识为具有较高优先级复杂度等级的第一像素区域,并且将图像的周围区域标识为具有较低优先级复杂度等级的第二像素区域。像素区域和/或复杂度等级可以被标识为例如使得比特率波动可以基本上被最小化、和/或使得用相对高的质量要被编码的像素区域可以基本上被最小化。
在步骤2110中,等级处理模块为图像中的每个复杂度等级确定至少一个编码器设置。编码器设置可以例如基于与每个编码器期望对数据进行编码相关联的质量和/或每个编码器的一个或多个能力或其他配置而变化。例如,可以为较高优先级复杂度等级确定更精细的编码器设置,而可以为较低优先级复杂度等级确定更粗糙的编码器设置。在步骤2115中,片段处理模块基于像素区域将图像划分为片段。每个片段可以包括与像素区域的全部或一部分相关的数据。
在步骤2120中,片段处理模块基于编码器设置将片段提供给多个编码器。例如,如果特定片段与高复杂度等级相关联,则该片段可以被提供给具有适合于将相对精细的编码应用于该片段的设置的编码器,而与较低复杂度等级相关联的片段可以被提供给具有适合于通过应用更粗糙的编码来提高编码效率的设置的编码器。在示例实施例中,多个编码器可以被配置为并行操作,使得多个片段可以基本上同时被编码。将了解,片段可以排队进行编码。
在步骤2125中,编码器模块将编码片段传输到网络。也就是说,编码片段通过网络被高效地发送到接收者,例如,被发送到远程操作系统。编码片段基本上可以以任何顺序被发送,其可以被优化或可以不被优化。
图22是根据示例实施例的使用已经根据本文描述的技术被增强的图像为自主车辆提供远程操作支持的方法2200的流程图。在步骤2205中,远程操作系统的计算设备从自主车辆获得编码图像文件。计算设备可以是例如上面参考图10所述的计算设备1050。例如,编码图像文件可以包括具有关于图像的一个或多个像素区域的信息的片段。
在步骤2210中,计算设备对编码图像文件进行解码以创建解码图像文件。例如,计算设备可以包括或访问一个或多个解码器模块,这些解码器模块被配置为对相应的图像文件进行解码。例如,一个解码器可以被配置为对包括粗糙地编码的图像片段的图像文件进行解码,而另一解码器可以被配置为对包括精细地编码的图像片段的图像文件进行解码。解码可以(但不一定)基本上并行地进行。
在步骤2215中,计算设备(重新)组装解码图像文件以创建组装图像。组装图像可以包括具有质量等级的一个或多个部分,该质量等级基于对应的编码图像文件的可应用编码。例如,与较高等级编码处理对应的一个或多个部分可以具有比与较低等级编码处理对应的一个或多个部分更高的分辨率和/或质量。在示例实施例中,计算设备可以使组装图像被显示在与计算设备通信的可视化接口上。在步骤2220中,远程操作支持由远程操作系统使用组装图像自动地提供或通过人类操作员的输入提供。
本领域技术人员将认识到,与本公开的操作流程和方法(包括在图10和图18至图22中呈现的操作流程和方法)相关联的步骤可以变化。在不脱离本公开的精神或范围的情况下,可以添加、移除、变更、组合和重新排序步骤。因此,示例操作流程和方法被认为是说明性的而非限制性的,并且示例不限于本文给出的细节,而是可以在所附权利要求的范围内进行修改。
现在参考图23,图23示出了计算设备2300的硬件框图,该计算设备2300可以执行与在本文中结合图1至图22描绘的技术所讨论的操作相关联的功能。在各种示例实施例中,计算设备(例如,计算设备2300或计算设备2300的任何组合)可以被配置针对结合图1至图22描绘的技术所讨论的任何实体,例如(但不限于)传感器系统820、通信系统830、图像处理系统840、远程操作子系统930、车辆控制系统990、车辆协助系统995、计算设备1050、通信模块1057或可视化接口1085,以执行本文所讨论的各种技术的操作。
在至少一个实施例中,计算设备2300可以包括一个或多个处理器2305、一个或多个存储器元件2310、存储装置2315、总线2320、与一个或多个网络输入/输出(I/O)接口2330互连的一个或多个网络处理器单元2325、一个或多个I/O接口2335以及控制逻辑2340。在各种实施例中,与计算设备2300的逻辑相关联的指令可以以任何方式交叠,并且不限于本文所述的指令和/或操作的具体分配。
在至少一个实施例中,(一个或多个)处理器2305是至少一个硬件处理器,其被配置为根据为计算设备配置的软件和/或指令来执行本文所述的计算设备2300的各种任务、操作和/或功能。(一个或多个)处理器2305(例如,硬件处理器)可以执行与数据相关联的任何类型的指令,以实现本文详述的操作。在一个实施例中,(一个或多个)处理器2305可以将元件或物品(例如,数据、信息)从一个状态或物件变换到另一个状态或物件。本文所述的任何潜在的处理元件、微处理器、数字信号处理器、基带信号处理器、调制解调器、PHY、控制器、系统、管理器、逻辑和/或机器可被理解为被涵盖在广义术语“处理器”内。
在至少一个实施例中,(一个或多个)存储器元件2310和/或存储装置2315被配置为存储与计算设备2300相关联的数据、信息、软件和/或指令,和/或为(一个或多个)存储器元件2310和/或存储装置2315配置的逻辑。例如,在各种实施例中,本文所述的任何逻辑(例如,控制逻辑2340)可以使用(一个或多个)存储器元件2310和/或存储装置2315的任何组合来存储以供计算设备2300使用。注意,在一些实施例中,存储装置2315可以与(一个或多个)存储器元件2310合并(或反之亦然),或者可以以任何其他合适的方式交叠/存在。
在至少一个实施例中,总线2320可以被配置为使计算设备2300的一个或多个元件能够通信以交换信息和/或数据的接口。总线2320可以用针对在处理器、存储器元件/存储装置、外围设备、和/或可以配置用于计算设备2300的任何其他硬件组件和/或软件组件之间传递控制、数据和/或信息而设计的任何架构来实现。在至少一个实施例中,总线2320可以潜在地使用处理(例如,逻辑)之间的共享存储器被实现为快速内核主机互连,这可以实现处理之间的高效通信路径。
在各种实施例中,(一个或多个)网络处理器单元2325可以通过(一个或多个)网络I/O接口2330实现在计算设备2300和其他系统、实体等之间通信以促进针对本文所述的各种实施例所讨论的操作。在各种实施例中,(一个或多个)网络处理器单元2325可以被配置为硬件和/或软件的组合,例如,一个或多个以太网驱动器和/或(一个或多个)控制器或接口卡、(一个或多个)光纤信道(例如,光)驱动器和/或(一个或多个)控制器、和/或现在已知或以后被开发的实现计算设备2300与其他系统、实体等之间的通信以促进本文所述的各种实施例的操作的(一个或多个)其他类似的网络接口驱动器和/或(一个或多个)控制器。在各种实施例中,(一个或多个)网络I/O接口2330可被配置为一个或多个以太网端口、光纤信道端口和/或现在已知或以后被开发的(一个或多个)任何其他I/O端口。因此,(一个或多个)网络处理器单元2325和/或网络I/O接口2330可以包括用于在网络环境中接收、传输和/或以其他方式传送数据和/或信息的合适的接口。
(一个或多个)I/O接口2335允许数据和/或信息与可连接到计算机设备2300的其他实体的输入和输出。例如,(一个或多个)I/O接口2335可以提供到诸如键盘、小键盘、触摸屏幕和/或现在已知或以后被开发的任何其他合适的输入设备之类的外部设备的连接。在一些实例中,外部设备还可以包括便携式计算机可读(非暂态)存储介质,例如,数据库系统、拇指驱动器、便携式光盘或磁盘,以及存储卡。在又一些实例中,外部设备可以是向用户显示数据的机制,例如,计算机监视器、显示屏幕等。
在各种实施例中,控制逻辑2340可以包括指令,这些指令在被执行时使(一个或多个)处理器2305执行操作,这些操作可以包括但不限于:提供计算设备的整体控制操作;与本文所述的其他实体、系统等交互;维护存储的数据、信息、参数(例如,(一个或多个)存储器元件、存储装置、数据结构、数据库、表等)等和/或与之交互;它们的组合等,以促进本文所述实施例的各种操作。
本文所述的程序(例如,控制逻辑2340)可以基于在具体的实施例中实施这些程序的(一个或多个)应用来标识。然而,应当理解,本文中的任何特定的程序命名法仅出于方便而被使用;因此,本文的实施例不应限于仅在这样的命名法所标识和/或暗示的任何具体的(一个或多个)应用中描述的(一个或多个)使用。
在各种实施例中,本文所述的实体可以将数据/信息适当地存储在任何合适的易失性和/或非易失性存储器项(例如,磁性硬盘驱动器、固态硬盘驱动器、半导体存储装置设备、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、专用集成电路(ASIC)等)、软件、逻辑(固定逻辑、硬件逻辑、可编程逻辑、模拟逻辑、数字逻辑)、硬件和/或任何其他合适的组件、设备、元件和/或对象中。本文所讨论的任何存储器项应当被理解为被涵盖在广义术语“存储器元件”内。本文所讨论的被跟踪和/或被发送到一个或多个实体的数据/信息可以在任何数据库、表、寄存器、列表、缓存、存储装置和/或存储装置结构中被提供:所有这些都可以在任何合适的时间框架内被参考。任何这样的存储装置选项也可以被包括在本文使用的广义术语“存储器元件”中。
注意,在某些示例实施方式中,本文阐述的操作可以由编码在一个或多个有形介质中的逻辑来实现以供一个或多个处理器和/或其他类似的机器等执行,这些有形介质能够存储指令和/或数字信息并且可以包括非暂态有形介质和/或非暂态计算机可读存储介质(例如,在ASIC、数字信号处理(DSP)指令、软件(潜在地包括目标代码和源代码)等中提供的嵌入式逻辑)。通常,(一个或多个)存储器元件2310和/或存储装置2315可以存储用于本文所述操作的数据、软件、代码、指令(例如,处理器指令)、逻辑、参数、它们的组合等。这包括能够存储被执行以执行根据本公开的教导的操作的数据、软件、代码、指令(例如,处理器指令)、逻辑、参数、它们的组合等的(一个或多个)存储器元件2310和/或存储装置2315。
在一些实例中,本实施例的软件可以通过固定或便携式程序产品装置的非暂态计算机可用介质(例如,磁介质或光介质、磁光介质、CD-ROM、DVD、存储器设备等)、(一个或多个)可下载文件、(一个或多个)文件包装、(一个或多个)对象、(一个或多个)软件包、(一个或多个)容器等来获得。在一些实例中,非暂态计算机可读存储介质也可以是可移除的。例如,在一些实施方式中,可移除硬盘驱动器可以用于存储器/存储装置。其他示例可以包括光盘和磁盘、拇指驱动器、以及智能卡,它们可以被插入和/或以其他方式被连接到计算设备以转移到另一计算机可读存储介质上。
总之,在一种形式中,一种计算机实现的方法可以包括通过自主车辆的图像处理系统获得从自主车辆的至少两个不同的摄像头捕获的多个图像。多个图像中的两个或更多个图像可以被拼接在一起以创建增强组合图像。将多个图像中的两个或更多个图像拼接在一起可以包括例如用来自多个图像中的第二图像的像素替换来自多个图像中的第一图像的像素。例如,获得多个图像可以包括从第一摄像头获得多个图像中的第一图像和从第二摄像头获得多个图像中的第二图像,第一摄像头具有比第二摄像头更大的视野。
组合图像的一部分可以被模糊化以创建增强组合图像。例如,对组合图像的该部分进行模糊化可以包括将组合图像的该部分标识为对于远程操作支持的目的不太重要,以及对组合图像的该部分进行模糊化以创建增强组合图像。将组合图像的该部分标识为对于远程操作支持的目的不太重要可以包括例如使用机器学习逻辑将组合图像的至少该部分与已知不重要的区域或已知不重要的对象中的至少一者进行比较。模糊化还可以(但不一定必须)包括基于至少一个热图来修改该部分的大小,该至少一个热图指示特定对象是否将出现在组合图像的特定位置的相对概率。
增强组合图像的多个像素区域可以使用相应的像素区域的对应的质量设置来进行编码,以创建多个编码图像文件。例如,编码可以包括:为增强组合图像的像素区域中的每一个标识多个复杂度等级中的相应的复杂度等级;为图像中的复杂度等级中的每一个确定至少一个质量设置;基于像素区域将图像划分成片段,每个片段包括像素区域中的一个对应的像素区域的至少一部分;以及利用每个像素区域的对应的质量设置对相应的片段进行编码。编码图像文件可以被传输到与自主车辆相关联的远程操作系统以用于操作支持远程。
在另一种形式中,一种装置可以包括:通信接口,被配置为进行网络通信;一个或多个存储器,被配置为存储数据;以及一个或多个处理器,被耦合到通信接口和一个或多个存储器并且被配置为代表自主车辆执行操作,该操作包括:获得从自主车辆的至少两个不同的摄像头捕获的多个图像;将多个图像拼接在一起以创建组合图像;对组合图像的一部分进行模糊化以创建增强组合图像;使用相应的像素区域的对应的质量设置对增强组合图像的多个像素区域进行编码,以创建多个编码图像文件;以及将编码图像文件传输到与自主车辆相关联的远程操作系统以用于远程操作支持。
在另一种形式中,一个或多个非暂态计算机可读存储介质可以包括指令,这些指令当由至少一个处理器执行时可用于执行以下操作:获得从自主车辆的至少两个不同的摄像头捕获的多个图像;将多个图像拼接在一起以创建组合图像;对组合图像的一部分进行模糊化以创建增强组合图像;使用相应的像素区域的对应的质量设置对增强组合图像的多个像素区域进行编码,以创建多个编码的图像文件;以及将编码图像文件传输到与自主车辆相关联的远程操作系统以用于远程操作支持。
变体和实施方式
本文所述的实施例可以包括一个或多个网络,这些一个或多个网络可以表示用于接收和/或传输通过一个或多个网络传播的消息(例如,信息分组)的互连通信路径的一系列点和/或网络元件。这些网络元件提供促进网络元件之间的通信的通信接口。网络可以包括通过通信介质彼此耦合(并且通信)的任意数量的硬件元件和/或软件元件。这样的网络可以包括但不限于任何局域网(LAN)、虚拟LAN(VLAN)、广域网(WAN)(例如,互联网)、软件限定的WAN(SD-WAN)、无线局域网(WLA)接入网络、无线广域网(WWA)接入网络、城域网(MAN)、内联网、外联网、虚拟专用网(VPN)、低功率网络(LPN)、低功率广域网(LPWAN)、机器对机器(M2M)网络、物联网(IoT)网络、以太网/交换系统、促进网络环境中的通信的任何其他合适的架构和/或系统、和/或它们任何合适的组合。
通信通过其传播的网络可以使用任何合适的通信技术,包括无线通信(例如,4G/5G/nG、IEEE 802.11(例如,)、IEEE 802.16(例如,全球微波接入互操作性(WiMAX))、射频识别(RFID)、近场通信(NFC)、BluetoothTM、毫米波、超宽带(UWB)等)和/或有线通信(例如,T1线、T3线、数字用户线(DSL)、以太网,光纤信道等)。通常,任何合适的通信手段都可以被使用(例如,电、声、光、红外线和/或无线电)以根据本文的实施例通过一个或多个网络促进通信。可以在利用允许数据和/或信息交换的任何算法、通信协议、接口等(专有的和/或非专有的)直接或间接连接的实体之间执行针对本文所述的各种实施例所讨论的通信、交互、操作等。
就本文所呈现的与数据存储有关的实施例而言,这些实施例可以采用任何数量的任何常规的或其他的数据库、数据存储或存储装置结构(例如,文件、数据库、数据结构、数据或其他储存库等)来存储信息。
注意,在本说明书中,对被包括在“一个实施例”、“示例实施例”、“实施例”、“另一实施例”、“某些实施例”、“一些实施例”、“各种实施例”、“其他实施例”、“替代实施例”等中的各种特征(例如,元件、结构、节点、模块、组件、引擎、逻辑、步骤、操作、功能、特性等)的引用旨在表示任何这样的特征被包括在本公开的一个或多个实施例中,但是可以或可以不必被组合在相同的实施例中。还要注意,在本说明书中使用的模块、引擎、客户端、控制器、功能、逻辑等可以包括可执行文件(该可执行文件包括可以在服务器、计算机、处理器、机器、计算节点、它们的组合等上被理解和处理的指令),并且还可以包括对象文件、系统文件、硬件逻辑、软件逻辑或任何其他可执行模块、以及在执行期间加载的库模块。
还应当注意,参考前述附图所描述的操作和步骤仅示出了可以由本文所讨论的一个或多个实体执行的可能的场景中的一些。这些操作中的一些可以在合适的情况下被删除或移除,或者这些步骤在不脱离所呈现的概念的范围的情况下可以显著被修改或被改变。此外,这些操作的时序和顺序可以显著被变更,并且仍然可以实现本公开中所教导的结果。前述操作流程为示例和讨论的目的而被提供。实施例提供了基本的灵活性,其中在不脱离所讨论的概念的教导的情况下可以提供任何适当的布置、时序排列、配置和时序机制。
如本文所用,除非有明确的相反陈述,否则对短语“至少一个”、“一个或多个”、“和/或”、其变体等的使用是开放式表达,其在相关联的所列出的项目的任何和所有可能的组合的操作中是联合的和分离的两者。例如,表达“X、Y和Z中的至少一个”、“X、Y或Z中的至少一个”、“X、Y和Z中的一个或多个”、“X、Y或Z中的一个或多个”以及“X、Y和/或Z”中每一个可以表示以下项中的任一项:1)X,但没有Y并且没有Z;2)Y,但没有X并且没有Z;3)Z,但没有X并且没有Y;4)X和Y,但没有Z;5)X和Z,但没有Y;6)Y和Z,但没有X;或7)X、Y和Z。
另外,除非有明确的相反陈述,否则术语“第一”、“第二”、“第三”等旨在区分它们所修饰的特定名词(例如,元素、状况、节点、模块、活动、操作等)。除非有明确的相反陈述,否则对这些术语的使用并不旨在指示所修饰的名词的任何类型的次序、级别、重要性、时间序列或层次。例如,“第一X”和“第二X”旨在指定两个“X”元素,其不一定受限于这两个元素的任何次序、级别、重要性、时间序列或层次。进一步如本文所提及的,“至少一个”和“一个或多个”可以使用“(一个或多个)”命名法(例如,(一个或多个)元件)来表示。
本文所描述的一个或多个优点并不旨在表示本文所描述的实施例中的任一者必然提供所描述的所有优点或者本公开的所有实施例必然提供所描述的优点中的任一者。本领域技术人员可以确定许多其他改变、替换、变体、变更和/或修改,并且本公开旨在涵盖落入所附权利要求的范围内的所有这些改变、替换、变体、变更和/或修改。
Claims (21)
1.一种计算机实现的方法,包括:
通过自主车辆的图像处理系统获得从所述自主车辆的至少两个不同的摄像头捕获的多个图像;
将所述多个图像中的两个或更多个图像拼接在一起以创建组合图像;
对所述组合图像的一部分进行模糊化以创建增强组合图像;
使用相应的像素区域的对应的质量设置对所述增强组合图像的多个像素区域进行编码,以创建多个编码图像文件;以及
将所述编码图像文件传输到与所述自主车辆相关联的远程操作系统以用于远程操作支持。
2.根据权利要求1所述的计算机实现的方法,其中,将所述多个图像中的两个或更多个图像拼接在一起包括:用来自所述多个图像中的第二图像的像素替换来自所述多个图像中的第一图像的像素。
3.根据权利要求2所述的计算机实现的方法,其中,获得所述多个图像包括:从第一摄像头获得所述多个图像中的所述第一图像和从第二摄像头获得所述多个图像中的所述第二图像,所述第一摄像头具有比所述第二摄像头更大的视野。
4.根据权利要求1所述的计算机实现的方法,其中,对所述组合图像的所述部分进行模糊化包括:
将所述组合图像的所述部分标识为对于所述远程操作支持的目的不太重要;以及
对所述组合图像的所述部分进行模糊化以创建所述增强组合图像。
5.根据权利要求4所述的计算机实现的方法,其中,将所述组合图像的所述部分标识为对于所述远程操作支持的目的不太重要包括:使用机器学习逻辑将所述组合图像的至少所述部分与已知不重要的区域或已知不重要的对象中的至少一者进行比较。
6.根据权利要求4所述的计算机实现的方法,其中,进行模糊化还包括:基于至少一个热图来修改所述部分的大小,该至少一个热图指示特定对象是否将出现在所述组合图像的特定位置的相对概率。
7.根据权利要求1所述的计算机实现的方法,其中,对所述多个像素区域进行编码包括:
为所述增强组合图像的所述像素区域中的每一个标识多个复杂度等级中的相应的复杂度等级;
为所述图像中的所述复杂度等级中的每一个确定至少一个质量设置;
基于所述像素区域将所述图像划分成片段,每个片段包括所述像素区域中的一个对应的像素区域的至少一部分;以及
利用每个像素区域的对应的质量设置对相应的片段进行编码。
8.一种装置,包括:
通信接口,被配置为进行网络通信;
一个或多个存储器,被配置为存储数据;以及
一个或多个处理器,被耦合到所述通信接口和所述一个或多个存储器并且被配置为代表自主车辆执行操作,所述操作包括:
获得从所述自主车辆的至少两个不同的摄像头捕获的多个图像;
将所述多个图像拼接在一起以创建组合图像;
对所述组合图像的一部分进行模糊化以创建增强组合图像;
使用相应的像素区域的对应的质量设置对所述增强组合图像的多个像素区域进行编码,以创建多个编码图像文件;以及
将所述编码图像文件传输到与所述自主车辆相关联的远程操作系统以用于远程操作支持。
9.根据权利要求8所述的装置,其中,所述一个或多个处理器还被配置为:通过用来自所述多个图像中的第二图像的像素替换来自所述图像中的第一图像的像素,来将所述多个图像中的两个或更多个图像拼接在一起。
10.根据权利要求9所述的装置,其中,所述一个或多个处理器还被配置为:通过从第一摄像头获得所述多个图像中的所述第一图像和从第二摄像头获得所述多个图像中的所述第二图像来获得所述多个图像,所述第一摄像头具有比所述第二摄像头更大的视野。
11.根据权利要求8所述的装置,其中,所述一个或多个处理器还被配置为通过以下操作对所述组合图像的所述部分进行模糊化:
将所述组合图像的所述部分标识为对于所述远程操作支持的目的不太重要;以及
对所述组合图像的所述部分进行模糊化以创建所述增强组合图像。
12.根据权利要求8所述的装置,其中,所述一个或多个处理器还被配置为:通过使用机器学习逻辑将所述组合图像的至少所述部分与已知不重要的区域或已知不重要的对象中的至少一者进行比较,来将所述组合图像的所述部分标识为对于所述远程操作支持的目的不太重要。
13.根据权利要求8所述的装置,其中,所述一个或多个处理器还被配置为:基于至少一个热图来修改所述部分的大小,该至少一个热图指示特定对象是否将出现在所述组合图像的特定位置的相对概率。
14.根据权利要求8所述的装置,其中,所述一个或多个处理器还被配置为通过以下操作对所述多个像素区域进行编码:
为所述增强组合图像的所述像素区域中的每一个标识多个复杂度等级中的相应的复杂度等级;
为所述图像中的所述复杂度等级中的每一个确定至少一个质量设置;
基于所述像素区域将所述图像划分成片段,每个片段包括所述像素区域中的一个对应的像素区域的至少一部分;以及
利用每个像素区域的对应的质量设置对相应的片段进行编码。
15.一个或多个非暂态计算机可读存储介质,包括指令,所述指令当由至少一个处理器执行时可操作以执行以下操作:
获得从自主车辆的至少两个不同的摄像头捕获的多个图像;
将所述多个图像拼接在一起以创建组合图像;
对所述组合图像的一部分进行模糊化以创建增强组合图像;
使用相应的像素区域的对应的质量设置对所述增强组合图像的多个像素区域进行编码,以创建多个编码图像文件;以及
将所述编码图像文件传输到与所述自主车辆相关联的远程操作系统以用于远程操作支持。
16.根据权利要求15所述的一个或多个非暂态计算机可读存储介质,其中,所述指令当由至少一个处理器执行时还可操作以执行以下操作:通过用来自所述多个图像中的第二图像的像素替换来自所述多个图像中的第一图像的像素,来将所述多个图像拼接在一起。
17.根据权利要求16所述的一个或多个非暂态计算机可读存储介质,其中,所述指令当由至少一个处理器执行时还可操作以执行以下操作:通过从第一摄像头获得所述多个图像中的所述第一图像和从第二摄像头获得所述多个图像中的所述第二图像来获得所述多个图像,所述第一摄像头具有比所述第二摄像头更大的视野。
18.根据权利要求15所述的一个或多个非暂态计算机可读存储介质,其中,所述指令当由至少一个处理器执行时还可操作以通过以下操作对所述组合图像的所述部分进行模糊化:
将所述组合图像的所述部分标识为对于所述远程操作支持的目的不太重要;以及
对所述组合图像的所述部分进行模糊化以创建所述增强组合图像。
19.根据权利要求15所述的一个或多个非暂态计算机可读存储介质,其中,所述指令当由至少一个处理器执行时还可操作以执行以下操作:通过使用机器学习逻辑将所述组合图像的至少所述部分与已知不重要的区域或已知不重要的对象中的至少一者进行比较,来将所述组合图像的所述部分标识为对于所述远程操作支持的目的不太重要。
20.根据权利要求15所述的一个或多个非暂态计算机可读存储介质,其中,所述指令当由至少一个处理器执行时还可操作以执行以下操作:基于至少一个热图来修改所述部分的大小,该至少一个热图指示特定对象是否将出现在所述组合图像的特定位置的相对概率。
21.根据权利要求15所述的一个或多个非暂态计算机可读存储介质,其中,所述指令当由至少一个处理器执行时还可操作以通过以下操作对所述多个像素区域进行编码:
为所述增强组合图像的所述像素区域中的每一个标识多个复杂度等级中的相应的复杂度等级;
为所述图像中的所述复杂度等级中的每一个确定至少一个质量设置;
基于所述像素区域将所述图像划分成片段,每个片段包括所述像素区域中的一个对应的像素区域的至少一部分;以及
利用每个像素区域的对应的质量设置对相应的片段进行编码。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063034609P | 2020-06-04 | 2020-06-04 | |
US63/034,609 | 2020-06-04 | ||
US17/173,364 | 2021-02-11 | ||
US17/173,364 US11481884B2 (en) | 2020-06-04 | 2021-02-11 | Image quality enhancement for autonomous vehicle remote operations |
PCT/US2021/035152 WO2021247505A1 (en) | 2020-06-04 | 2021-06-01 | Image quality enhancement for autonomous vehicle remote operations |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115380527A true CN115380527A (zh) | 2022-11-22 |
Family
ID=78817714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180027521.4A Pending CN115380527A (zh) | 2020-06-04 | 2021-06-01 | 用于自主车辆远程操作的图像质量增强 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11481884B2 (zh) |
EP (1) | EP4162678A1 (zh) |
JP (1) | JP2023529575A (zh) |
CN (1) | CN115380527A (zh) |
WO (1) | WO2021247505A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11473927B2 (en) * | 2020-02-05 | 2022-10-18 | Electronic Arts Inc. | Generating positions of map items for placement on a virtual map |
US11814067B2 (en) * | 2021-12-14 | 2023-11-14 | Gm Cruise Holdings Llc | Periodically mapping calibration scene for calibrating autonomous vehicle sensors |
JP7496447B2 (ja) | 2022-09-12 | 2024-06-06 | ソフトバンク株式会社 | 監視支援システム、監視支援装置の制御方法、及び監視支援装置の制御プログラム |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7167519B2 (en) | 2001-12-20 | 2007-01-23 | Siemens Corporate Research, Inc. | Real-time video object generation for smart cameras |
US7720302B2 (en) * | 2003-09-25 | 2010-05-18 | Fujifilm Corporation | Method, apparatus and program for image processing |
JP2008507229A (ja) | 2004-07-19 | 2008-03-06 | グランドアイ,エルティーディー | 広角ビデオカメラのズーム機能の自動拡張 |
US8102423B2 (en) | 2004-08-10 | 2012-01-24 | Sri International | Method and system for performing adaptive image acquisition |
US9900522B2 (en) | 2010-12-01 | 2018-02-20 | Magna Electronics Inc. | System and method of establishing a multi-camera image using pixel remapping |
US9723272B2 (en) | 2012-10-05 | 2017-08-01 | Magna Electronics Inc. | Multi-camera image stitching calibration system |
US10179543B2 (en) * | 2013-02-27 | 2019-01-15 | Magna Electronics Inc. | Multi-camera dynamic top view vision system |
US20150131924A1 (en) * | 2013-11-13 | 2015-05-14 | Microsoft Corporation | Creation of Rectangular Images from Input Images |
US20150237351A1 (en) * | 2014-02-18 | 2015-08-20 | Penne Lee | Techniques for inclusion of region of interest indications in compressed video data |
US10116901B2 (en) | 2015-03-18 | 2018-10-30 | Avatar Merger Sub II, LLC | Background modification in video conferencing |
US9355433B1 (en) | 2015-06-30 | 2016-05-31 | Gopro, Inc. | Image stitching in a multi-camera array |
EP3144883A1 (en) | 2015-09-16 | 2017-03-22 | Thomson Licensing | Method and apparatus for sharpening a video image using an indication of blurring |
US9632502B1 (en) | 2015-11-04 | 2017-04-25 | Zoox, Inc. | Machine-learning systems and techniques to optimize teleoperation and/or planner decisions |
US11184531B2 (en) | 2015-12-21 | 2021-11-23 | Robert Bosch Gmbh | Dynamic image blending for multiple-camera vehicle systems |
US20180348750A1 (en) | 2016-11-23 | 2018-12-06 | Quantum Signal Llc | Enhanced teleoperation of unmanned ground vehicle |
US10313584B2 (en) | 2017-01-04 | 2019-06-04 | Texas Instruments Incorporated | Rear-stitched view panorama for rear-view visualization |
US11016495B2 (en) | 2018-11-05 | 2021-05-25 | GM Global Technology Operations LLC | Method and system for end-to-end learning of control commands for autonomous vehicle |
WO2020182591A1 (en) * | 2019-03-08 | 2020-09-17 | Osram Gmbh | Component for a lidar sensor system, lidar sensor system, lidar sensor device, method for a lidar sensor system and method for a lidar sensor device |
US11552706B2 (en) * | 2019-03-29 | 2023-01-10 | Advanced Functional Fabrics Of America, Inc. | Optical communication methods and systems using motion blur |
US11120538B2 (en) * | 2019-12-27 | 2021-09-14 | Zoox, Inc. | Sensor degradation detection and remediation |
-
2021
- 2021-02-11 US US17/173,364 patent/US11481884B2/en active Active
- 2021-06-01 EP EP21735070.1A patent/EP4162678A1/en active Pending
- 2021-06-01 JP JP2022571747A patent/JP2023529575A/ja active Pending
- 2021-06-01 WO PCT/US2021/035152 patent/WO2021247505A1/en unknown
- 2021-06-01 CN CN202180027521.4A patent/CN115380527A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210383517A1 (en) | 2021-12-09 |
WO2021247505A1 (en) | 2021-12-09 |
EP4162678A1 (en) | 2023-04-12 |
US11481884B2 (en) | 2022-10-25 |
JP2023529575A (ja) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11774963B2 (en) | Remote operation of a vehicle using virtual representations of a vehicle state | |
US11874663B2 (en) | Systems and methods for computer-assisted shuttles, buses, robo-taxis, ride-sharing and on-demand vehicles with situational awareness | |
US10877485B1 (en) | Handling intersection navigation without traffic lights using computer vision | |
US10696308B2 (en) | Road condition heads up display | |
CN115380527A (zh) | 用于自主车辆远程操作的图像质量增强 | |
US20200223454A1 (en) | Enhanced social media experience for autonomous vehicle users | |
CN111919225A (zh) | 使用模拟环境对自主机器进行培训、测试和验证 | |
WO2018106752A1 (en) | Bandwidth constrained image processing for autonomous vehicles | |
WO2022094624A1 (en) | Model-based reinforcement learning for behavior prediction in autonomous systems and applications | |
US10469769B1 (en) | Augmented reality based driver assistance | |
US20230319218A1 (en) | Image stitching with dynamic seam placement based on ego-vehicle state for surround view visualization | |
US20230024474A1 (en) | Stitching quality assessment for surround view systems | |
WO2023192754A1 (en) | Image stitching with an adaptive three-dimensional bowl model of the surrounding environment for surround view visualization | |
US20220414387A1 (en) | Enhanced object detection system based on height map data | |
US20230334874A1 (en) | Identifying vehicle blinker states | |
US20240160203A1 (en) | Orchestrating vehicles and remote operating clients | |
US20240161028A1 (en) | Orchestrating vehicles and remote operating clients | |
US11546503B1 (en) | Dynamic image compression for multiple cameras of autonomous vehicles | |
US20240135487A1 (en) | Image stitching with saccade-based control of dynamic seam placement for surround view visualization | |
US20240087450A1 (en) | Emergency vehicle intent detection | |
US20240092315A1 (en) | Wiper blade lifting mechanism | |
US20240177284A1 (en) | Image processing techniques to validate sensor cleaning | |
US20240169830A1 (en) | Computer analysis for assisting the operations of vehicles | |
US20230196728A1 (en) | Semantic segmentation based clustering | |
CN117940319A (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 |