AI 赛车项目:数据准备到部署

76 阅读8分钟

为了在 Jetson Nano 上实现 AI 赛车所需的实时感知,最佳工作流程是:在高性能电脑上利用 Grounding DINO + SAM 自动生成 YOLOP 模型所需的定制像素级标注数据,然后将训练好的 YOLOP 模型(已优化为 TensorRT 格式)部署到 Nano 上进行障碍物检测和车道线分割的实时推理。


AI 赛车项目:数据到部署的完整工作流程

您的项目是一个经典的嵌入式实时感知项目,涉及到两个主要阶段和两套不同的 AI 模型:一套用于数据准备(PC),一套用于实时比赛(Jetson Nano)。

第一阶段:数据准备 (Data Annotation)

这一阶段在高性能电脑(PC/云端 GPU)上进行,目标是生成高质量、像素级的三合一定制数据集(障碍物框、可行驶区域、赛道线)。

步骤任务使用的模型/工具产出结果
1. 采集拍摄赛道图片和视频。您的摄像头原始图像数据
2. 自动化识别 (Grounding DINO)输入文本提示(例如:“盒子”, “赛道线”),让模型在图片中自动识别并框出所有目标。Grounding DINO边界框(Bounding Box)类别标签(自动完成障碍物的检测预标注)
3. 自动化分割 (SAM)将 Grounding DINO 输出的边界框作为空间提示批量输入给 SAM。SAM精确的像素级掩码(自动完成赛道线和可行驶区域的分割预标注)
4. 标签精修人工快速审核并修正 Grounding DINO + SAM 生成的预标注结果(这是半自动化的精华所在)。CVAT 或其他标注软件高质量、完整的 YOLOP 定制数据集

第二阶段:模型训练与部署 (Training & Deployment)

这一阶段将您定制的数据转化为能在 Jetson Nano 上高速运行的 AI 系统。

步骤任务使用的模型/工具产出结果
5. 模型训练使用定制数据集对多任务模型进行训练。YOLOP 模型架构针对您的赛道优化过的 YOLOP 权重文件
6. 模型优化将训练好的模型(通常是 PyTorch 格式)转化为 Jetson 硬件优化的格式。NVIDIA TensorRT高性能、低延迟的 YOLOP 部署模型
7. 实时部署将优化后的模型部署到 Jetson Nano 上。Jetson Nano实时(Real-Time) 的赛道感知和决策系统

最终选择: 鉴于您对障碍物检测车道线分割的双重需求,YOLOP 作为一体化的多任务模型是部署到 Jetson Nano 上的最佳选择。 上面的问题我觉得有个缺点,就是还是需要训练yolop,太麻烦了,有没有类似于Grounded-Segment-Anything,但是可以运行在nvidia jetson nano上的模型。

Q、我就是想识别类似于篮球场、足球场上的那种白线,有现成的模型可以做到不?

A、这是一个非常具体的应用场景,您想识别的篮球场、足球场上的白线(即运动场上的划線)与自动驾驶的车道线有很大区别:

  • 特点: 线条通常更细、更直、背景單一(如綠色草地、木地板或塑膠跑道),且形狀是固定的幾何圖案。
  • 挑战: 预训练模型很難直接识别,因为它没见过这种**“体育场地”**的标注数据。

针对运动场白线的现有模型方案

要找到一个现成的、无需训练就能完美识别体育场白线的深度学习模型,目前来看非常困难,几乎没有。

这是因为大多数公开的图像分割模型都集中在通用物体(COCO/Pascal VOC)、自动驾驶(BDD100K/CULane)或医学影像。运动场地的划线分割市场需求相對較小,沒有形成通用的零樣本(Zero-shot)模型。

但是,您有两种最接近的替代方案可以尝试:

方案一:使用传统计算机视觉(推荐尝试)

由于体育场的线条具有高度固定的几何特性高对比度,传统视觉算法往往比复杂的深度学习模型更简单、更快、更稳定。

步骤任务优点缺点
1. 颜色阈值分割将图像轉換到 HSV 顏色空間,僅保留白色範圍的像素。無需訓練,計算量極低(非常快),Jetson Nano 上可達極高幀率。容易受到光照變化(陰影)的影響。
2. 形態學處理使用膨脹 (Dilation)腐蝕 (Erosion) 操作來消除噪點,並連接斷開的線條。進一步提高線條的連續性和清晰度。
3. 霍夫变换 (Hough Transform)檢測步驟 2 處理過的圖像中的直線精確定位直線的參數(角度和位置)。僅適用於直線或簡單曲線。
  • 结论: 这是一个在 Jetson Nano 上实现实时性(Real-Time)高鲁棒性最快、最可靠的方法,无需任何模型训练

方案二:使用微调过的轻量级分割模型

如果您必须使用 AI 模型,那么可以尝试使用在车道线数据上预训练过的轻量级模型,并进行小规模微调

模型特点适用性
LaneNet / ENet專為車道線二值分割設計,架構超輕量。雖然它們是為公路車道線設計的,但它們已經學會了**"如何分割細長、連續的線條"**這個通用概念。
工作流程:您只需使用 Grounding DINO + SAM 快速标注几张体育场地的图像,然后用这些少量数据(可能只需要几十张)对预训练的 LaneNet/ENet 进行微调微调只需很短的时间,比从零开始训练 YOLOP 快得多,而且部署到 Nano 上更容易优化为 TensorRT。

最终建议

如果您希望零訓練絕對的實時性,請選擇方案一(传统计算机视觉)

如果您希望模型具有一定的智能魯棒性,且不介意極少量的微調,請選擇方案二(轻量级分割模型微调)

Q、minimouse比赛上那种路线图,有没有ai模型能够识别的?

A、您提到的是 Mini Mouse(或稱微鼠、尋線鼠)比賽中那種極簡、高對比度的黑色賽道圖。這種賽道的特點是:

  1.  極簡主義: 通常是黑色或深色背景上的單一白色線條。
  2.  高對比度: 線條與背景顏色差異極大。
  3.  封閉環境: 光照相對穩定。

針對 Mini Mouse 賽道圖的 AI 模型選擇

對於這種專門設計的、高對比度的尋線任務,使用傳統的深度學習模型(如 YOLOP)是過度殺傷,並且不划算。 AI 模型的強項在於處理複雜、多變、低對比度的真實世界場景(如交通、行人、陰影)。

對於 Mini Mouse 這類賽道,最推薦且最有效率的方案是使用傳統計算機視覺(CV)方法,而不是 AI 模型。

推薦方案:傳統計算機視覺(OpenCV)

這是業界和教育機器人競賽中最常用、最快、最穩定的尋線方法。

步驟任務說明優勢
1. 圖像顏色轉換將 RGB 圖像轉換為灰度圖,以簡化處理。專注於亮度差異。極快,計算量最小。
2. 二值化(閾值分割)設置一個閾值,將圖像中所有低於該閾值的像素設為黑色(線條),高於該閾值的像素設為白色(背景)。由於線條和背景對比度極高,這個步驟能完美分離線和背景。無需訓練,實時性極高,Jetson Nano 上可以達到極高的幀率。
3. 重心點計算計算二值化後線條區域的幾何重心(Centroid)。重心點即為車輛需要跟隨的目標點。直接輸出控制信息,適合簡單的 PID 控制。
4. 區域感興趣(ROI)只處理圖像底部的一小塊區域(車輛前方的視野),而不是整個圖像。進一步減少計算量,確保速度。速度更快,專注於當前決策。

為什麼不推薦 AI 模型(YOLOP/LaneNet)?

  1.  訓練成本: 即使使用最輕量的模型,您仍然需要大量時間來標註數據並進行模型訓練,這對於一個如此簡單的視覺任務來說是巨大的浪費。
  2.  推理開銷: 即使優化為 TensorRT,深度學習模型在 Jetson Nano 上的運行速度仍不如直接的 CV 算法。
  3.  過度複雜: AI 模型會試圖學習和泛化不必要的複雜特徵,而 CV 算法只需要一行代碼來鎖定目標顏色或亮度。

總結: 對於 Mini Mouse 這種高對比度的尋線任務,請使用 OpenCV 庫中的顏色閾值分割和重心計算。這是最快、最穩定、最直接的解決方案,完全不需要深度學習模型。