BackgroundRemover は、AI を使用して画像やビデオから背景を削除するコマンド ライン ツールで、 https://BackgroundRemoverAI.com を強化するために nadermx によって作成されました。なぜそれが作られたのか疑問に思ったら、この短いブログ投稿を読んでください。
Python >= 3.6
python3.6-dev #または使用するPythonのバージョン
torch および torchvision 安定版 (https://pytorch.org)
ffmpeg 4.4+
明確にするために、Python と、インストールした Python の開発バージョンの両方をインストールする必要があります。 IE; python3.10 を使用した python3.10-dev または python3.8 を使用した python3.8-dev
https://pytorch.org に移動し、 INSTALL PYTORCH
セクションまで下にスクロールして、指示に従います。
例えば:
PyTorch Build: Stable (1.7.1) Your OS: Windows Package: Pip Language: Python CUDA: None
ffmpeg と python-dev をインストールするには
sudo apt install ffmpeg python3.6-dev
backgroundremover をインストールするには、pypi からインストールします。
pip install --upgrade pip pip インストール背景リムーバー
プログラムを初めて実行するときは、u2net モデルがあるかどうかがチェックされ、ない場合はこのリポジトリから取得されることに注意してください。
pip 経由でインストールせずにこれを実行することもできます。git をローカルにクローンして仮想環境を起動し、要件をインストールして実行するだけです。
python -m backgroundremover.cmd.cli -i "video.mp4" -mk -o "output.mov"
そして窓の場合
python.exe -m backgroundremover.cmd.cli -i "video.mp4" -mk -o "output.mov"
git clone https://github.com/nadermx/backgroundremover.gitcd backgroundremover docker build -t bgremover .alias backgroundremover='docker run -it --rm -v "$(pwd):/tmp" bgremover:latest'
ローカル ファイル画像から背景を削除する
背景削除 -i "/path/to/image.jpeg" -o "output.png"
アルファマットをオンにすることで、より良い結果が得られる場合があります。例:
背景削除 -i "/path/to/image.jpeg" -a -ae 15 -o "output.png"
u2netp
、 u2net
、またはu2net_human_seg
の間で異なる背景除去方法に合わせてモデルを変更します。
背景削除 -i "/path/to/image.jpeg" -m "u2net_human_seg" -o "output.png"
背景削除 -i "/path/to/video.mp4" -tv -o "output.mov"
backgroundremover -i "/path/to/video.mp4" -tov "/path/to/videtobeoverlayed.mp4" -o "output.mov"
backgroundremover -i "/path/to/video.mp4" -toi "/path/to/videtobeoverlayed.mp4" -o "output.mov"
背景削除 -i "/path/to/video.mp4" -tg -o "output.gif"
プレミア用のマットファイルを作成する
背景除去 -i "/path/to/video.mp4" -mk -o "output.matte.mp4"
ビデオのフレームレートを変更します (デフォルトは 30 に設定されています)
背景削除 -i "/path/to/video.mp4" -fr 30 -tv -o "output.mov"
ビデオの合計フレーム数を設定します (デフォルトは -1 に設定されています。つまり、完全なビデオから背景を削除します)。
背景削除 -i "/path/to/video.mp4" -fl 150 -tv -o "output.mov"
ビデオの GPU バッチ サイズを変更します (デフォルトは 1 に設定されています)
背景削除 -i "/path/to/video.mp4" -gb 4 -tv -o "output.mov"
ビデオで作業するワーカーの数を変更します (デフォルトは 1 に設定されています)
背景削除 -i "/path/to/video.mp4" -wn 4 -tv -o "output.mov"
u2netp
、 u2net
、またはu2net_human_seg
の間で異なる背景除去方法に合わせてモデルを変更し、フレームを 150 に制限します
背景削除 -i "/path/to/video.mp4" -m "u2net_human_seg" -fl 150 -tv -o "output.mov"
from backgroundremover.bg import remove def remove_bg(src_img_path, out_img_path): model_choices = ["u2net", "u2net_human_seg", "u2netp"] f = open(src_img_path, "rb") data = f.read() img = remove(data, model_name=model_choices[0], alpha_matting=True, alpha_matting_foreground_threshold=240, alpha_matting_background_threshold=10, alpha_matting_erode_structure_size=10, alpha_matting_base_size=1000) f.close() f = open(out_img_path, "wb") f.write(img) f.close()
ロジックをビデオから画像に変換して、画像の削除時により多くの GPU を利用します
ドキュメントをもう少し整理してください
データセットに画像やビデオを調整してフィードバックを与える機能を追加します
ストリーミング用にビデオのリアルタイム背景削除機能を追加
フラスコサーバーAPIを終了する
u2net 以外のモデル、つまり独自のモデルを使用する機能を追加します。
他の
承認されました
私たちのプロジェクト BackgroundRemoverAI.com またはこの git へのリンクを提供し、気に入っていることや使用していることを人々に伝えてください。
他のパッケージの一部を結合した後、スーパーユーザーなどに賞金の質問としてパーツを投稿することで独自の機能をいくつか追加して、独自のパッケージを作成しました。また、以前にハッカーニュースで画像部分をオープンソースにするよう求めていたため、追加することにしました。ビデオで、そしてもう少し詳しく。
https://arxiv.org/pdf/2005.09007.pdf
https://github.com/NathanUA/U-2-Net
https://github.com/pymatting/pymatting
https://github.com/danielgatis/rembg
https://github.com/ecsplendid/rembg-greenscreen
https://superuser.com/questions/1647590/have-ffmpeg-merge-a-matte-key-file-over-the-normal-video-file-removing-the-backg
https://superuser.com/questions/1648680/ffmpeg-alphamerge-two-videos-into-a-gif-with-transparent-background/1649339?noredirect=1#comment2522687_1649339
https://superuser.com/questions/1649817/ffmpeg-overlay-a-video-after-alphamerging-two-others/1649856#1649856
Copyright (c) 2021-現在 ジョナサン・ネーダー
著作権 (c) 2020-現在 ルーカス・ネスラー
Copyright (c) 2020-現在 ティム・スカーフ博士
著作権 (c) 2020 年現在 ダニエル・ゲイティス
MIT ライセンスに基づいてライセンスされたコード Apache License 2.0 に基づいてライセンスされたモデル