Jetsonのサンプルプログラム内にちゃんと使えれば実用もありなのでは!?と思うようなものがありました。 それがこちらのbackgroundnetです。 早速試してみましょう。
目次
①今日のコンセプト
backgroundnetによる画像切り抜きをお試しします。 簡単に切り抜けそうなものから、複雑な形状のもの、背景の色を変えた場合、複数の被写体がある場合などどうなっていくのか試してみたいと思います。 切り抜きだけでなく背景のリプレイス機能もあるようです。
②準備
今回も特に面倒なことはありません。 前回までにインストールなどは終わっているので、対象の画像を準備してバンバン実行していきます。実行ファイルは「backgroundnet.py(赤枠)」です。
backgroundnetについては背景から切り抜くだけでなく、別の画像に切り抜いた画像を配置もできます。背景画像の切り抜きと適当に指定した背景画像に雑コラした画像を出力していきます。
背景を切り抜く時の指定方法
./backgroundnet.py images/bird_0.jpg images/test/bird_mask.png
切り抜いた画像をリプレイスするときの指定方法
./backgroundnet.py --replace=images/snow.jpg images/bird_0.jpg images/test/bird_replace.jpg
③backgroundnetの実行
③-01. 付属の画像で実行
imageフォルダ内に付属されているサンプル画像で試してみたいと思います。 猫と犬の写真を使っていきたいと思います。
スクロールできます
猫についてはよく見るとひげが消えてしまっていたり、輪郭がぼやけてしまっている感じはあります。 リプレイス後の画像はなんだか宇宙猫のような雰囲気ですね。雑コラ感半端ないです。
スクロールできます
犬の画像については、犬の後ろにかかってしまった自転車が消えませんでした。また、自転車のスポークに囲まれている部分は背景もそのまま見えてしまっていますね。 リプレイスした写真だと違和感がすごいです。そしてよく見ると、縦長で撮影した背景の画像が元画像の比率に合わせされているのか、横に引き伸ばされています。縦横比を合わせるのは忘れないようにしないといけませんね。
③-02. 撮影した画像で実行
今度は自分で用意した画像を使っていきます。 手近にあったものを使っているのでなんでこれ?となるようなものもありますがご容赦を。。。
スクロールできます
周りの影がなくなったことで平面に立体感がなくなったのに、ボタンや十字キーだけ立体的でなんだか不安になります。リプレイス画像は切り抜き初心者が失敗したような感じになってますね。。。
スクロールできます
草の向きが合っていない!画面周りのベゼルも一緒に消されてしまってますね。お陰でリプレイス画像はちょっと前のAIが生成した画像のような怖さがあります。
スクロールできます
複雑な形だとどうなるか試してみたくて選んでみました。 デスクに光が反射して白くなっている部分や輪郭に甘さが残っていますね。草はもはや触れません。
スクロールできます
デスクの模様が邪魔をしてる気がしたので今度は白いテーブルの上で撮影してみました。だいぶいい感じですね。左手の先の部分や足に付け根に若干の取りこぼしがありますし、輪郭は相変わらずですが概ねきれいに抜き出せていると思います。また、撮影するときに横向きにして撮影したことで背景画像を縦横比が合ったので向きが変になったりすることもなくなりました。草にも溶け込んでいるように見えなくもないです。
スクロールできます
白いテーブルがわりといけると学んだので最後は複数のものをおいても切り抜けるのか実験です。 結果としては全体的に割とうまく切り抜けています。輪郭と影が少し甘いですが、リプレイスしてしまうとわりと違和感が薄いと思います。※背景の縦横比に目を瞑れば、、、
④まとめ
切り抜きはなかなかに難しかったです。。。 被写体が何かと重なってしまったりするとたちまち精度が下がるため、画像の取得時にも気を使わなければいけません。なんでもフルオートで進むようになるまでは少しかかりそうです。 グリーンバック何かを使えばきれいに切り抜ける様になるのでしょう。できればそれなしでもうまく切り抜いてほしいですが、、、商品を物撮りするようなときに、しっかりと照明をあてて撮影を行えばフルオートで透過画像を作れたりするかもしれません。便利になっていく予感がします。
コメント