第一階段:定位
偵測模型
- 架構
- YOLO26n
- 輸入
- 640 × 640 行進方向區域
- 輸出
- 行人號誌邊界框
- 實機推論
- 55.9 毫秒
系統只使用少數固定語句,內容簡短、意義明確,避免在嘈雜的路口造成誤解。以下為裝置實際播放的語句。
實心圓點:恆亮的燈號 空心圓點:閃爍的燈號 灰色圓點:非燈號的狀態提示
另有「系統啟動」、「找到號誌」與「系統錯誤」等狀態提示。
每一幀影像依序經過五個步驟。前兩步負責定位號誌,後三步決定是否發出提示,以及提示的內容。
1–2限定行進方向並定位號誌
3裁切影像並判斷燈色(數值為示意)
連續多幀皆判斷為綠燈
4–5多幀一致後才發出提示
僅分析畫面中央、使用者行進方向的區域,避免誤讀相鄰路口的號誌。
偵測模型(YOLO26n)在該區域內框出行人號誌的位置。
自高解析度原始影像裁切 96×96 影像,由燈色分類模型(YOLO11n-cls)判斷紅、綠或其他;框內若有明顯紅光,即否決綠燈判斷。
連續多幀結果一致時才改變狀態,單一影格的誤判不會直接轉為語音。
由 K230 開發板直接播放語音,不需連接手機或網路。
系統將「定位號誌」與「判斷燈色」分由兩個輕量模型負責。定位需要較大的視野;判斷燈色只需小範圍影像,因此可直接自高解析度原圖裁切,提升遠處號誌的判讀品質。
第一階段:定位
第二階段:燈色
兩個模型皆以 nncase 轉換為 int8 kmodel,於 K230 的 KPU(神經網路加速器)上執行,全程離線運作。模型訓練使用 Kaggle 提供的 GPU 資源。
張台灣路口影像(自建資料集),其中 1,567 張含行人號誌標註。
張保留:以 OpenCLIP 篩除機車與行車視角的影像,僅保留行人視角。
張車用號誌燈箱作為負樣本,使車用號誌誤判為行人綠燈的次數由 12 次降至 0 次。
新資料來源的採用門檻:人工抽查標註,正確率未達 80% 即整批不採用。第二批維基共享資源影像的抽查正確率為 40.6%,未予採用。
張所有模型皆未接觸的影像列為封存測試集,僅於正式發布時開啟,用以確認成績未因資料重疊而高估。
另納入開發板相機實拍影像、近距離合成影像,以及經逐張複查標註的國外行人號誌資料。
目前上板候選模型所使用的資料集。訓練集用於學習,驗證集用於選擇最佳訓練週期,測試集僅用於最終評估。
| 模型 | 訓練集 | 驗證集 | 測試集 | 訓練集組成 |
|---|---|---|---|---|
| 偵測模型 roi_v4 | 2,582 | 396 | 125 | 台灣路口實拍 1,043、近距離合成影像 1,500、室內負樣本 39;共 2,648 個標註框 |
| 燈色分類模型 v12_hf | 6,474 | 763 | 250 | 96 × 96 影像:綠 2,078、紅 2,196、其他 2,200 |
將紅燈誤報為綠燈,可能使使用者在紅燈時進入車道。因此任何模型在離線評估中,此類錯誤必須為 0,才可部署至開發板。
燈色分類模型對綠燈的信心須達 0.8 才會提示綠燈,紅燈則為 0.6。兩種錯誤的後果不同,門檻也隨之不同。
影像不清、號誌過小,或連續影格的結果不一致時,系統一律回報無法確認。新增的功能只能使系統更保守,不得提高綠燈提示的機率。
原本判斷為綠燈的號誌中途無法確認時,系統提示「請勿開始穿越」,而非「停止」:使用者可能已在穿越途中,突然停下反而危險。
以下為目前上板候選組合(偵測模型 roi_v4+燈色分類模型 v12_hf)的離線評估結果。本專題的首要指標是「不將紅燈誤報為綠燈」,其次才是整體正確率。
圓點為正確率,線段為 95% 信賴區間(Wilson);樣本越少,區間越寬。
測試集與驗證集中含號誌的 179 張影格。
不同版本的燈色分類模型,搭配相同的偵測模型。
| 評估項目 | 結果 | 比例 | 95% 信賴區間 |
|---|---|---|---|
| 測試集(裝置可拍攝範圍) | 102 / 111 | 91.9% | 85.3%–95.7% |
| 驗證集(裝置可拍攝範圍) | 158 / 180 | 87.8% | 82.2%–91.8% |
| 偵測模型未曾學習的影像 | 29 / 32 | 90.6% | 75.8%–96.8% |
| 開發板相機實拍 | 38 / 44 | 86.4% | 73.3%–93.6% |
| 測試集、驗證集(含直式近拍) | — | 83.9%、82.0% | — |
| 紅燈或非號誌誤報為綠燈 | 0 | — | — |
| 車用號誌誤判為行人綠燈 | 0 / 28 | 0% | 0%–12.1% |
| 原因 | 張數 | 細項 |
|---|---|---|
| 直式近拍(依規則不判讀) | 28 | 號誌距離約 2 公尺以內 |
| 遠距離小號誌 | 17 | 未偵測到 11、尺寸過小不判讀 5、信心不足 1 |
| 燈色判讀 | 11 | 紅綠相反 4(皆為綠判為紅)、判為其他 3、信心不足 2、相鄰號誌防護 2 |
| 選錯號誌 | 1 | — |
| 燈色分類模型 | 次數 |
|---|---|
| v4(目前上板) | 7 |
| v11 | 2 |
| v12(無車用號誌負樣本) | 12 |
| v12_hf(上板候選) | 0 |
評估限制:偵測模型的訓練資料涵蓋部分測試影像,因此另列其未曾學習的 32 張影像作為參考;由於樣本數較少,信賴區間較寬。實際路口的實地測試尚未完成。
開發現況:開發板目前執行較早期的組合(偵測模型 roi_v4+燈色分類模型 v4);候選組合仍需完成模型轉換與實機驗證。
使用提醒:本裝置為研究原型,不能取代白手杖、導盲犬或他人協助。穿越道路時,請以自身判斷與周遭環境為準。
3D 列印外殼,外型尺寸 90 × 64 × 22.4 mm,以 GoPro 標準接座固定於胸前背帶。設計以「無須視覺即可操作」為前提。
以下為原型目前的操作方式。仍在開發中的部分,已在各步驟中註明。
以 GoPro 胸前背帶固定外殼,鏡頭朝向前方;可旋轉 M5 手轉螺絲調整鏡頭的俯仰角度。
以 Type-C 連接行動電源,語音由 3.5 mm 耳機孔輸出。建議使用不封閉耳道的耳機(例如骨傳導耳機),以保留對車聲等環境聲音的感知。
閱讀模式啟動後,裝置播放「系統啟動」。
開發中目前開機預設進入資料收集用的拍照模式,閱讀模式須由電腦啟動;正式版將改為開機直接進入閱讀模式。
站在路緣後方,面向欲穿越的行人穿越道。聽到「未偵測到號誌,請慢慢左右轉動」時,請原地緩慢轉身,不要橫向移動;聽到「找到號誌」後保持方向。
聽到「綠燈,可以通行」後,仍應以聽覺與手杖確認周遭車流再穿越。聽到「綠燈快結束」或「號誌無法確認」時,請勿開始穿越。
本專題建立在多項開源專案與公開資料之上,所有來源皆依原授權使用並標註出處。完整的資料來源、工具清單與授權,整理於獨立頁面。