不会用Photoshop抠图?Python助你一键“除”人!
導讀:看過英劇《黑鏡》嗎?圣誕特別版《白色圣誕節》中有這樣一個場景:其中一個未來科技有自由屏蔽人像的功能,可以讓你屏蔽任何一個不想看見或不喜歡的人,然后留下的是一片灰白影像,就像是 Photoshop 軟件中的摳圖功能應用在了動態場景中。
與此不同的是,本文作者則通過在 MS COCO 數據集上使用預先訓練好的 Mask R-CNN 模型來自動生成圖像中行人的掩碼腳本,實現人像屏蔽,并且不需要 GPU 就可以運行這個程序。所以,如果你發現相冊里有以前開心合過影但現在討厭的人,可以讓他/她一鍵變成白底了。此外,你還可以用這個腳本生成多達 80 種不同類型目標的掩碼,包括長頸鹿和公交車等事物。
作者:minimaxir
翻譯:林椿眄
來源:AI科技大本營(ID:rgznai100)
01 使用方法
可以通過以下命令運行行人掩碼腳本:
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。
02 示例
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
03 安裝環境
這個腳本所需的環境配置和 Mask R-CNN 一樣:
Python 3.4+
TensorFlow 1.3+
Keras 2.0.8+
Numpy, skimage, scipy, Pillow, cython, h5py
此外,還需要添加 matplotlib 和 imageio 依賴庫。
原文鏈接:
https://github.com/minimaxir/person-blocker
推薦閱讀
2018世界杯數據清單:真球迷看球必備,偽球迷速成指南(附完整賽程)
到底需要多少人口,才能找出11個會踢球的?
端午出行大數據:去這幾個地方,你就只能看人人人……
各地高考“難度系數”告訴你,天津戶口為什么值得搶
Q:?你覺得這比photoshop簡單嗎?
歡迎留言與大家分享
覺得不錯,請把這篇文章分享給你的朋友
轉載 / 投稿請聯系:baiyu@hzbook.com
更多精彩,請在后臺點擊“歷史文章”查看
總結
以上是生活随笔為你收集整理的不会用Photoshop抠图?Python助你一键“除”人!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FreeRTOS调度器挂起与解除
- 下一篇: Bruce Eckel:我最喜欢Pyth