最近錄制數據時,為了保護隱私,我做了一個小工具:video-privacy-blur
在采集街景、測試視頻時,經常會拍到人臉和車牌,這些信息在分享或存儲前必須做匿名化處理。手動后期太耗時,于是我基于 Ultralytics YOLO + OpenCV 做了一個一鍵批處理的工具。
只需要一條命令,就能完成車牌 / 人臉檢測并自動馬賽克或模糊處理,支持 CPU / GPU / Apple MPS,既能處理視頻文件,也能直接用攝像頭輸入。
https://github.com/MengWoods/video-privacy-blur
? 功能特點
- 檢測模型:基于 YOLOv8,高精度檢測人臉和車牌
- 設備支持:CPU / GPU / MPS 自動選擇
- 可選目標:可獨立開關人臉或車牌處理
- 匿名化方式:高斯模糊 / 像素化(馬賽克)
- 易用性:文件或攝像頭都能直接處理
- 零配置:車牌檢測權重直接下載即可使用,無需手動標注
📦 快速開始
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
pip install -e .
🚀 使用示例
# 同時模糊人臉和車牌(高斯模糊)
privacy-blur --plate-weights models/license_plate_detector.pt \--face-detector yolo \--face-yolo-weights models/yolov8n-face.pt \--input input.mp4 --output out.mp4 --device auto --show# 僅處理車牌
privacy-blur --input dashcam.mp4 --no-blur-faces# 僅處理人臉,像素化,使用 GPU
privacy-blur --input street.mp4 --no-blur-plates --method pixelate --device cuda
🔧 常用參數
--input
輸入視頻路徑或攝像頭序號--output
輸出視頻路徑(默認out_blurred.mp4
)--device
運行設備:auto
/cpu
/cuda
/mps
--method
匿名方式:gaussian
(模糊) /pixelate
(馬賽克)--blur-strength
模糊強度(數值越低越模糊)--pixelate-blocks
馬賽克塊數(數值越低越粗)
💡 開發初衷
我在進行自動駕駛和感知系統測試時,需要錄制道路視頻。但數據中經常包含大量無關人員和車輛的隱私信息,如果后期一個個手動遮擋,不僅耗時還容易遺漏。
另外這個車牌識別模型還是有一些不足的地方,未來有可能我重新訓練個模型來提升準確率。