FisheyeDetNet:首个基于鱼眼相机的目标检测算法

添加小助理微信AIDriver004,加入近30+自动驾驶技术方向交流群!更多行业咨询与技术分享,欢迎加入『自动驾驶之心知识星球』,国内最大的技术交流社区,你想要的这里都有。

目标检测在自动驾驶系统当中是一个比较成熟的问题,其中行人检测是最早得以部署算法之一。在多数论文当中已经进行了非常全面的研究。然而,利用鱼眼相机进行环视的近距离的感知相对来说研究较少。由于径向畸变较大,标准的边界框表示在鱼眼相机当中很难实施。为了缓解上述提到的相关问题,我们探索了扩展边界框的标准对象检测输出表示。我们将旋转的边界框、椭圆、通用多边形设计为极坐标弧/角度表示,并定义一个实例分割mIOU度量来分析这些表示。所提出的具有多边形的模型FisheyeDetNet优于其他模型,同时在用于自动驾驶的Valeo鱼眼相机数据集上实现了49.5%的mAP指标。目前,这是第一个关于自动驾驶场景中基于鱼眼相机的目标检测算法研究。

文章链接:https://arxiv.org/pdf/2404.13443.pdf

网络结构

我们的网络结构建立在YOLOv3网络模型的基础上,并且对边界框,旋转边界框、椭圆以及多边形等进行多种表示。为了使网络能够移植到低功率汽车硬件上,我们使用ResNet18作为编码器。与标准Darknet53编码器相比,参数减少了近60%。提出了网络架构如下图所示。

358380d34c44e0f4b3ed112878ae9c14.png
边界框检测

我们的边界框模型与 YOLOv3 相同,只是 Darknet53 编码器被替换为 ResNet18 编码器。与YOLOv3类似,目标检测是在多个尺度上执行的。对于每个尺度中的每个网格,预测对象宽度()、高度()、对象中心坐标(,)和对象类。最后,使用非最大抑制来过滤冗余检测。

旋转边界框检测

在该模型中,与常规框信息(,,,)一起回归框的方向。方向地面实况范围 (-180 到 +180°) 在 -1 到 +1 之间进行归一化。

椭圆检测

椭圆回归与定向框回归相同。唯一的区别是输出表示。因此损失函数也与定向框损失相同。

多边形检测

我们提出的基于多边形的实例分割方法与PolarMask和PolyYOLO方法非常相似。而不是使用稀疏多边形点和像PolyYOLO这样的单尺度预测。我们使用密集多边形注释和多尺度预测。

实验对比

我们在Valeo鱼眼数据集上评估,该数据集有 60K 图像,这些图像是从欧洲、北美和亚洲的 4 个环绕视图相机捕获的。

所有模型都使用 IoU 阈值为 50% 的平均精度度量 (mAP) 进行比较。结果如下表所示。每个算法都基于两个标准进行评估—相同表示和实例分割的性能。

0092cecc5dbbade8aaeecb7aebf7e1a0.png d74b11246efe1126d2eecd938520c04b.png 2449470f9b0a53f6b80bca5859be4ff6.png

投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署大模型与自动驾驶Nerf语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

b96ca55db5978cbce7ae8a2c81d9c73f.png 网页端官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频

ecaf0a228b103a8f335a36558fde5f7c.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!

自动驾驶感知:目标检测、语义分割、BEV感知、毫米波雷达视觉融合、激光视觉融合、车道线检测、目标跟踪、Occupancy、深度估计、transformer、大模型、在线地图、点云处理、模型部署、CUDA加速等技术交流群;

多传感器标定:相机在线/离线标定、Lidar-Camera标定、Camera-Radar标定、Camera-IMU标定、多传感器时空同步等技术交流群;

多传感器融合:多传感器后融合技术交流群;

规划控制与预测:规划控制、轨迹预测、避障等技术交流群;

定位建图:视觉SLAM、激光SLAM、多传感器融合SLAM等技术交流群;

三维视觉:三维重建、NeRF、3D Gaussian Splatting技术交流群;

自动驾驶仿真:Carla仿真、Autoware仿真等技术交流群;

自动驾驶开发:自动驾驶开发、ROS等技术交流群;

其它方向:自动标注与数据闭环、产品经理、硬件选型、求职面试、自动驾驶测试等技术交流群;

扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

08c06069fffaa08da0d0bb4b6565f84c.jpeg

④【自动驾驶之心】硬件专场

c08fdadc02c660193bd42ca7130503e0.jpeg

### 使用鱼眼相机进行目标检测算法与实现 #### 鱼眼相机的目标检测概述 鱼眼相机因其广角视野而被广泛应用于监控、自动驾驶等领域。然而,由于其强烈的径向畸变特性,在使用传统计算机视觉技术处理鱼眼图像时会遇到困难。因此,为了有效执行目标检测任务,通常需要先对鱼眼图像进行预处理以减少畸变的影响。 在 OpenCV 中,可以通过校准获取鱼眼镜头的内参矩阵 \( K \) 和畸变系数 \( D \)[^1]。这些参数可用于反向映射像素坐标到无畸变的空间位置。对于 C++ 库的应用场景,则需注意某些函数可能仅部分完成去畸变操作,甚至可能导致图像恢复为更接近原始鱼眼光学模型的状态而非完全平坦化[^2]。 #### 图像矫正流程 针对鱼眼图像的矫正过程可以分为以下几个方面: - **校准阶段**: 收集多张棋盘格图案的照片并调用 `cv::fisheye::calibrate` 函数来估计相机内部参数以及畸变矢量。 - **去畸变应用**: 利用上述得到的数据通过 `initUndistortRectifyMap` 创建重投影变换表,并借助此表格重新采样输入帧上的每一个点从而生成修正后的视图。 以下是 Python 版本的一个简单例子展示如何加载已知参数并对单幅图片实施纠正措施: ```python import cv2 import numpy as np # 假设已经获得K(内参),D(畸变) K = np.array([...]) # 替换实际数值 D = np.array([...]) img = cv2.imread('distorted_image.jpg') dim = img.shape[:2][::-1] map1, map2 = cv2.fisheye.initUndistortRectifyMap(K, D, np.eye(3), K, dim, cv2.CV_16SC2) undistorted_img = cv2.remap(img, map1, map2, interpolation=cv2.INTER_LINEAR, borderMode=cv2.BORDER_CONSTANT) cv2.imwrite('corrected_image.jpg', undistorted_img) ``` 这段脚本读取一张扭曲的JPEG文件作为源素材;接着定义好尺寸大小之后便能初始化未失真矩形映射关系;最后再依据该映射规则调整原图画素分布形成新的清晰影像存档下来。 #### 结合深度学习框架做目标识别 一旦完成了初步的几何变形补偿工作以后就可以着手构建或者选用现有的物体探测网络架构比如 YOLOv5 或 Faster R-CNN 来训练特定数据集合下的分类器实例。值得注意的是如果前期没有很好地解决视角偏差问题那么后期无论采用多么先进的机器学习手段都难以取得理想效果所以务必重视前序环节的质量控制。 另外一种策略是在不改变物理空间结构的前提下直接让神经元学会适应这种特殊的透视模式即所谓的端到端解决方案其中包含自定义损失函数设计使得预测框更加贴合真实世界中的形状特征而不是单纯依赖标准IOU度量指标评估优劣程度。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值