opengles在车载360环视avm系统中的应用简介

360环视是辅助驾驶系统的一个技术点,通过鱼眼相机模型标定,图像拼接,鸟瞰图生成,3d渲染等手段把车体周围图像经过3D渲染后,生成2D鸟瞰图和3D环视图,在中控屏幕上显示,用于辅助倒车等。其具体的技术实现手段如下:

1 场景布置,包括在车体周围放置标定布,棋盘格标定布或圆点标定布。

2 四路鱼眼相机的标定,包括内参标定和鱼眼相机的外参标定,标定每个鱼眼相机之间的相对位姿关系包括两两相机之间的平移与旋转矩阵,具体标定可以通过opencv实现,并配合自动选点算法或手动选点算法。以便于接下来进行全景图像的拼接和融合。

3 每路鱼眼相机的图像透视变换,将标定后的鱼眼相机根据标定参数和场景布置点位,将鱼眼相机原始图像透视变换后投影到车体的正前方,后方,和两侧方。

4 全景图像拼接生成鸟瞰图,经透视变换投影后的图,可以通过融合算法进行拼接,对于四个角的重合区域可以通过权重参数和其他融合算法进行融合拼接得到四路相机图像拼接后的2D鸟瞰图。

5 360环视图的拼接融合,四路鱼眼相机可以通过两两图像间的特征匹配点进行两两融合或者通过相机外参经过旋转变化和平移变换后拼接融合,融合处要处理颜色变化,四路图拼接后得到360环视图,即车体周围整个区域的场景环视图。

6 模型准备,包括车体模型,碗状模型,和道路模型与停车位模型,以及地面模型。其中车体模型可以由建模软件生成,包括对应的纹理图。碗状模型是把车体周围空间模拟成碗的周围,车体置身于碗底中间位置。

7 调用opengles进行模型渲染,加载车体模型和碗状模型,加载车体模型纹理文件,进行三角面片的纹理贴图操作对车体进行渲染,利用之前制作的360环视拼接图对碗状模型进行纹理映射,主要是把环视图映射到碗状三角面片顶点,并利用顶点着色器和片段着色器进行模型渲染。同时可以选择不同的视角进行观察。

8 车体行进路线渲染,根据底板发送的传感器数据,包括转向等参数,利用贝塞尔曲线绘制车道线。

9 透明底盘,利用opengles的功能函数,可以调整整个车体的透明度,实现透明地盘效果,同时将前视摄像头的图像,透视投影变换后投影到地面上并保存一系列帧,根据车体的行进时间计算并选择历史帧,融合到碗状模型地面上,得到车体透明与行进的效果。同时根据车体轮式里程计的计算结果,可以进行位姿的预测,将当前位姿与历史帧对应起来,后续根据更新的里程计位姿增量选择对应的历史帧,可以改进透明底盘的效果。

10 仿真平台软件,其实现原理是利用数据回灌,将采集的数据集保存日志,并将其他的传感器信息和任务信息同时保存,包括轮式里程计信息保存。上位机运行opengl,并渲染车体模型,和地面模型后,根据日志回放的数据,对车体和行进路线与相机内容进行渲染计算显示,并动态显示周围停车位检测结果与2D鸟瞰图,3D环视图。

相关推荐
李燚5 小时前
RAG 流水线设计:Eino 的 Loader → Transformer → Indexer → Retriever(第60篇-E46)
人工智能·深度学习·transformer·agent·rag·aiagent·eino
码农学院5 小时前
Vue3小程序开发实战:服装鞋帽箱包行业库存同步方案
人工智能
To_OC5 小时前
跟 AI 写代码越写越乱?我靠这套「Vibe Coding」思路彻底治好了幻觉屎山
人工智能·agent·vibecoding
IT小盘5 小时前
03-大模型API不只是发送Prompt-流式输出超时重试与异常处理
人工智能·python·prompt
深圳慧闻智造技术有限公司6 小时前
机器人减速机壳体加工精度要求的四大核心维度分析
人工智能·机器人·机器人壳体加工
冬奇Lab6 小时前
AI 评测系列(07):自定义 Benchmark——从业务场景到评测集
人工智能
骏晔科技DreamLNK6 小时前
国产蓝牙模块哪个品牌好?骏晔科技 7 款主流型号横向对比
人工智能·科技
用户938515635077 小时前
从零搭建 AI 日记助手:用 Milvus 向量数据库 + RAG 让机器读懂你的每一天
javascript·人工智能·全栈
徐小夕8 小时前
花了一周,3亿tokens,我开源了一款 Word 文档智能审查平台,文稿自动质检+可视化分析,告别低效人工审核
前端·算法·github
阿部多瑞 ABU8 小时前
新帝国殖民主义:文化-情感-金融复合体的当代运作机制
大数据·人工智能·金融