当前位置:   article > 正文

深入浅出,一文讲透鱼眼相机畸变矫正

鱼眼摄像头去畸变 校正

来源:江大白|作者:潘大强

5e95372ce634113197bd1ba0239b6443.gif

导读

鱼眼相机的标定和矫正,网上已经有很多理论文章,但是落实到代码层面的并不多,而且大部分代码都是C++实现。而本文全面的介绍了鱼眼相机标定和校正的原理,并给出了用python语言矫正的代码包,希望对大家有所帮助。

1

个人介绍

大家好,我是潘大强,大白多年的好友。

目前博士毕业4年,主要从事智能安防行业。

之前也分享过AI从业的一些心得,个人介绍链接

应大白的邀请,从AI从业者的角度,分享工作中遇到的一些经验。

之前在江大白的群里,看到有同学提问“鱼眼相机标定”的问题。

对于鱼眼相机的标定和矫正,网上已经有很多理论文章,但是落实到代码层面的并不多,而且大部分代码都是C++实现。

但是做AI的同学,大多数都是用python语言,所以本次分享,我用python语言(只依赖opencv-python包和numpy包),把之前做的鱼眼矫正和变形的相关经验,以实践为目的,一步步分享给大家。

首先我们来了解一下鱼眼相机,和平时普通相机拍摄出的效果不同,鱼眼相机通常固定在空间顶部,所以拍摄出的视角是这样的:

4de4b3d683eb861e5b82766e3b16c607.png

大家可以看到,鱼眼图像类似于把很大角度范围内的光线,进行「压缩」和「扭曲」,将图像压进一个相对较小的空间内。

鱼眼相机采用的是鱼眼镜头,它的前镜组具有一个极凸的镜片表面,外形上看起来让人联想到鱼的眼睛,这就是“鱼眼”的由来。

那么在智能安防行业中,鱼眼相机可以做哪些应用呢?

最常见的,还是做目标追踪以及客流统计。

在目标追踪任务中,通常的球机或者枪机方案,无法避免人群遮挡的问题,从而导致较高的ID Swich,造成追踪不稳定。

但是鱼眼相机的顶视角安装方式,天然缓解了人群遮挡的问题。    

202624e85e6003cff613ac0a536a032a.gif

在客流统计任务中,鱼眼相机利用视野大的优势,在同一空间中,可以顶X个枪机。

4dc54e6c78ec352dd148895d54194e50.jpeg

当然除了降低硬件成本,还能避免多相机检测导致的区域人数去重。

了解了鱼眼相机的原理和优势,但在实际项目中,我们会对鱼眼图像进行矫正和变形,作为最终应用的前置任务。

2

鱼眼相机的畸变校正

下面就进行了今天的正题:如何对相机做矫正变形?

无论是单目相机还是双目相机,拍摄的图像都会存在畸变。

它们和鱼眼相机的畸变矫正原理也是一样的:核心是求解一个“好”的重映射矩阵(remap matrix)。

从而将原图中的部分像素点(或插值点)进行重新排列,“拼”成一张矩形图。

“好”是跟最终需求挂钩的,不同任务往往采用不同的矫正/变形方案。

比如:

(1)单目相机的畸变矫正

对于单目相机,为了得到相机像素坐标系和三维世界坐标系的对应关系,我们需要对相机的桶形畸变和枕形畸变进行矫正。

(2)双目相机的畸变矫正

而对于双目相机,为了做极线对齐,实现深度估计。

我们需要将两个相机,输出变换到同一个坐标系下。

张正友老师的棋盘标定法,通过标志物的位置坐标,估计出相机的内外参数和畸变系数,从而计算出remap matrix。该方法是目前上述两类相机,矫正效果最好的方法。

(3)鱼眼相机的矫正变形

对于鱼眼相机,本次主要分享三种方法:棋盘标定法、横向展开法、经纬度法。

下面我们先来看一下各种方法的矫正效果。

3

鱼眼相机的三种矫正方法

下图是某款鱼眼相机的采集图像,而真正有效的监控区域,是内部的圆形区域。

7869963611d12ab4c2edf2ee4e79cb14.png

(1)棋盘标定法

棋盘矫正法的目的,是将鱼眼图“天生”的桶形畸变进行矫正。

具体效果类似于“用手对着圆形中心做挤压,把它压平”,使得真实世界中的直线,在矫正后依然是直线。

58c8549aa8f94408cd45e26ae245a51e.png

采用棋盘标定法进行矫正后:

6b404c51a45abaf8ce5ea37a77035633.png

我们发现:

① 现实世界中的直线,在鱼眼图中发生了扭曲(如鱼眼图中的蓝色和绿色曲线),矫正后变成了直线(如正方形图中的蓝色和绿色直线);

② 矫正图只占据了鱼眼图中间的一部分(如鱼眼图中的红色曲线)。

从这个矫正效果中,可以看出:棋盘标定法的缺点,是靠近圆周(外围区域)的区域,会被拉伸的很严重,视觉效果变差。

所以一般会进行切除,导致矫正后的图片只保留了原图的中间区域。

基于以上特点,在实际使用中,我会把棋盘标定法,作为简单测量的前置任务(矫正图中的两点距离和真实世界中的两点距离,存在一一对应的关系)。

也可以作为鱼眼图像拼接的前置任务(真实世界中的三点共线,在拼接图中依然共线)。

(2)横向展开法

横向展开法,主要是利用鱼眼相机的大FOV和俯视拍摄的特点,来进行变形。

0e838fe12dd9b10385f73a58585f357b.png 

比如我们把上图中的红点,想象成一个观察者,当他身体旋转360度,看到的什么样的画面呢?

f662efec8d7f62941e0f86f93211a347.png

上图是经过横向展开法,变形后的画面。

可以看到,从原先的俯视视角变为了正视视角。

因此可以根据区域功能,进行切片,再用普通视角的检测模型,做后续任务。

但是缺点也一目了然,比如展开图的左右两侧,在真实世界中应该是连通的。

所以当有目标在鱼眼图中穿过分界线时,在展开图中该目标会从左侧消失,右侧出现(或者倒过来),看起来不是很自然。

基于以上特点,在实际使用中,我会利用鱼眼相机,覆盖面积大的特点(比如3米层高的情况下,至少覆盖100平米),在“某些场景”中取代枪机或半球机,画面展开后用正常的检测器去完成后续任务。

这里还要补充两点:

① COCO数据集上训练的人体检测器,在鱼眼图中直接使用是不会work的;

② 与棋盘标定法不同,横向展开不会损失像素,所以展开图也可以再remap回鱼眼原图。

(3)经纬度法

经纬度法主要分为两个方面:

① 经度

ef99f98c428370b6542d0f0f42b2f432.png 

下图是鱼眼图沿着经度对齐矫正后的画面。

bcc41638cfa7afec80dbdc08b0dee6ea.png

该方法与棋盘矫正法相比,没有像素损失,也不需要标定(人为设计规则求解remap matrix)。

但是缺点也很明显,它只对竖直方向(图中的蓝色线和绿色线)进行了矫正,而水平方向(红色线)依然是扭曲的。

② 纬度

9f1b3798abe6796928e2f6950d9daa58.png

下图是鱼眼图沿纬度对齐矫正后的画面。

71f09b45dcdba284ddc765b664754e74.png

可以看到,只对水平方向(图中的蓝色线和绿色线)进行了矫正,而竖直方向(红色线)依然是扭曲的。

基于以上特点,在实际落地中,我没有采用经纬度矫正法。

更多的是在学习和研究阶段,把它当作设计和计算remap matrix的一个作业。

4

三种矫正方法的代码实现

了解上面三种矫正效果的原理,下面我们再来看一下具体的算法实现。

无论采用以上哪种方法,最核心的部分是求解remap matrix,具体到之后的代码中就是mapx和mapy两个变量。

它们反映了矫正图中的像素坐标和原始图像素坐标之间的对应关系。

如果我们把原图记为image, mapx和mapy表示以上三种方法求出的不同的映射矩阵,那么通过原图和映射矩阵,就可以得到矫正/变形后的图像,记为image_remap。

其中 mapx和mapy 的shape都是 ( image_remap.shape[0], image_remap.shape[1] )。

且“mapx[i, j]=m 和 mapy[i, j]=n” 表示 “image_remap的第i行、第j列的像素值,等于image的第n行、第m列的像素”,其中m, n允许是非整数 。

下面我针对以上三种方法,依次贴出代码实现和流程解释。

(1)棋盘标定法

① 载入依赖包,和计算相关的只有opencv-python和numpy,我用的opencv版本是3.4.2.16, 初次使用建议改成该版本。

8803b486432de7c2553053b068fc12c3.png

② 设置超参数,主要是 CHECKERBOARD, 保证输入大小和你的棋盘大小是一致的。

fc50c20d0b43b11e6cc2386f63d7093e.png

以我的案例图为例,黑白方块共有 7*10 个,所以棋盘的内点数量是 w=7-1=6, h=10-1=9。

c08c33e8a6e4ed8dc6ec957471452b84.png

③ 按照张正友标定法的流程,对拍摄的各种姿态棋盘图,进行角点检测和亚像素提取。   

07f9f87528458fd4239b09a03ce9e1f8.png

拍摄数量一般在50~80之间,保证棋盘的宽高可以占整个画面1/4以上。

4ab2ad5878b74530e3e23c0207976a00.png

上述代码会将提取的棋盘点,绘制在原图中并做保存,我们可以肉眼检测一遍,将提取有误的图片从库中剔除。

20a63a2fcf443705b38eac6518196e68.png

④ 根据提取的棋盘点坐标,计算相机参数和畸变参数。

fbe339601662f1cf024c97ecf60c43aa.png

ret表示拟合误差,如果ret很大,说明在第③步中检测的棋盘点不准确,可以回去再检查下(比如ret>5)。

K和D分别是相机内参和畸变参数,之后会用到。rvecs和tvecs是相机外参。

⑤ 根据相机内参和畸变参数求解remap matrix,并做保存。

26b63bb41ab23c002123cccb3b24522e.png

至此,“训练”阶段结束。只要相机不变,这组remap matrix可以重复使用。

⑥ 加载remap matrix,对输入的鱼眼图片进行remap矫正。

ef57b7a05508215786848fa05e3d3bca.png

我们来看一下棋盘矫正的效果图,比如原图是:

6858dbc0bc21db20168477c9db9065c1.png 

经过上面棋盘标定法的代码,矫正后的图片为:    

4c7777d1bf1fcbb644cc8525eec58cb7.png

(2)横向展开法

① 横向展开法需要对鱼眼图片,先crop出圆形有效区域,再做横向展开。

比如原始图像:

2f9c18995c81ae7530920f4df6465ee9.png

我写了个简单的提取函数get_useful_area,剔除多余黑边。代码为:   

0fab828d205423fc2aa1081a8b0ecd74.png

55f1a3e56e606a28851054c09bd19fb3.png

这样操作后,可以更好的得到有效区域:

c47dfbae0ebf3daf11d99e74a51025dd.png        

当然在实际落地时,相机型号一旦确定,完全可以手动找到合适的参数,切去“黑边”。

② 求解remap matrix并保存。

bfe860774ae5d94dda0f7d96509c33ab.png

至此,“训练”阶段结束。同样只要相机不变,这组remap matrix可以重复使用。

③ 加载remap matrix,对输入的鱼眼图片,进行有效区域提取和remap变形。

49342d63d2bcda7da6b4d6b5881cb14f.png

再来看一下横向展开法的效果图,比如原图为:

73295c4cb5beac39efd8e4cd2bb5c950.png

使用上面的横向展开法代码展开后,效果为:

d7fda741124465fe77ea2c77eaba1409.png

(3)经纬度法

经纬度法也不需要做相机标定,所以方法流程和横向展开法一样,只是remap matrix的计算公式不同。

① 经度矫正法

经度矫正的代码:

0b9a4e4fa1ac38e1f34f3195ce7c9c47.png      

经度矫正的效果:

fd3577772d87108fbcaf8b8c29a5b4f4.png

② 纬度矫正法

纬度矫正的代码:

0f81a045b040c5055a08fe6ae9943ffe.png      

纬度矫正的效果:           

bd2b79e97496d99feece5a9fa14832bc.png

以上就是本次关于鱼眼相机的畸变与矫正的分享,希望对大家工作和学习有帮助。

大家如果有相关问题想了解的,也可以进行提问,我来给大家解答。

PS:本次分享内容中的相关图片和完整代码,公众号后台回复“鱼眼相机”,进行获取。

e175f457cd943cd4591f945f85071c93.png

互动问答1

Q:想问下,鱼眼相机和平时常用的枪机,在不同的项目任务中,如何更好的选择?

A:看任务需求吧,如果是室内场景,并且只是统计人数或者目标追踪,可以考虑用鱼眼相机。

但是如果要提取目标的属性特征,比如做人脸识别,ReID,口罩识别等,还是得用枪机。

9efcbd80686ddf5fb979bea5d1ad3a0d.png

互动问答2

Q:在前面鱼眼相机的校正中,有三种方式,经纬度法不太推荐。那么针对剩下的两种,棋盘标定法和横向展开法,实际应用中,更倾向于哪一种呢?

A:这个要看需求的吧,刚才分享时也提到了。棋盘标定是真正做到了去畸变,所以适合作为测量和拼接的前置任务。

对于横向展开法的用处,我就看到一种:如果要对鱼眼图像做目标检测,但是之前的检测器都是正常正视视角的,那可以考虑把鱼眼图横向展开切片后,再上检测器。我找下图。

75c309e8a9c920d98a92edab7926ec3f.jpeg

正中间的鱼眼图,我用头肩检测器去推理时,没有检到任何目标。然后我把它横向展开后,按区域切成4块,再用头肩检测器逐一推理,是可以检测到目标的(图中的蓝色框)。

bb81fe32dbb2968201243e979ec10b5d.png

互动问答3

Q:你刚才说要横向展开后再做检测,是因为直接对鱼眼图像做目标检测时,效果不好吗?

A:不是的。

去年有一篇关于鱼眼相机的目标检测论文:

RAPiD: Rotation-Aware People Detection in Overhead Fisheye Images

它提供了鱼眼相机下的人体检测方案,用旋转矩形框代替了正矩形框。是基于YOLOv3改的,增加了对框的旋转角的regression head。效果如下

40ee5d142eaf75df8b8910cf749341ba.png

代码和数据:http://vip.bu.edu/projects/vsns/cossy/fisheye/rapid/

但当时在私有数据集上训练时,遇到两个问题:(1)推理时,即使静止的目标,他的检测框的旋转角抖动依然很大 (2)与正的矩形框相比,旋转框的标定更耗时。

后来,我就直接用正矩形框对头肩进行标注和训练了,效果也不错。

5eabe0fb46f7f91bd580c9d34adc9862.jpeg

c5ac58bae8639e57adc817b151d46bbe.png

互动问答4

Q:那对鱼眼图像进行棋盘矫正后,再目标检测,效果如何啊?

A:如果采用棋盘矫正,会把地面上的人体进行拉伸,且越到周围拉伸越严重,所以不推荐用棋盘矫正做目标检测,我找下图。

3edd116c9c2c2dbd9dc8508a0eba2255.jpeg

矫正后,身体明显被拉长了。

ac33efc62d4b17e6071761f87feb571e.jpeg

cca2eea6a3bee0b85bb9e5bdb650f3e5.png

互动问答5

Q:明白了,那我想在鱼眼相机中直接做目标检测,有什么好的训练trick吗?

A:这个有整理过。

① 不要选择“人体”这种长条形物体作为标定目标。因为长条形物体旋转后,再用正的矩形框标定时,相邻框之间很容易产生大的overlap,并且框内有冗余信息。所以选择人头(偏圆形)或者头肩(偏正方形)。

② 标定时,太远的目标可以不标,或者mask掉。目的是减少误检。

③ 数据预处理时,可以先去掉多余黑边。

④ 数据增强时,可以添加360度任意角旋转。在数据量不大时,可以有效缓解过拟合。

⑤ 鱼眼相机本身都是2K以上的分辨率,所以模型训练推理都可以适当调大输入的尺寸。比如640甚至960.

c5f36ba207d639efe12ff5a36aad0d54.png

互动问答6

Q:看完分享,感觉对于每张鱼眼图像都需要矫正或变形,这样操作的话,对于图像处理会不会开销很大?

A:刚才代码中也看到了,推理时就一个remap操作,我测试过用python的cv2.remap处理2K大小鱼眼图,速度在300FPS,如果有专门的工程人员在CUDA上实现的话,1000FPS都没问题吧。

075e4a828e350f10f190f76e559f1e42.png

互动问答7

Q:如果想购买鱼眼相机尝试的话,价格贵吗?:

A:海康大华宇视都有,像我用的就是500多块的海康相机,1.16mm的焦距。

d99a539ab6240411b0ba8ed9e71eb6d5.png

互动问答8

Q:针对之前的分享,有一个问题,代码实现的时候,opencv必须要用特定的版本吗?因为已经装了其他版本的opencv了,是否也适用呢?

A:版本不同,cv2的内置函数的输入输出的dtype或者格式可能会不同。所以最好跟我代码中的统一,否则报错了你得一步步去debug。我现在主要用3.4.2和4.5.2。

23822eb6a7a8437426510ef20dffd016.png

互动问答9

Q:常规做法是鱼眼相机展开再做检测和track来进行人流量统计吧?

A:看检测器吧。如果顶视角的检测器效果不理想,那可以先展开,再用正视角的检测器去做,毕竟正视角的数据集更多

b8c01b541551d39f09f248b71198ba89.png

互动问答10

Q:球形的这种画面下的目标追踪跟枪机下的是不是也不太一样,原来的deepsort追踪算法能直接用吗?还是有别的trick在里面?

A:会有些不同。比如枪机下的SORT会把框的x,y,w,h都做Kalman滤波。鱼眼下,我会去掉w,h,而考虑半径r

ReID 的feature已经不明显了,而且用鱼眼的优势就是减少遮挡,所以不会用“Deep”。

c1a84845310df61fcaf59257346bad04.png

互动问答11

Q:还有一个疑问,我看你用的鱼眼相机的焦虑是1.16mm,不是说焦虑越小观测的目标会越近么?车载前视的大概6mm焦虑,能看15米左右吧,鱼眼是想看更大范围的,为啥选这么小的焦虑呢,还是说鱼眼相机的特性就是和平常的相机不一样?

A:焦距越小,FOV越大吧,视野越开阔。

比如单反相机大炮筒长焦200以上的,所谓拍鸟利器,视野窄拍的远。

974d7ebe48f87a642ad15d7d38cef17a.png

互动问答12

Q:主机厂在车上前装的环视相机也是鱼眼相机,那么在进行目标检测任务时,应该以原始畸变图直接作为训练集还是应该先去畸变再训练?

A:① 肯定不推荐用棋盘标定法去畸变再目标检测,因为这种矫正方式会把 “和相机平面不平行”的物体进行拉伸,比如下图中的人体。

原图:

aba3e43c4b1786623701a6368b9036c6.png

矫正图:

bfd3d03044fcb4bbefc3d752bf282a52.png

可以看到,矫正后,身体明显被拉长了。

而且这种拉伸程度越到周围越厉害,造成了扭曲,反而不利于检测。

② 如果你的原有检测器只是针对传统正视视角图片(比如COCO)训练的,那么在鱼眼图这种俯视视角一般不会work。

所以有个办法就是用横向展开法,展开后用常规视角的检测器去做。

2132ee4d82634ddb1c51d6cfa54052a7.jpeg

③ 当然,如果你已经积累了大量鱼眼视角下的标签数据,那么直接去做目标检测也是OK的。我在前面也分享了几个trick,可以参考,就是针对不做畸变矫正直接检测的case。

832cbb4e543ac24b265804468714ead7.png

互动问答13

Q:经纬度矫正可以一起用吗?

A:可以一起用,我实验过,出来的效果会跟棋盘矫正相似,就是圆周的区域会被拉伸的很扭曲。中间区域没有棋盘矫正好,所以我没采用。

—END—

高效学习3D视觉三部曲

第一步 加入行业交流群,保持技术的先进性

目前工坊已经建立了3D视觉方向多个社群,包括SLAM、工业3D视觉、自动驾驶方向,细分群包括:

[工业方向]三维点云、结构光、机械臂、缺陷检测、三维测量、TOF、相机标定、综合群;

[SLAM方向]多传感器融合、ORB-SLAM、激光SLAM、机器人导航、RTK|GPS|UWB等传感器交流群、SLAM综合讨论群;

[自动驾驶方向]深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器讨论群、多传感器标定、自动驾驶综合群等。

[三维重建方向]NeRF、colmap、OpenMVS、MVSNet等。

[无人机方向]四旋翼建模、无人机飞控等。

除了这些,还有求职、硬件选型、视觉产品落地等交流群。

大家可以添加小助理微信: dddvisiona,备注:加群+方向+学校|公司, 小助理会拉你入群。

fd6727a4338e25e96a51814d109dcfa6.jpeg
添加小助理微信:cv3d007, 拉你入群
第二步 加入知识星球,问题及时得到解答
3.1 「3D视觉从入门到精通」技术星球

针对3D视觉领域的视频课程(三维重建、三维点云、结构光、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、源码分享、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答等进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业、项目对接为一体的铁杆粉丝聚集区,6000+星球成员为创造更好的AI世界共同进步,知识星球入口:「3D视觉从入门到精通」

学习3D视觉核心技术,扫描查看,3天内无条件退款 cf4c77dfe1a7487f39e0761feb28e25c.jpeg
高质量教程资料、答疑解惑、助你高效解决问题
3.2 3D视觉岗求职星球

本星球:3D视觉岗求职星球 依托于公众号「3D视觉工坊」和「计算机视觉工坊」、「3DCV」,旨在发布3D视觉项目、3D视觉产品、3D视觉算法招聘信息,具体内容主要包括:

  • 收集汇总并发布3D视觉领域优秀企业的最新招聘信息。

  • 发布项目需求,包括2D、3D视觉、深度学习、VSLAM,自动驾驶、三维重建、结构光、机械臂位姿估计与抓取、光场重建、无人机、AR/VR等。

  • 分享3D视觉算法岗的秋招、春招准备攻略,心得体会,内推机会、实习机会等,涉及计算机视觉、SLAM、深度学习、自动驾驶、大数据等方向。

  • 星球内含有多家企业HR及猎头提供就业机会。群主和嘉宾既有21届/22届/23届参与招聘拿到算法offer(含有海康威视、阿里、美团、华为等大厂offer)。

  • 发布3D视觉行业新科技产品,触及行业新动向。

fcf64272733015419c30c2595e82492b.jpeg
扫码加入,3D视觉岗求职星球,简历投起来
第三步 系统学习3D视觉,对模块知识体系,深刻理解并运行

如果大家对3D视觉某一个细分方向想系统学习[从理论、代码到实战],推荐3D视觉精品课程学习网址:www.3dcver.com

科研论文写作:

[1]国内首个面向三维视觉的科研方法与学术论文写作教程

基础课程:

[1]面向三维视觉算法的C++重要模块精讲:从零基础入门到进阶

[2]面向三维视觉的Linux嵌入式系统教程[理论+代码+实战]

[3]如何学习相机模型与标定?(代码+实战)

[4]ROS2从入门到精通:理论与实战

[5]彻底理解dToF雷达系统设计[理论+代码+实战]

工业3D视觉方向课程:

[1](第二期)从零搭建一套结构光3D重建系统[理论+源码+实践]

[2]保姆级线结构光(单目&双目)三维重建系统教程

[3]机械臂抓取从入门到实战课程(理论+源码)

[4]三维点云处理:算法与实战汇总

[5]彻底搞懂基于Open3D的点云处理教程!

[6]3D视觉缺陷检测教程:理论与实战!

SLAM方向课程:

[1]深度剖析面向机器人领域的3D激光SLAM技术原理、代码与实战

[2]彻底剖析激光-视觉-IMU-GPS融合SLAM算法:理论推导、代码讲解和实战

[3](第二期)彻底搞懂基于LOAM框架的3D激光SLAM:源码剖析到算法优化

[4]彻底搞懂视觉-惯性SLAM:VINS-Fusion原理精讲与源码剖析

[5]彻底剖析室内、室外激光SLAM关键算法和实战(cartographer+LOAM+LIO-SAM)

[6](第二期)ORB-SLAM3理论讲解与代码精析

视觉三维重建:

[1]彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进

[2]基于深度学习的三维重建MVSNet系列 [论文+源码+应用+科研]

自动驾驶方向课程:

[1] 深度剖析面向自动驾驶领域的车载传感器空间同步(标定)

[2] 国内首个面向自动驾驶目标检测领域的Transformer原理与实战课程

[3]单目深度估计方法:算法梳理与代码实现

[4]面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)

[5]如何将深度学习模型部署到实际工程中?(分类+检测+分割)

无人机:

[1] 零基础入门四旋翼建模与控制(MATLAB仿真)[理论+实战]

最后

1、3D视觉文章投稿作者招募

2、3D视觉课程(自动驾驶、SLAM和工业3D视觉)主讲老师招募

3、顶会论文分享与3D视觉传感器行业直播邀请

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/627748
推荐阅读
相关标签
  

闽ICP备14008679号