Last updated on

OBSでFF14を配信しながらリアルタイムでPC名を黒塗りしてみた!


OBSプラグインでObject Detectionを見つけた!

黒塗りアプリのOBSプラグイン化ができたらいいのになー、難しそうだなー
と思っていたところ、既にOBSプラグインでObject Detectionができるプラグインがありました。
それがこちら↓

ただ当方の利用している物体検出モデルではなく、EdgeYOLOというモデルを利用しているとのこと。
学習用のデータもあったので、EdgeYOLOを学習させ、OBSで黒塗りできるか試してみました!

やってみた感想がこちら。

  • 思っていたより結構消える!
  • 結構消えるけど、70点くらいで、漏れも結構ある。特に長い名前は消えにくい印象。
  • チャット欄もあんまり消えてくれない。
  • 当方の環境では1つのPCで黒塗り配信しながらゲームできました。
    ゲーム中は常に70%負荷、メモリは4GB程度で大したことないです。
  • ただクリア後はムービーと同様なのか処理が重く、ロットのneedボタンなどを押すのもモタモタする感じ(最近ムービーがなんか重たいんです・・・

OBSプラグインを設定し、手持ちの動画をOBSで再生しOBSで録画

OBSプラグインを設定し、FF14をプレイしながらOBSでyoutubeに配信

OBSプラグインに利用できるFF14黒塗り学習済みモデルはこちらからダウンロードしてください↓

OBSプラグインなどの使い方概略

私よりも読んでる方の方が詳しいかもしれませんが、一応。
DirectMLを利用しており、基本的にWindows専用です。
またOBSプラグインは、現在は開発停止状態のようです。

1.上のOBSのサイトから、プラグインのZIPをダウンロード。

2.解凍して、OBSの配下に配置する。

3.OBSのFF14のゲームキャプチャを右クリックして、フィルタ をクリック

4.エフェクトフィルタの+ボタンを押して、Detect をクリック

5.下の方にあるAdvanced Settingsをチェック(すると、下に設定が開く)

6.最下部の Model から、 External Model を選択し、下のモデルパスでダウンロードし解凍したff14_pcname_obs_detect_768x1280_batch1.onnxを選択

7.上に戻って処理方法を選択

  • Preview detection boxes は、枠と検出スコアなどがでますが、不要だと思います。
  • Masking Optionsで処理を選択します。
    使いやすそうなのは、Solid Color、Blur、Pixelate あたりだと思います。

今後の展開

思っていたより消えるけど、綺麗には消えてくれないので、微妙ではあるとは思っています。
同じ学習データを利用していますが、学習は遅いわ結果は微妙だわで、ちょっと残念ではあります。
が、せっかく長い時間をかけて学習させたので、公開してみるものです。
こちらに関しては、消えないぞ!と言われても、精いっぱいです、としか言えないと思います。

幸いソースが公開されているので、元気があれば、黒塗りアプリの処理をこちらに移植するかもしれません。
検出精度と引き換えに処理速度は落ちるので、実用的な速度になるのか?とも思ったりしてます。

何が言いたいかというと、あまり期待はしないでください。