Github: https://github.com/minimaxir/person-blocker
人のブロッカー
MS COCOデータセットに事前にマスクされたマスクR-CNNを使用して、画像内の人物( Black MirrorエピソードWhite Christmasなど )を自動的に「ブロックする」スクリプト。 GPUは必要ありません!
しかし、人々だけでなく、キリンやバスなど、最大80種類のオブジェクトをブロックできます。
セットアップ
このプロジェクトはいくつかの依存関係に依存していますので、以下のコマンドを使用して依存関係をインストールしてください。
pip3 install -r requirements.txt
注 :環境によっては、 sudo
を使う必要があるかもしれません。 また、virtualenvを使用することもできます。
使用法
Person Blockerはコマンドラインから使用されます:
python3 person_blocker.py -i images/img3.jpg -c '(128, 128, 128)' -o 'bus' 'truck'
-
-i/--image
:イメージファイルを指定します。 -
-m/--model
:事前に訓練されたCOCOモデルの重みへのパス(デフォルト:カレントディレクトリ):指定されていなければ、カレントディレクトリに自動的にカレントディレクトリにダウンロードされます(注:重みは258 MBです)。 -
-c/--color
:引用符で囲まれた16進数または3要素のRGBタプル形式のマスクの色。 (デフォルト:白) -
-o/--object
:ブロックするオブジェクトのタイプのリスト(または特定のオブジェクトのオブジェクトID)。 ブロックするオブジェクトの選択肢は、classes.py
または-names
フラグを使用して-names
ます。 (デフォルト:人) -
-l/--labeled
:検出されたオブジェクトとそのオブジェクトIDで注釈が付けられたラベル付きイメージを保存します。 -
-n/--names
:オブジェクトのクラスオプションを出力して終了します。
このスクリプトは、このREADMEの冒頭にある静的な画像( person_blocked.png
とperson_blocked.png
( person_blocked.png
)の2つの画像を出力します。
例
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をブロックするという2つのステップが必要です。
python3 person_blocker.py -i images/img4.jpg -l
python3 person_blocker.py -i images/img4.jpg -o 1
要件
マスクR-CNNと同じ要件:
- Python 3.4以降
- TensorFlow 1.3+
- Keras 2.0.8+
- ナンシー、スキマージ、scipy、枕、cython、h5py
プラスmatplotlibとimageio
メンテナー
マックスウルフ( @minimaxir )
MaxのオープンソースプロジェクトはPatreonによってサポートされています。 このプロジェクトが有益であると判明した場合は、Patreonへの金銭的貢献は高く評価され、創造的に活用されます。
ライセンス
MIT
Matterport、Inc.(MIT-Licensed)のMask R-CNNから使用されたコードで、軽微な変更と著作権表示が保持されています。