オープンソースのビデオ切り抜き技術が人気です!背景を変える方法は、それが真実か嘘かを判断するのが非常に難しい

オープンソースのビデオ切り抜き技術が人気です!背景を変える方法は、それが真実か嘘かを判断するのが非常に難しい

グリーンスクリーンは、映画やテレビドラマで画像を切り取ったり背景を変えたりするのに強力なツールですが、グリーンスクリーンの前で撮影しなくても、背景を完璧に変えることができるのでしょうか?ワシントン大学の研究者らは最近、グリーンスクリーンの前で撮影しなくてもビデオの背景を完璧に変換し、世界全体をグリーンスクリーンにすることができるという論文をアップロードしました。

著者らが提供したデモから、彼らの方法が驚くほどうまく機能していることがわかります。ビデオ内の人物が髪を激しく揺らしても、合成効果には影響しません。

さまざまなアクションを実行するときに「間違い」はありません。

被写体と背景が判別しにくく、手持ちカメラが少し揺れても、切り抜き効果は良好です。

現在、この論文はCVPR 2020 カンファレンスに採択されています。

  • 論文リンク: https://arxiv.org/pdf/2004.00626.pdf

  • GitHub リンク: https://github.com/senguptaumd/Background-Matting

論文の中で、研究者らはマットを作成するための新しい方法を提案した。既存のマスキング方法のほとんどでは、背景としてグリーン スクリーンを使用するか、トライマップを手動で作成する必要があります。もちろん、三元図を必要としない自動的な方法もありますが、結果は良くないものになります。この記事で提案されているマスキング方法では、3値マップは必要ありませんが、クリッピングと背景変更の効果が優れています。

もちろん、このような良い結果を得るには条件があります。研究者は、オリジナルの画像/ビデオに加えて、人物が写っていない背景写真も追加で撮影するよう写真家に依頼しました。このプロセスは、三角図を作成するよりもはるかに時間がかかりません。研究者たちは、敵対的損失を使用してディープネットワークをトレーニングし、マスクを予測しました。彼らはまず、グラウンドトゥルースを含む合成データを使用して、教師あり損失を伴うマスク ネットワークをトレーニングしました。ラベル付けせずに合成画像と実画像の間のギャップを狭めるために、研究者らは、最初のネットワークによって誘導される別のマスク ネットワークと、合成画像の品質を判断する識別器をトレーニングしました。研究者たちは、この新しい方法を多くの画像やビデオでテストし、以前の SOTA よりも大幅に優れていることを発見しました。

この論文に関する議論では、vlog (クラウド ツーリズム)、ビデオ会議など、多くの潜在的なアプリケーション シナリオが考えられます。

大多数の「喫煙・飲酒僧侶」にとって、次回、研究室で作業(触る)や釣り(釣る)をしている動画を上司から投稿するように求められたら、おそらく使えるだろう。

方法

システムの入力は、静止した自然の背景の前に人が立っている画像またはビデオであり、純粋な背景画像も必要です。背景画像の取得は非常に簡単で、被写体をフレーミングエリアから出させて、露出と焦点距離を固定したカメラ(スマートフォンのカメラなど)を操作して写真を撮るだけです。研究者は、手持ちカメラの場合、カメラの動きが小さいと想定し、ホモグラフィーを使用して背景を特定の入力画像に合わせました。研究者らは入力データから対象人物のソフトセグメンテーションも抽出した。ビデオ入力の場合、マスクの生成を支援するために隣接するフレームを追加できます。

図 2: 方法の概要。

Adobeデータセットの教師付きトレーニング

研究者らはまず、Adobe Matting データセット (不透明な物体の画像のみを使用する) でディープ マスキング ネットワークをトレーニングしました。ネットワークは、人物を含む画像 I、純粋な背景画像 B'、人物 S、および隣接フレームの時間スタック M (オプション) のソフトセグメンテーションを入力として受け取り、前景マップ F と前景マスク α を出力します。 Sを生成するために、研究者らは文字のセグメンテーション、浸食、膨張、ガウスぼかしを適用した。ビデオを処理するときに、M を I の前後の 2 つのフレームに設定します。 2つのフレーム間の間隔がTであると仮定すると、選択される隣接フレームは{I−2T、I−T、I+T、I+2T}になります。色を無視し、動きの情報に重点を置くために、画像はグレースケールに変換されました。入力にビデオがない場合、研究者は M を {I、I、I、I} に設定し、これらの画像もグレースケールに変換されます。入力セットが{I, B′, S, M}で表され、重みパラメータθが与えられたネットワークの動作は次のように表すことができます。

研究者らは、入力画像に基づいてすべての入力情報の特徴をより効果的に組み合わせるためのコンテキストスイッチングブロック(CSブロック)ネットワークを提案しました(上記の図2を参照)。たとえば、人物の一部が背景と似ている場合、ネットワークはその領域のセグメンテーションの手がかりにさらに注意を払う必要があります。ネットワークには、それぞれ 256 チャネルの特徴マップを生成する 4 つのエンコーダーがあり、1x1 畳み込み、BatchNorm、ReLU を適用して I の画像特徴と B '、S、M の画像特徴をそれぞれ組み合わせ、3 つのペアごとに 64 チャネルの特徴を生成します。最後に、1x1 畳み込み、BatchNorm、ReLU を介して、これら 3 セットの 64 チャネル機能と元の 256 チャネル機能を組み合わせ、エンコードされた機能を取得して、残差ブロックやデコーダーを含むネットワークの他の部分に渡しました。研究者たちは、上記の CS ブロック アーキテクチャが、ネットワークが Adob​​e データセットから実際のデータに一般化することに役立つことを観察しました。

研究者らは、教師あり損失を使用して、Adobeデータセット上でネットワークG_Adobe ≡ G(·; θ_Adobe)をトレーニングしました。

その中で、(F, α) = G(X; θ_Adobe) の勾配項 α は、モデルがより鮮明な画像を生成するように促すことができます。

ラベル付けされていない実データに対する敵対的トレーニング

研究者らが提案した CS ブロックは、データ拡張と組み合わせた後、実際の画像と Adob​​e データセットを使用して合成された画像との間のギャップを大幅に短縮します。ただし、この方法では実際の画像を処理するときに次のような問題が残ります。

  • 指、腕、髪の毛の近くの背景がマスクにコピーされます。

  • 画像の分割に失敗しました。

  • 前景の重要な部分の色は背景色と似ています。

  • 画像と背景の位置が合っていません。

上記の問題を解決するために、研究者はラベルのない実際のデータからモデルをトレーニングする自己教師学習法を使用することを提案しました。

この方法の主な考え方は、マスク推定における大きな誤差が、新しい背景の下で合成された画像の歪みにつながるというものです。たとえば、不良なマスクには元の画像の背景の一部が含まれている可能性があり、新しい背景と合成すると、以前の背景の一部が新しい背景にコピーされます。そこで研究者らは、マスク ネットワークのパフォーマンスを向上させるために、合成画像と実際の画像を区別する敵対的識別器をトレーニングしました。

研究者らは、LS-GAN フレームワークを使用してジェネレーター G_{Real} と識別器 D をトレーニングし、次の目的関数を最小化してジェネレーターをトレーニングしました。

ここで、(F, α) = G(X; θ_{Real})であり、\bar{B}は、合成画像を生成するために識別器によって使用される与えられた背景です。研究者らはλを0.05に設定し、訓練中に2エポックごとにそれを半分に減らして、識別器が重要な役割を果たすようにした。研究者らは、モデルがより鮮明な画像を生成するよう促すために、アルファ損失関数の重みを高く設定した。

研究者は、識別器をトレーニングするために次の目的関数を使用しました。

ここで、θ_{Disc}は識別器ネットワークの重みを表し、(F, α) = G(X; θ_{Real})です。

実験結果

研究者らは、ベイジアンマッティング、コンテキスト認識マッティング、インデックスマッティング、レイトフュージョンマッティングなど、ベンチマークで優れたパフォーマンスを示したいくつかのディープマスキングアルゴリズムを含む他の方法と自分たちのアプローチを比較しました。

Adobeデータセットの結果

研究者らはまず 26,900 個のサンプルを使用して GAdobe をトレーニングし、100 個のランダムな背景に 269 個のターゲットを合成し、ネットワーク入力として背景の摂動バージョンを追加し、バッチ サイズ 4、学習率 1e で Adam オプティマイザーを使用してトレーニングしました。

この実験では、次の図に示すように、Adobe Dataset 内の 220 個の合成材料の結果を比較しました。

表 1: Adob​​e データセットのアルファマスク エラー。値が低いほどパフォーマンスが優れていることを示します。

実データによる結果

さらに、研究者らはスマートフォンのiPhone 8を使用し、手持ちカメラと固定カメラの両方で屋内と屋外のビデオを撮影した。

図 3: (ae) は、自然な背景で手持ちカメラで撮影したビデオのアルファ チャネルと前景、(e) は動的な背景での失敗例です。

さらに、研究者らはユーザーグループに対して調査を実施し、その結果にはテストビデオの総合評価が含まれていました。スコアは、提案された方法が、特にカメラで撮影されたシーンでは他の方法よりも優れていることを証明していますが、非平面の背景によって生じる視差のために、手で撮影したビデオでは依然としていくつかのマスキング エラーが発生します。

表 2: 10 本の実際のビデオ (固定カメラ) に関するユーザー調査の結果。

表 3: 10 本の実際のビデオ (ハンドヘルド カメラ) に関するユーザー調査。

オープンソースコードの使い方の紹介

環境設定

プロジェクトをローカルに複製します。

  1. git クローンhttps://github.com/senguptaumd/Background-Matting.git

著者が提供するコードは Python 3 環境で実行する必要があり、Pytorch=1.1.0、Tensorflow=1.14、cuda10.0 バージョンでテストされています。次に、conda 仮想環境を作成し、依存関係をインストールします。

  1. conda create --name バックマット python= 3.6
  2. conda バックマットを有効にする

CUDA 10.0 がデフォルトの cuda であることを確認してください。 CUDA 10.0 がコンピュータの /usr/local/cuda-10.0 ディレクトリにインストールされている場合は、次のコマンドを実行します。

  1. LD_LIBRARY_PATH=/usr/local/cuda- 10.0 /lib64 をエクスポートします
  2. エクスポート PATH=$PATH:/usr/local/cuda- 10.0 /bin

PyTorch と Tensorflow および関連する依存関係をインストールします。

  1. conda インストール pytorch= 1.1 . 0 torchvision cudatoolkit= 10.0 -c pytorch
  2. tensorflow-gpu= 1.14.0 をpipでインストールします
  3. pip インストール -r 要件.txt

サンプル画像で推論を実行する

(1)データの準備

キャラクターの切り抜きにグリーン スクリーン効果を実現するには、次のデータが必要です。

  • 人物が写っている画像(拡張子 _img.png)

  • 文字なしの背景画像(拡張子_back.png)

  • 文字を挿入する対象の背景画像(data/backgroundフォルダに保存)

また、sample_data/ フォルダーをテストに使用し、それを参照して独自のテスト データを準備することもできます。

(2)事前学習済みモデル

著者が提供するクラウド ディスクから事前トレーニング済みモデルをダウンロードし、Models/ ディレクトリに配置します。

  • 前処理

  • セグメンテーション

  • 背景マッティングには、被写体のセグメンテーション マスクが必要です。Deeplabv3+ の Tensorflow バージョンを使用します。

(3)前処理

著者は、TensorFlow バージョンの Deeplabv3+ を使用して、文字の切り抜きのセグメンテーション マスクを生成します。

cd背景マット/

git clone http://github.com/tensorflow/models.git

CDモデル/リサーチ/

PYTHONPATH をエクスポート = $PYTHONPATH:` pwd `:` pwd `/slimcd ../..

python test_segmentation_deeplab.py -iサンプルデータ/入力

もちろん、Deeplabv3+ の代わりに他の画像セグメンテーション ネットワークを使用することもできます。セグメント化された結果を、拡張子が _masksDL.png のファイルとして保存します。

その後、画像の位置合わせの前処理、つまり背景を入力画像に合わせる処理を実行する必要があります。画像を撮影する際は、オートフォーカス機能と自動露出機能をオフにする必要があることに注意してください。 python test_pre_process.py -i sample_data/input を実行して画像を前処理します。背景画像を自動的に整列させ、入力画像に合わせてオフセットとゲインを調整します。

(4)肖像画の切り抜き

背景を置き換えるには、次のコードを実行します。三脚で撮影した画像の場合、-m real-fixed-cam を使用すると最良の結果が得られます。オプション -m syn-comp-adobe を使用すると、実際のデータ (最悪の結果をもたらす) ではなく、Adobe 合成データセットでトレーニングされたモデルが使用されます。

  1. python test_background-matting_image.py -m リアルハンドヘルド -i sample_data/input/ -o サンプル

<<:  フェイフェイ・リー氏のチームは、一人暮らしの高齢者のCOVID-19症状を監視する家庭用AIシステムを開発

>>:  マスク氏は有言実行だ!テスラブランドの人工呼吸器が「納品」、モデル3の部品で製造

ブログ    
ブログ    
ブログ    

推薦する

新しいシステムではドローンを使って手の届きにくい太陽光パネルを清掃する

太陽光パネルには常に埃や汚れなどのゴミがたまります。また、高層ビルの屋上や遠隔地に設置されていること...

顔認証決済の登場:「決済戦争」の次なる激戦点となるか?

[[280749]]最近、支払いをするために携帯電話を取り出すと、「顔支払い」を選択すると割引があ...

心配なことはまだ起こりました。プログラマーは、自分が書いた AI アルゴリズムが原因で解雇されたのです。

[[419510]]最近、ロシア人プログラマーが元雇用主を相手取り訴訟を起こし、職務の復職と精神的...

小売業界におけるロボットの応用は何ですか?

巨大食品店で溢れかえった商品を見つける高さ6フィートの自由に動くロボットから、ウォルマートの在庫をチ...

テクノロジーは農作物の栽培プロセスを変えています。何か食べたいときはロボットに頼まなければなりません

Science News for Students によると、食物の栽培は通常、種から始まります。そ...

2027年までに、世界のAI医療画像ソリューション市場は47億2,060万米ドルに達すると予測されています。

3月26日、エマージング・リサーチが発表した最新レポートによると、世界の人工知能医療画像ソリューシ...

...

Tech Neo 12月号:人工知能の応用シナリオ

51CTO.com+プラットフォームは、オリジナルの技術コンテンツの選択と絶妙なレイアウトを通じて、...

WuDao 2.Oがリリースされ、中国語を中核とする大規模な事前学習済みモデルプラットフォームエコシステムを構築

【51CTO.comオリジナル記事】​​​ GPT-3は昨年5月にリリースされました。 OpenAI...

Baidu Brain OCR技術がBaimiaoアプリを強化:AIが視覚障害者の目となる

現実には、あらゆる種類の印刷されたテキストや、周囲のあらゆるものを何の障害もなく簡単に読むことができ...

大量データストリームのベストプラクティス

概要: 膨大な量のデータを効率的に分析するために、科学者はまず大量の数字を細分化する必要があります。...

...

2020年に注目を集めるグラフ機械学習の研究動向とは?

[[314165]]この記事はLeiphone.comから転載したものです。転載する場合は、Lei...

人工知能は世界の終わりか、それとも深淵か?

あなたは深淵を見つめ、深淵もまたあなたを見つめ返します。 「第一法則: ロボットは人間を傷つけたり、...