W6 / 20260401

雙視訊人流計算
與趨勢分析系統

利用 YOLOv8 + EuclideanDistTracker 同步分析兩路影片來源的人流數據,透過折線圖即時呈現趨勢變化。

陳文慶寧
1111310013
工業與資訊管理
2026 / 04 / 01
學生照片
STUDENT PHOTO / 學生照片
01

系統說明

畫面內容
  • 上方左側顯示「群眾來源 A」的視訊畫面
  • 上方右側顯示「群眾來源 B」的視訊畫面
  • 每一路皆顯示目前人數、累積 ID、峰值、短期/長期平均與狀態
  • 下方折線圖即時比較兩個來源的人流變化趨勢
預設來源設定
  • 群眾來源 A:videos/protest_demo.mp4
  • 群眾來源 B:本地 WebCam(設備編號 0)
  • 適用場景:抗議現場、集會活動、群眾雙來源比較
  • 系統可即時比對兩路來源的人流差異
02

今日作業目標

👥
目前人數
即時偵測畫面中的人員數量
🆔
累積辨識 ID
追蹤並累計所有出現過的人員 ID
📈
峰值人數
記錄歷史最高同時出現人數
📊
短期與長期平均
計算並比較兩種時間窗口下的人流平均
🧭
趨勢判讀
自動判斷人流趨勢(上升 / 穩定 / 下降)
📉
雙折線圖
同步顯示兩路來源的人流折線圖比較
03

執行方式(SOP)

1
切換至工作目錄
cd C:\AI_Traffic_System\20260401_1
2
安裝所有必要套件
pip install -r ..\requirements.txt
3
將群眾示範影片放入指定資料夾
20260401_1\videos\protest_demo.mp4
4
執行主程式
python app.py
5
結束程式
按下 q 或 Esc 鍵即可結束執行
04

報告格式需求

01
格式為 HTML(含自訂 CSS),並上傳至 neocities.org 以取得網址
02
雙視訊人流分析系統製作過程說明
03
資訊專案結構說明(含目錄與模組關係)
04
資訊系統環境圖(UML)至少兩張以上
05
程式邏輯與安裝套件等說明,含核心人流辨識技術介紹
06
使用 AI 工具(如 Gemini)的對話分享連結
07
Trouble Shooting:開發過程中遇到的問題與解決方式
08
學習心得(本頁即為本次心得呈現)
05

系統實作截圖

Crowd Trend Analyzer ── 雙視訊人流分析系統執行畫面
系統截圖
06

學習心得

學習心得
WEEKLY REFLECTION / W6

技術收穫

本週透過實作雙視訊人流計算系統,深刻體會到 YOLOv8 在物件偵測上的強大能力。 結合 EuclideanDistTracker 進行人員追蹤,讓我理解如何在幀與幀之間保持 ID 的一致性, 避免重複計算同一個人。此外,同時處理兩路影片輸入的架構設計, 讓我對多執行緒與非同步資料流有了更實際的認識。

實作挑戰

最大的挑戰在於 SSL 憑證錯誤導致 YOLOv8 模型下載失敗, 需要手動繞過或替換下載路徑。另外,WebCam 在某些環境下抓取幀失敗(Error: -1072873821), 需要針對不同設備做例外處理。這些 Trouble Shooting 的過程讓我學到了更系統化的除錯思維。

AI 工具應用

這次大量使用 Gemini 輔助撰寫程式邏輯與 UML 圖,發現 AI 在解釋演算法概念和 快速生成程式框架上非常有效率。但最終的調參與除錯仍需要自己動手, AI 是很好的起點,卻無法完全取代實際操作的經驗累積。

未來展望

希望能將此系統延伸應用至更多場景,例如商場客流統計、 校園出入管制或是活動場地容量監控。同時也想嘗試將後端改為 Flask Web 介面, 讓數據可以透過瀏覽器即時查看,不侷限於本地視窗顯示。

「透過這次作業,我體悟到人工智慧不只是一個工具,更是一種思維方式—— 將複雜的現實問題,轉化為可量化、可分析、可優化的數位系統。」