不會用Photoshop摳圖?Mask R-CNN助你一鍵「除」人
源 | AI科技大本營
本文作者則通過在 MS COCO 數據集上使用預先訓練好的 Mask R-CNN 模型來自動生成圖像中行人的掩碼腳本,實現人像屏蔽,並且不需要 GPU 就可以運行這個程序。所以,如果你發現相冊里有以前開心合過影但現在討厭的人,可以讓他/她一鍵變成白底了。此外,你還可以用這個腳本生成多達 80 種不同類型目標的掩碼,包括長頸鹿和公交車等事物。
?
?
▌
使用方法
可以通過以下命令運行行人掩碼腳本:
python3 person_blocker.py -i images / img3.jpg -c"(128,128,128)"-o"bus""truck"
-i / - image:指定的圖像文件。
-m / - model:載入預訓練好的 COCO 模型權重的路徑(默認是當前目錄):如果沒有或不存在指定路徑,模型將自動下載到當前目錄(注意:權重文件的大小為 258 MB)。
-c / - color:掩碼的顏色,採用引號包裝的十六進位或 RGB 3 元組格式(默認是白色)。
-o / - object:要掩碼的目標類型列表(或特定對象的 ID)。你可以在 classes.py 中或通過使用 -names 來查看掩碼的對象選擇(默認值是行人)。
-l / - labeled:保存檢測到的對象及其對象 ID 注釋的標記圖像。
-n / - names:列印目標的類別選項,然後退出。
該腳本輸出兩張圖像:靜態圖像(雙關意圖) person_blocked.png 和動畫圖像 person_blocked.gif。
▌
示例
python3 person_blocker.py -i images/img1.jpg
python3 person_blocker.py -i images/img2.jpg -c "#c0392b" -o "giraffe"
??
python3 person_blocker.py -i images/img3.jpg -c "(128, 128, 128)" -o "bus" "truck"
?
??
特定目標的掩碼需要兩個步驟:在推理模式下運行以獲取每個目標 ID,然後掩碼這些目標 ID。
python3 person_blocker.py -i images/img4.jpg -l
?
python3 person_blocker.py -i images/img4.jpg -o 1
??
▌
安裝環境
這個腳本所需的環境配置和 Mask R-CNN 一樣:
Python 3.4+
TensorFlow 1.3+
Keras 2.0.8+
Numpy, skimage, scipy, Pillow, cython, h5py
此外,還需要添加 matplotlib 和 imageio 依賴庫。
作者:minimaxir
原文鏈接:https://github.com/minimaxir/person-blocker