日期
09/06
2022
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

元橡科技:从火星车讲起,双目立体视觉在机器人领域的应用及发展
收藏
2022-09-06 14:06:18来源: 中国机器视觉网

8月24日,元橡科技产品VP赵利军在讲科学直播中带来了《双目立体视觉在移动场景的应用和发展》主题演讲。讲科学AiiSCI平台主要服务于围绕人工智能与机器人技术以及相关衍生技术的科技创新和成果转化,打通产学研用,通过知识传播,降低全行业企业的研发成本;通过推广创新成果,帮助创新企业实现科技成果变现。本文为直播演讲重点摘录,与各位读者分享。

大家好,非常高兴能够有机会和大家一起做立体视觉方面的分享。我叫赵利军,来自元橡科技,主要负责公司产品部门。元橡科技主要在立体视觉领域提供专业的综合视觉解决方案,所以今天重点围绕立体视觉,把我们所做的这些工作跟大家做一些探讨。

首先从这样一张图开始,这张图应该很多人都认得,它是天问一号任务火星车,也就是祝融号,祝融号原计划在火星工作三个火星月,大概92个地球日,但目前为止已经工作了超过一年了,依然是非常稳定的一个状态,说明这个火星车的可靠性还是非常高的。

那么火星车在火星这样一个距离地球大概几亿公里的地方,周围环境尤其微观环境是非常陌生的,它怎样能够走起来?怎样能够避免各种突发事故呢?就跟人一样,假如把你放到一个特殊的陌生环境,你该怎么运动呢?双眼的作用至关重要。

我们可以看到火星车上有两处非常显眼的位置是安装了双目的,这是祝融号上非常重要的一个传感器。看到这样两只眼睛也许我们并不会觉得很特别,因为这就跟人一样,机器人有两个眼睛一眨一眨,非常自然。那么,如果我们把双目换成一个单目或者其他传感器,在火星这样一个非常遥远的地方,这个机器人能不能自主工作?或者把你的一只眼睛用手挡着,试一试在陌生环境亦或是熟悉的屋子里走一走,是不是也会有一些不一样的感觉呢?

今天我们主要针对双目为什么能够支持机器人在陌生环境行走以及双目有些什么特点给大家做一些分享,会集中在移动场景,包括移动机器人和自主运动车辆等方面,因为双目立体视觉在比如VR、AR、工业检测等很多领域都有应用,但是在静态场景里面可能有各种各样的替代方案,而在移动场景里面双目有它独特的优势。

1.双目立体视觉介绍

刚提到双目和人的眼睛很像,也被认为是一种仿生学的技术。那么双目摄像头如何得到空间信息?其原理就是双目三角测量技术。左右相机对于同一对象在水平方向的像素差异叫做视差,视差在立体视觉领域是最关键、最核心的一个术语,视差和距离(也就是我们所说的空间中Z方向的值)一一对应,距离越远视差越小。通过Z=BF/D的公式就可以得到物体距离,有了距离(Z值)之后还可以算出X和Y的值,因此基于双目就可以得到一个空间信息。

微信图片_20220906140905.png

2.单目和双目检测比较

单目和双目有什么区别?或者说用一只眼睛和两只眼睛看到的世界有什么不一样?

在很多应用里,单目对世界的认知首先要通过先验知识的学习,就是说我认识这是一辆车、一个人或者其他的一个东西,有了这个先验知识并且知道这个东西的实际尺寸,那么当看到这个东西的时候,基于先验知识就可以产生空间信息的判断。所以大家如果在一个熟悉的环境里把一只眼睛闭上,可能会觉得这跟双目看到的基本差不多,但如果是在一个陌生的环境里,单目就无法分辨,而利用双目则可以直接拿到我们所看到的环境里的视差信息,或者说所观察对象的空间数据,这个数据是直接得到的而不是依据于很多经验来得到的,所以双目是一个很直接的技术。

这也就是为什么祝融号在火星上要利用双目感知。火星上那些非常微观的东西我们根本看不到,没有先验知识,而通过双目计算可直接得到空间信息。包括一些自动驾驶的事故也是同等道理,当道路上出现了一些平常很少出现的物体,深度学习或者机器训练很少碰到的物体,单目很有可能就无法识别,另外还有一些驾驶员没有集中精力导致的撞上限高杆等情况,都可以通过双目测量技术来解决。

双目在机器人、自动驾驶等移动场景中具体的作用是什么?

3.可移动机器人及自动驾驶系统的主要构成

当谈到可移动机器人、自动驾驶,其核心组件至少包括环境感知、行为决策还有执行控制。环境感知首先要知道所处周边环境是什么样的,对周边环境有所认知才能够做出行为决策,到底是往前走、往后退还是转圈等行为决策会被传递到执行控制系统,从而带动机器人行走。在几个核心部件里面环境感知是最基础的输入部分,是整个移动机器人非常重要的一个前置条件。

环境感知的传感器主要包括:激光雷达、单目摄像头、双目摄像头、毫米波雷达、超声波雷达、GNSS/IMU/RTK等。

微信图片_20220906140909.png

其中单目和双目的特点就是图像密度非常大,而且现在摄像技术以及基于图像的深度学习的技术都发展得特别迅速,我们看到的很多机器人、车辆都已经用了这样的技术,当然摄像头也有一些局限性,比如对光线的感知,它受环境影响就会比较大一些,尤其是一些恶劣的天气。另一个技术是激光雷达,目前在扫地机、机器人上面应用比较普遍,它精度很高并很容易构建周围3D环境,但也存在受恶劣天气影响较大、功耗大、价格高等问题,尤其是多线束激光雷达,价格是非常高的。

4.双目视觉VS激光雷达

双目视觉与激光雷达是目前自动驾驶主传感器的技术路线。

两者相比较,激光雷达的特点是:

①水平分辨率高,垂直分辨率低

②远近精度保持一致

③主要采用点云处理手段,处理方式比较固定

④高线束激光雷达成本高昂

双目的特点是:

①水平和垂直分辨率都高

②近处精度高于远处

③深度图加图像的处理手段,应用技术随图像处理技术在持续演进

④成本低

5.双目立体视觉的应用

在自动驾驶的应用方面,双目可以提供多场景解决方案,如高速道路、复杂路口、常规的雨水天气、夜晚人车混杂、隧道跟踪、多功能集成等情况,都可通过立体视觉去解决。例如驾驶员没有注意到前方桥梁、限高杆导致撞上去的情况,激光、毫米波、单目等方案难以应对,就可以通过双目限高预警功能来进行精准测量并给予提示。对于一些大型车辆,在道路行驶的过程会存在很大的盲区,通过立体视觉检测就能发现盲区中的人或物体,从而规避事故发生。

在机器人视觉方面,双目可以实现自主跟随(包括列队跟随、组群跟随)、避障等,有非常广泛的应用价值。

6.双目视觉的未来发展

关于双目立体视觉,目前学界、企业界最关注的一些核心点是什么?我们怎么去做一些相关的工作?

首先要解决的一个问题就是感知距离,双目探测精度和距离成反比,远的地方精度会下降。还有检测盲区,包括人眼也会有盲区,当你把手放在眼前的时候,有段距离你是看不到的,如何减小盲区、增大摄像机的测量范围也是我们提升性能的重要着眼点。

其次是关于测量精度。和激光雷达相比,双目近处精度好但是远处的精度会低一些,对于用户来说,采用双目的时候一定是希望在工作距离之内能够得到尽可能高的精度。

第三个问题是速度。双目这几年普及比较快也是因为计算速度有一个比较大的改善,早年大家做双目计算的时候很多都是在PC上做的,如果达不到15帧或者更高的帧率,那么在机器人等场景里的反应就是慢的,也就解决不了客户的问题。

第四个问题是可靠性。如何使模组在各种震动、潮湿包括一些复杂的电子环境里保持稳定,双目对比单目在稳定性上提出了更苛刻的要求,因为双目标定要解决左右目距位置关系,当一些机械结构变化,左右目关系发生变化以后,相机就会退化。

怎么样解决这些核心问题呢?我们正在做一系列工作。

一个方向是硬件,通过硬件提供高分辨率图像,图像分辨率提高了,检测距离变远,精度也相应提高。但是高分辨率图像也带来一个问题,那就是计算量会迅速上升,所以这里的解决方案是要有高算力硬件,不过算力上现在发展也很快。还有就是通过结构改进、材料改进、生产工艺改善,使整个系统能够保持一个稳定性。

除了硬件之外,我们也会从软件方向去改进。包括算法改进,通过更好的匹配算法、超分辨率算法、深度学习等方式。另外为了解决速度的问题,现在有专用芯片可以在速度和能耗上带来优势。

通过以上方式,就把双目从研究室里面的一个技术变成可以广泛应用在各种真实场景的技术。

7.企业核心研究

元橡科技产品和技术具有以下核心优势:

①小尺寸, 更小尺寸、结构更稳定、空间占用更小,更小盲区

②远距离, 在小尺寸的前提下可探测距离达百米

③低时延,利用硬件加速技术,超低时延

④高精度,更好的匹配算法,亚像素技术

⑤低能耗,高精度算法硬件化,能耗降至最低

⑥多规格多方案,多种尺寸规程,不同视角配置,广泛场景适应,可选智能化方案,直接输出检测结果,降低主控算力要求

元橡科技作为一家在智能立体视觉领域有多年沉淀的企业,立足于自主研发,从最底层的模组、芯片,再到顶上的各种应用,都是基于自己的技术,独立构建了一个垂直系统。包括立体视觉专用芯片,专为立体视觉而设置,支持720P@60FPS,可以带来功耗和效率上的很大提升。在专用芯片的基础上,可以提供双目模组,灵活适配客户产品,直接输出各种图像+深度信息,无需外加处理器。独立的双目相机适用于各种不同的业务领域,对做实验或者小批量的情况很友好,能够快速满足客户需求。元橡也会针对多种场景定制立体视觉解决方案来解决行业痛点,满足各类需求,也降低传感器使用门槛。

元橡科技的产品包括车载领域的ADAS双目相机商用车版、ADAS双目相机乘用车版、BSD盲区相机等;适用于机器人和小型车辆的元目S系列、R系列等产品,如S3系列相机更适合室外及半室内场景,R3系列则更多倾向于室内场景,其中都运用了元橡的自研芯片,实现远距离、高精度等更佳的性能指标。

现场Q&A

Q:双目视觉直接取代激光雷达还存在什么瓶颈吗?

A:目前在自动驾驶领域,像特斯拉是使用了很多个摄像头,走的纯视觉技术路线,还有一些企业尤其国内新势力造车企业是走的激光路线,上文提到激光的一个好处就是相对来说比较稳定,而且计算比较简单。而视觉和立体视觉的信息密度比较大,所以会对计算资源和计算能力要求比较高。目前这两条道路是在相互竞争赛跑,也在相互促进,国内很多传感器厂商也都在走这两条路线。而从小型机器人角度来讲,目前我们见到的各种各样的酒店服务机器人、餐饮机器人、物流车等用立体视觉的会更多一些,激光相对来说不占优。

所以从一个从业者的角度来看,我觉得这两个技术路线会长期共存一段时间,我个人还是比较看好视觉,包括双目立体视觉未来的趋势,一个是因为它天然的信息密度大,在这个好的原料的基础上可以加工,这是一个很难代替的优势。另外也是因为双目具备了一个功耗低的好处,因为立体视觉是一个被动器件,只要接收自然光就可以了,而激光雷达要想做高线束、远距离的话就需要一个相当大的功耗。我们也和很多朋友一起讨论过,尤其是在很多特殊场景里面,这样的功耗对于很多机器是无法承受的。

技术瓶颈的话主要是涉及到系统整体的稳定性和大规模计算,但是这些硬件能力是会逐步得到满足的。

Q:元橡有多目环视相机方案或者产品吗?

A:元橡有一个整车解决方案,我们叫瞰行系统。瞰行系统就是在包括前视、后视以及盲区的不同位置,通过安装双目组合做到一个全车的安全方案。

Q:元橡的双目相机在机器狗上有应用吗?

A:我们和国内的一些机器狗以及类似四足机器人的公司是有接触或合作的,目前和国内一家非常主流的四足机器人厂商有非常深入的合作。

Q:深度估计是传统双目深度估计还是基于深度学习的双目深度估计?这两者各有什么样的优势?

A:上文我们所讲到的这些内容里面主要还是传统双目深度计算,主要解决逐点视差计算,这个计算需要消耗非常大的算力,也是基于现在硬件以及计算能力提升而能够达到这样的一个效果。基于逐点视差的结果,为后续处理提供了非常大的便利性,降低后续计算的复杂度。而深度学习在一些案例中也体现了一定成效,我们前面提到的算法演进这块,也有深度学习这样一个分支。但是在量产产品里面,目前看到的用深度学习的还是非常少,可能大家做一些实验系统时用的会更多一些。未来应该说两者会有一些结合,深度学习一个大的前提就是需要大量数据的积累,而对于未知环境来说,传统视觉计算是更可靠的一个方法。

Q:双目在线标定复杂吗?

A:比如元橡做双目标定的话,它涉及到两块:第一块就是相机在出厂前的标定,出厂前标定包括相机的内参和外参,使相机达到一个可用的状态。然后相机安装到车辆上的时候,因为相机和车辆之间有一个相对位置关系,所以需要对相机和车辆的相对位置关系做现场计算。现场计算现在我们也有很多的方法,包括标定板或者道路参照,另外更简单的方法是把双目装到车上以后试跑一段时间,跑个几十公里、几十分钟,系统自动就标定好了。所以经过我们的实践,觉得双目在线标定尤其是和车辆之间的标定不是很复杂,已经被极大简化了。

Q:看到自动驾驶行业也有一些公司用单目视觉,请问自动驾驶领域单目和双目各有什么优劣势吗?

A:在车载领域一般都不是用纯单目和双目比,而经常是单目+毫米波雷达和双目进行比较,单目有自动学习的能力,它可以判断一些主要障碍物, 但是它在测距方面有天然的缺陷,需要一个测距的手段来辅助,所以会搭配毫米波雷达使用。而双目具有图像识别能力的同时也天然具有测量能力,双目本身就可以完成对象的识别和距离测量,所以双目和单目+毫米波雷达相比的话,双目的成本优势会更明显一些。当然如果纯双目和单目对比,实际上单目做的工作双目也都能做,因为双目和单目都是基于摄像技术的,但双目还同时具有测量能力。单目的硬件会更简单一些,目前支持的分辨率也更大。实践中,还有很多的方案组合,比如多个摄像头组成的全车系统,也是很多企业的选择。

Q:双目左右摄像头看到的图像如何确定是同一个目标呢?有哪些比较好的匹配方法?

A:首先这里有一些不同的技术。

如果是基于逐点匹配进行视差计算,我们是不区分目标的,而是首先在相机的生产和制造过程中对相机的内外参进行计算,然后对相机本身做了一个标定,这个标定保证了做计算的时候能够对物理上的同一点进行视差计算,这样得到的是整个空间的视差值而并不考虑它是属于哪个物体上的点,反而是当我得到视差值以后,因为不同物体的空间位置不一样,就能非常容易地把这些对象分隔开来,相当于是先有视差或者说先有空间点云,再有对象。

另外一种可能大家也会想到的一个方法,就是如果不想那么辛苦地每个视差都算,那么就先把需要的对象抠出来,再进行左右比对,这也是可以的。

Q:为什么用双目测距时会出现测量值跳动的情况?

A:双目计算依赖于左右图像的相似性计算,不同时刻的成像多少会有些差异,导致了匹配算法结果的一些差异。因为距离和视差成反比,同样视差偏差,距离远的地方会更明显一些。影响成像的因素比较多,曝光时间算一个。这种扰动是客观存在的。在实际中,一方面通过相机改善,在空间和时间上做到更好的稳定性。另一方面在应用里更多会采用一些统计算法来进行平滑。