路考

卷積神經網路的委託:幫自駕車訓練一雙眼睛。

你們這組要用訓練影片自己挑幀、標註,訓練一個 YOLO 物件偵測模型。路考時,考官播一支你們沒看過的行車影片,模型每一幀都要框出車、行人、騎腳踏車的人和號誌標誌;該注意的東西沒框到、或框到不存在的東西,考官就扣分。

步驟

  1. 下載訓練影片。960×720、每秒約 30 幀、6 分多鐘。訓練影片不會出現在路考裡,路考考的是沒看過的路。
  2. 挑幀、標註(Roboflow)。把影片上傳到 Roboflow,抽一部分的幀來標註(例如每秒 1 幀)。在每一幀裡框出看得清楚的東西,類別只有四種,名稱要一字不差:
    類別名稱框什麼漏看扣幾分
    pedestrian行人5
    bicyclist騎腳踏車的人(人和車框在一起)3
    car汽車、貨車、公車2
    sign號誌、標誌1
  3. 匯出。在 Roboflow 產生版本(Generate),格式選 YOLO(YOLOv8 或更新的版本都可以)。前處理的 Resize 不要選 Stretch。
  4. 訓練。
    • Colab(建議):按上面的「在 Colab 開啟訓練筆記本」,照筆記本的說明換成 GPU、填 Roboflow 的專案,從頭跑到尾,最後會下載 road-test-model.onnx。
    • 自己的電腦:下載 train_yolo.py,把 Roboflow 匯出的壓縮檔解壓成同一個資料夾裡的 dataset/,在專案裡 uv add ultralytics 後執行 uv run python train_yolo.py。沒有 NVIDIA 顯卡會很慢,先把 EPOCHS 改成 3 確認資料沒問題,正式訓練到 Colab。
    兩種跑完都會得到 road-test-model.onnx,就是要交的模型檔。組別和 CONF 不用在訓練程式裡設定,交件時再填。
  5. 交模擬路考。到交件頁選組別、輸入組別代碼(老師發給每組的密碼),上傳模型檔,填 CONF。通常一分鐘內就有成績;結果頁可以播放整場路考、看考官紀錄,也能拖 CONF 試算。模擬路考可以交很多次,每組同時只能有一件在跑。
  6. 交正式路考。老師在課堂上開放時才能交,每組只能交一次,CONF 交了就鎖定。開放期間模擬路考暫停收件。

考官怎麼扣分

注意事項