アマレコVR Ver2.3.2 背景透過EX Quest版
内容は Pico版と同じ です。
画像処理2ndシーズンはPico4中心で開発し、Quest版は最後に公開するつもりでしたが背景透過EXの反響が思いのほかあり うれしかったので急きょPico版を移植しました。
Quest1/2の白黒パススルーだと背景透過EXの処理の粗さが目立つ気がします。
また、Quest1だと60fpsを下回ります。
QuestProは買えなかったので、QuestProでどうなるか、そもそも使えるのか気になるところです。
1.更新内容
・アマレコVR Ver2.3.1 for Pico4と同じ
・メイン画面設定で位置設定等ができない不具合を修正
2.ダウンロード
・ アマレコVR Ver2.3.2 アルファ版 for Quest
・アマレコVRサーバー Ver2.21
アマレコVR Ver2.3.1 for Pico4 アルファ版 背景透過EX
黒以外に白や複数の色でもある程度対応でき従来の背景透過処理の輪郭部を明瞭にする効果があります。
【背景色マップ】
背景色マップは被写体領域の外周から多く使われている色を調べて、背景に使われている色の分布を作成します。
クロマキー処理では画面全体から1色だけ拾うようになっていますが、背景色マップではエリア毎に背景色を決めますので、画面の上の方が暗くて、下の方は白いなどの場合も対応できます。
小さいエリア毎に特殊なクロマキー処理をする感じです。
・被写体からは色を拾わない
・被写体の周辺を調べる
・被写体から遠いところからは色を拾わない
・被写体のエリアは調べた色から補完する
・各エリアの境界が判らないように最後にぼかす
1.使い方
インストール等基本的な使い方は アマレコVR ver2.1.8 for Pico4 動作確認版 を参照してください。

メイン画面設定の暗闇透過オプションが廃止され、代わりに背景透過EXになります。
背景透過EXは単独では使えません。画像処理の背景透過を選択している時だけ機能します。
画像処理メニューから背景透過を選択し、背景透過EXのチェックボックスをON、背景透過EXの透明度を50、色味補正を0にして背景透過処理が安定するまで(背景画像ができるまで)待ちます。
安定したあと被写体の一部が消えるようなら色味補正を少しずつ上げます。色味補正を上げ過ぎると画質の印象が悪くなるので20程度までで調整してください。
背景が残るようなら背景透過EXの透明度を下げてください。それでも背景が残る場合は「被写体も処理する」をONにしてみてください。
【背景色マップの初期状態】
最初は黒に設定されていますので、黒目や黒髪が透明になります。
徐々に背景画像が作成され被写体領域が判るとその外周から色を拾って正しい背景色マップが作製されます。
この間は黒や被写体から離れたところの色を拾ってしまう為不安定となります(何色が透明になるか不定)。
2.設定
・背景透過EX 透明度
背景の透明度を設定します。100は処理なし。数値を下げると背景を透明にします。50が標準です。
・背景透過EX 色味補正
透明度を補正して不透明にします。被写体の一部が透明になってしまう場合に使います。
0は透明度を補正しません。数値を大きくするほど不透明になります。
※ 数値を大きくすると画質の印象が悪くなります。
・被写体も処理する
OFFの場合は被写体の輪郭領域だけ処理します。
被写体内部の黒目などの透明化を防ぐことができますが、輪郭領域の背景が残りやすくなります。
背景透過処理を単独で使う場合と比べ 僅かに輪郭が明瞭になるメリットがあります。
ONの場合は輪郭領域と被写体領域の両方を処理します。
背景が消えやすく被写体の輪郭がもっとも明瞭になりますが、被写体領域の背景色と近い箇所も透明になってしまいます。
背景透過処理で上手く輪郭をとらえられる場合はOFF
上手く輪郭をとらえられなかったり、被写体が複数など、領域が大きめに取られてしまう場合にON
・背景透過処理の輪郭に関する設定

輪郭ぼかしと輪郭サイズを大きめに設定してください。
被写体領域の外周から背景色を拾う(被写体から色を拾いたくない)ため、輪郭が被写体より一回り大きくなるように設定してください。
また、ぼかしている範囲が輪郭領域として処理対象になります。
解像度の1024は機能しません。256を選択してください。
3.サンプル
https://twitter.com/amarectv
youtubeで公開しました。
・サンプル動画のオウムじゃない方

被写体の動きが大きく 輪郭をうまくとらえられない例です。
背景透過処理だけだと 実際の被写体より領域が大きくとられてしまうので、被写体も処理するをONにして被写体も含めて背景色を透明にします。
被写体領域も処理対象にしているため 鳥の体の一部も背景色と一致し透明になっている箇所があります。
・サンプル動画オウム

複雑な背景の例です。
被写体の動きが少ないため 従来の背景透過処理だけでもうまく処理できます。
背景透過EXをON、被写体も処理をOFFにすると残っていた背景がわずかに減り、被写体の半透明になっていた部分を不透明にできます。
共にわずかな差ですが 背景透過EXのチェックボックスをON/OFFすれば瞬時に切り替わりますのでどの程度効果があるか確認してみてください。
・白背景の動画(サンプル動画無し)
背景が被写体より白い場合はうまくいきます。
一見白い背景と思う動画でもクリーム色だったりすると 肌色のどこかしらと一致してしまいうまくいきません。
日本のVR動画だと温かみのある絵造りで 背景の白と肌色が近く ほとんどの場合うまくいきません。
海外のVR動画だと刺さるような白背景だったりするので 極めてうまく処理できます。
白背景の場合は 被写体も処理するをONにして ほぼクロマキー合成のように扱うことができます。
4.ダウンロード
・ アマレコVR Ver2.3.1 アルファ版 for Pico4
・アマレコVRサーバー Ver2.21
2022.11.18追記
メイン画面設定の位置設定など左右にドラッグして設定する分部が全滅しています。
次のバージョンで直します。それまで、メイン画面の位置に関してはボタン機能に割り当てて調整してください。
・メイン画面の位置XYZ
・アルファマップの拡大、位置
アマレコVR Ver2.3.0 for Pico4 アルファ版 暗闇透過処理
今回はPico4のカラーパススルーに合わせて実験していきます。
【更新内容】
・暗闇透過処理
・ボリュームボタンを使えるようにした
・HMDのホームポジションリセットに対応
・アルファマップ微修正
・アルファマップBへブラックマスクオプション追加
・ハンドジェスチャー(スクリーン移動、シーク)
【ボタン機能】
・ドラッグ暗闇透過率
・暗闇透過率 UP
・暗闇透過率 DOWN
・アルファマップのON / OFF切替
【ホイール機能】
・暗闇透過率
1.暗闇透過処理
動画内の暗い部分を透明にします。
色を指定して透明にするクロマキー処理に近いですが、黒に特化していることと、彩度※の高い(色味が強い)個所は逆に不透明になるように調整することができます。
照明の当たっている被写体と 照明の当たっていない背景の明度の差および彩度の差を利用して背景を透過させます。
また、背景透過処理とは異なり処理解像度が高く動画の画像サイズをそのまま処理することができますので、被写体の輪郭が明瞭になります。
※彩度・・・実際は彩度ではなく RGB要素の最大値から最小値を引いた値を使います。ここでは色味と記します。
【暗闇透過処理】
・背景 (暗い 色味は低い)
・被写体 (明るい 色味が高い)
この差を利用して背景を透明、被写体を不透明にします。
背景が暗いVR動画であれば暗闇透過処理単体でもそれなりの効果が得られますが、
黒い部分が一律透明になりますので 黒目や黒髪も透明になってしまいます。
ですので実際は背景透過処理と組み合わせて使うことになります。
2.背景透過処理と暗闇透過処理を併用した場合
背景透過処理は背景と被写体をある程度区別できますので、背景は透明、被写体は不透明で確定します。
一方、背景透過処理の処理解像度は極めて低いため 被写体と背景の境界領域については(アルファ値を)ボカす必要がありました。
暗闇透過処理は このボカした境界領域(輪郭)に適用されます。
暗い分部は透明になりやすく、明るく且つ色味のある肌などは不透明になりやすい性質があり、さらに処理解像度が高いため
背景透過処理のみの場合と比べ 被写体の輪郭を明瞭にする効果が期待されます。
【背景透過処理と暗闇透過処理の併用】
・暗闇透過処理 (処理解像度が高い 輪郭綺麗 黒以外の背景消せない 黒目消える)
・背景透過処理 (処理解像度極めて低い 輪郭ぼやける 動きのない背景消せる 動きのある被写体は消えない)
背景透過処理により黒目は被写体に含まれていれば透明とはなりません。
黒以外の背景も動きが無ければ背景と判断され透明になります。
被写体の輪郭は暗闇透過処理により高い処理解像度で綺麗に処理されますのでそれぞれの処理の強みが発揮されます。
3.使い方
背景透過と暗闇透過はそれぞれON、OFFして単独か組み合わせて使うことができます。
背景透過処理は画像処理メニューから設定します。
暗闇透過処理はチェックボックスをONにして 暗闇透過率を背景が消えて 被写体が消えないように微調整してください。
彩度補正は最初は0のまま使い、被写体も処理するは好みでON/OFF。

・暗闇透過
暗い部分を透明にします。
100の場合は処理をしません。
数値が小さいほど 暗い部分が透明になります。
・彩度補正
色味の大きい部分を不透明にします。
0の時は処理をしません。
数値が高いほど不透明にします。
・白透過オプション
黒ではなく白い部分を透明にしますが、今のところ上手く機能しません。
・被写体も処理するオプション
背景透過と暗闇透過を組み合わせた際に 被写体の領域へも暗闇透過を適用します。
【被写体が複数ある場合 胴体と腕の間など】
背景透過処理はなるべく丸い形状になるよう整形する性質がありますので、被写体が複数ある場合はくっついて一つの塊になってしまう場合があります。
そのため、被写体と被写体の間の空間へ暗闇透過処理が適用されません。
被写体も処理するをONにすると 被写体領域へも暗闇透過処理を適用し 暗い部分を透明にできます。
ただし、黒目など被写体に含まれる領域も透明になってしまいます。
4.調整方法
・背景透過処理の輪郭サイズ
輪郭サイズが小さいと 被写体の領域が侵食されやすくなります(黒目なども透明になりやすい)。
輪郭サイズを大きくすると 被写体の外側に薄っすら背景が残りやすくなります。
・背景透過処理の輪郭ぼかし
被写体の浸食や背景残りを考慮して調整してください。
・暗闇透過処理の透過率
100だと処理しません。
数値を小さくするほど 暗い部分の透過率が高くなります。
これがメインの調整となります。背景が消えつつ、被写体が侵食されない値に調整してください。
ボタンやマウスのホイールへ割り当てることができますので色々試してみてください。
・暗闇透過処理の彩度補正
0だと処理しません。
数値を上げるほど 色味を強く反映させます。
アルファ値を算出する際に色味が大きい画素ほど不透明になります。
暗がり動画など背景に色味が少ない場合は 彩度補正を大きく設定することで明るい被写体が不透明になりやすくなり有利です。
通常の動画(背景が明るく色味がある場合)では 彩度補正を0にしてください。彩度補正値が大きいと色味のある背景が不透明になってしまいます。
5.その他
背景透過処理の1024モードは工事中です。256モードを使ってください。
アルファマップBへ ブラックマスクオプション追加
アルファマップの連動設定に合わせてアルファマップの位置やスケール、ステレオ調整をするようにした
アルファマップAとBの違い
アルファマップAはメイン画面と3rd画面の両方へ適用されます。
アルファマップBは3rd画面だけ適用されます。(メイン画面へは影響しません)
【パススルー映像の一部を隠す】
アルファマップBを応用してパススルー映像の一部を隠すことができます。
・ブラックマスクをON
・連動設定を固定
・HMDのホームポジションリセット(ホームボタン長押しまたはHMDリセットボタン)したあとアルファマップBの位置を調整する
ダウンロード
・ アマレコVR Ver2.3.0 アルファ版 for Pico4
・ アマレコVRサーバー Ver2.21
新しいバージョン アマレコVR Ver2.3.1 が公開されています。