この記事は1554文字4で読めます

ディープラーニングで自撮り画像をアニメ画像に画風変換する方法を参考にJetson nanoでアニメ風自撮り画像を作ってみましたが、使っているカメラの互換性問題で少し躓いたので、修正してトライしたよ。というお話です。

#Table of Contents

#SainSmart IMX219

Jetson nanoにはRaspberry pi互換のカメラモジュールV2(MIPI CSI-2)が使えます。

Jetson Nanoのインターフェース図でカメラモジュールコネクタの位置を示す

⑨がモジュールのコネクタとなります。

ケースに入れたJetson NanoにMIPI CSI-2カメラモジュールを接続した状態

私のJetson nanoもケースに入れちゃってよく見えませんですみませんが、カメラモジュールにMIPI CSI-2互換のカメラが刺さってます。

ラズパイ公式のカメラモジュールRaspberry Pi Camera Module V2 カメラモジュール (Daylight - element14)を使うのが無難かな?と思いましたが、今回はちょっとだけ安かったSainSmart IMX219 AIカメラモジュールNVIDIA Jetson Nanoボード用8MPセンサー77度FoVを使ってみました。

SainSmart IMX219カメラモジュールの外観写真

こちら、ディープラーニングで自撮り画像をアニメ画像に画風変換する方法で紹介されているところから若干コードを工夫する必要がありましたのでご紹介します。先日の物体検知でも使ったカメラですが、設定が少し異なります。

#フレームレート調整

なぜか、ご紹介されているコードのカメラ設定のフレームレート(1/30)だとうまくいかなかったので1/21まで下げます。なんでできないかはわかりません。

Forkして修正しました。 https://github.com/tubone24/UGATIT/blob/movie/selfie2anime_movie.py

#動かす

Forkして修正したコードをJetson nano上にcloneして実行してみます。

clone先以外は本家と同じです。

$ git clone https://github.com/tubone24/UGATIT.git
$ cd UGATIT
$ git checkout -b movie origin/movie
$ ./get_haarlike.sh

本家で紹介されているUGATIT selfie2anime[pre-trained]のリンクがきれていたので下記Kaggleからダウンロードくださいませ。

UGATIT selfie2anime [pre-trained]

$ unzip ugatit-selfie2anime-pretrained.zip

準備ができたので実行します。

$ python3 selfie2anime_movie.py --light=True -d='jetson_nano_raspi_cam'

カメラで私の顔を認識してみたところ、私の顔が可愛くないキャラクターに変換されました。

UGATITで自撮り画像がアニメ風キャラクターに変換された結果の画面

ちょっともたつきますが、ちゃんとリアルタイムに処理しているようです。StyleGAN2でアニメキャラを生成するのもおすすめです。

UGATITによるリアルタイムアニメ風変換の動作GIF

tubone24にラーメンを食べさせよう!

ぽちっとな↓

Buy me a ramen