檢測跟蹤計數(shù)系統(tǒng)-YOLOv5+DeepSORT)
本項(xiàng)目為前幾天收費(fèi)幫學(xué)妹做的一個項(xiàng)目在工作環(huán)境中基本使用不到但是很多學(xué)校把這個當(dāng)作編程入門的項(xiàng)目來做故分享出本項(xiàng)目供初學(xué)者參考。一、項(xiàng)目描述基于YOLOv5DeepSORT的視頻目標(biāo)檢測跟蹤計數(shù)系統(tǒng)基于 YOLOv5 DeepSORT 的視頻目標(biāo)檢測跟蹤計數(shù)系統(tǒng)對監(jiān)控視頻中的行人、自行車、小汽車、摩托車、公交車、卡車進(jìn)行實(shí)時檢測、多目標(biāo)跟蹤并通過雙區(qū)域撞線法按方向分別統(tǒng)計進(jìn)入/離開數(shù)量。在原有命令行版本基礎(chǔ)上新增了 Web 界面支持用戶上傳視頻、查看處理進(jìn)度、統(tǒng)計結(jié)果和歷史記錄。二、項(xiàng)目功能– 視頻上傳支持 MP4/AVI/MOV/MKV 等格式拖拽或點(diǎn)擊上傳– 目標(biāo)檢測與跟蹤YOLOv5 檢測 6 類目標(biāo)DeepSORT 分配軌跡 ID– 雙向計數(shù)藍(lán)/黃雙多邊形撞線按穿越順序判定進(jìn)入下行與離開上行同一 ID 防重復(fù)計數(shù)– 統(tǒng)計展示進(jìn)入/離開/合計計數(shù)卡片、分類別統(tǒng)計表、逐次撞線事件時間線– 結(jié)果回放輸出帶檢測框、軌跡 ID、撞線區(qū)域標(biāo)注的 H.264 視頻瀏覽器可直接播放– 歷史記錄SQLite 持久化支持回看統(tǒng)計結(jié)果和刪除記錄重啟不丟失– 處理進(jìn)度實(shí)時顯示幀進(jìn)度和當(dāng)前計數(shù)后臺隊(duì)列串行處理三、運(yùn)行環(huán)境– 操作系統(tǒng)Windows亦兼容 Linux– Python 3.11– CPU 模式運(yùn)行約 0.5 秒/幀有 NVIDIA 顯卡可裝 CUDA 版 PyTorch 加速– 服務(wù)啟動項(xiàng)目根目錄執(zhí)行python app.py 瀏覽器訪問http://127.0.0.1:5000四、項(xiàng)目技術(shù)– 檢測模型YOLOv5mCOCO 預(yù)訓(xùn)練權(quán)重– 跟蹤算法DeepSORT卡爾曼濾波 匈牙利匹配 ReID 外觀特征– 計數(shù)算法雙多邊形區(qū)域撞線法軌跡點(diǎn)穿越順序判定方向– 后端Flask SQLite后臺線程任務(wù)隊(duì)列視頻 Range 分段傳輸– 前端原生 HTML/CSS/JS 單頁應(yīng)用XMLHttpRequest 上傳進(jìn)度、輪詢?nèi)蝿?wù)狀態(tài)– 依賴PyTorch、OpenCV、NumPy、SciPy以上系統(tǒng)源碼經(jīng)過技術(shù)整理與調(diào)試確保能正常運(yùn)行五、項(xiàng)目截圖