2024年9月13日LT会

295 Views

February 24, 25

スライド概要

Docswellを使いましょう

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

夏休みの思い出 IS 2年 Discord名:shiga

2.

主な出来事 • FastAPIを使ったアプリケーションを作った • Dockerの勉強をした • DeepLearningのモデルの学習をした • 親に借金をして、デスクトップのパソコンを買った • MediaPipeを使った • FOMMを使ってモナリザを動かした • Unityを使ってVTuberみたいなものを作ろうとした(途中) →今後の活動 etc

3.

FastAPI、Docker、DeepLearning • FastAPIはチュートリアルやYouTube、Qiitaを使って勉強した。 簡単なアプリなら作れるようになったと思う。MongoDBに触 れた。 • DockerはUdemyを使って勉強したが、docker-compose、yaml はあまり理解していない。そのため、この夏で作ったものでは 扱っていない。 • DeepLearningは姿勢推定のモデルの一つであるOpenPoseとセ マンティックセグメンテーションのPSPNetの勉強をした。 (あと、FOMM。)

4.

FastAPIを使ったアプリ FastAPIで物体検出APIを作って、ReactでそのAPIを使用した。 物体検出のモデルは前期に作ったグミ検出器。

5.

FastAPIを使ったアプリ その後、デスクトップパソコンで WebSocketを使用して、リアルタイ ムで検出できるようにした。 右は完成したアプリの映像がなかっ たため、製作途中の映像。 実際に手元に対象のグミがなかった ため、写真に写っているグミを検出 した。

6.

MediaPipe MediaPipeとはGoogleが提供するオープンソースのフレームワーク。 CPUでも、リアルタイムで手や顔のトラッキング、姿勢推定、物体検出な どができるため、本当に便利。 手や顔のトラッキングや姿勢推定は、基本は自分で学習させることはない ので今後も使っていくつもり。

7.

FOMM Qiitaで機械学習関連の記事を 読んでいたら右のような資料 を見つけた。 ここから、機械学習を使って、 キャラクターアバターを動か したいと考えるようになった。 機械学習で動画に映る対象物を検出す るレシピ20選(2022年8月版) (リンクは最後のページ)

8.

FOMM そもそも、FOMMとは? 自分の顔に合わせて目、口、顔の動きや向きまでも同期できるよ うなモデルのことである。 正式名称はFirst Order Motion Model。 今回は以下の記事を参考にした。 モナリザの写真を自分の顔とシンクロさせて動かしてみる、流行 りの深層学習モデルFOMMについて解説&実装(First Order Motion Model) (リンクは最後のページ)

9.

FOMM まずは、フリーで拾ってきた動画を使って、モナリザを動かして みた。(GoogleColabを使用)

10.

FOMM 次に、リアルタイムで自分の顔を検知してモナリザを動かしてみ た。 FOMMはかなり重い上に、リアルタイムで動かしたいのでGPU を使わないとだめだと考えた。(CPUで動かしていない) FOMMのディープラーニングのところはGPU(WSL)で動かして、 OpenCVでWebカメラをキャプチャするところはCPU(Windows) で動かした。その間のやり取りはWebSocketを使った。 環境構築のやり方が調べてもわからなかったためこのようなめん どくさいやり方をした。

11.

FOMM 結果は以下の通り。 怖い!!!!! 生成AIは難しい!!!!! 4月に文書生成にチャレンジ したが、その時も失敗。

12.

FOMM GoogleColabで実際に扱うコードがまともに動くことはわかって いたのに... このような結果になった要因として考えられるのは ・Webカメラの性能が悪い ・FOMMは新しいモデルではない(少数のフレームに対応) 本質的な要因はFOMMについてしっかり理解していないためわか らない。今後、勉強したいと思う。 (自分の顔をWebカメラで映して、その動画を使ってみるべき だった。) しかし、目や口の動きは一応表現できている?ので思ったような ものは作れなかったが、全くダメではなかった。

13.

ほかのやり方を考える FOMMがうまくいったら、自分の好きな画像を使って、ZOOM などで自分の姿の代わりにアバターとして映したいと考えていた が失敗してしまった。 そこで様々なやり方はあったが、去年勉強をしていたため、もう 一度学びなおしてから、Unityを使ってアバターを作ってみよう ということになった。

14.

試したこと 顔の認識はMediaPipeを使えばよいので、PythonでMediaPipe を動かして、WebSocketでやり取りをして、検出したデータを Unityで使おうとしたがうまくいかなかった。 ↓ MediaPipeのプラグインをUnityに入れて、Unityだけで動かそう と考えた。実際にUnity内でMediaPipeを使うことに成功したが、 アバターを動かすことに成功していない。 ↓ これからの目的はこのアバターを動かすことにする。

15.

反省 • 環境構築が大変で、一日使って行うことがあった。不便なとこ ろがあるが、一応動かせるのでしばらくこのまま利用していく つもり。 • 実家に帰ることが何度かあったため思った以上に活動できな かった。

16.

今後の活動 • しばらくUnityを使ったアバター制作を続けるつもり • 夏休み中にPythonを使ったOpenCVの勉強をしたので、次は C++を使って動かしてみる

17.

終わり 以上で発表を終わります。間違いがあったら 指摘していただけると嬉しいです。

18.

参考資料 • 機械学習で動画に映る対象物を検出するレシピ20選(2022年度 版) https://www.bing.com/ck/a?!&&p=a119141c5fe4ba9eJmltdHM9MTcyNjA5OTIwMCZpZ3VpZD0xNGFk MGFmYS0xZTJhLTZlYjEtM2I4OS0xZTAzMWY3MjZmNTcmaW5zaWQ9NTIxMA&ptn=3&ver=2&hsh=3 &fclid=14ad0afa-1e2a-6eb1-3b891e031f726f57&psq=fomm+pytorch&u=a1aHR0cHM6Ly9xaWl0YS5jb20vdG9tbXkxOTk3MDcxNC9pdGV tcy9lMGNlMTcwMWUyNWUzMTU3MTNjNA&ntb=1 • モナリザの写真を自分の顔とシンクロさせて動かしてみる、流 行りの深層学習モデルFOMMについて解説&実装(First Order Motion Model) https://www.bing.com/ck/a?!&&p=0e9460e6f5d1a8b4JmltdHM9MTcyNjA5OTIwMCZpZ3VpZD0xNGF kMGFmYS0xZTJhLTZlYjEtM2I4OS0xZTAzMWY3MjZmNTcmaW5zaWQ9NTI2Mg&ptn=3&ver=2&hsh= 3&fclid=14ad0afa-1e2a-6eb1-3b891e031f726f57&psq=fomm+pytorch&u=a1aHR0cHM6Ly9xaWl0YS5jb20vQXhyb3NzUmVjaXBlX1NCL2l 0ZW1zL2U4MDExMGVlZjkwZGZmOTVmOWRm&ntb=1