2023年版: 触ったり試したり面白かった技術など

## 背景とこの怪文書の位置づけ
弊社では、というかむしろ個人での活動に近いのですが、始まりは2023年7月ごろに生成AI研究ラボというけったいな勉強会を開催し、様々な技術に触るコミュニティの運営をまったりやっておりました。 `タイトルを見るとけっこう下旬からの話を大分サバ読みしているな` 立ち上げたきっかけはあの驚きのChatGPTなどの様々な生成AIがどっと出てきてて、Xで流れてきてる超技術が一週間ごとに見違えていく思春期の少年じみた業界の成長に軽く恐怖を感じたり、傍目にも面白そうなものばかりなのでぜひキャッチアップをしたかった、というのがモチベーションとなりました。 `そういえばTwitterからXになったのも今年の事件でしたよね` 本稿はそんな7月から12月までの期間に試したモデルなど、夏休み最終日から全部書く宿題の日記みたいな、思い出し面白い技術紹介文書です。

詳細な動かし方はこの記事が長くなりすぎになるので他の人のブログなどを参考にしてもらい、本文書では動かしてみることでわかったことやコツなどの細かい事を書きたい気持ち。

### 学習で主に使用したマシン
```
OS: Windows11
CPU: 12世代 Intel Core i7
メモリ: 32GB
GPU: RTX3060Ti
VRAM: 8GB
```

## RVCでバ美肉に革命
実際に動かしてみたリポジトリ↓
[RVC-Project/Retrieval-based-Voice-Conversion-WebUI](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/docs/jp/README.ja.md)


昨今は首相の声をコピーして、変な事言わせる動画が見つかりニュースでの露出が多いこの技術。個人でも意外に楽に学習が出来るので、試してかなり驚いた技術です。やり方はただ公式のGithubに書かれている環境を用意して、作りたい声のデータを分割し、実行をしてじっくりと待つだけで、特定の声になれちゃう感じです。元々は[VITSモデル](https://github.com/jaywalnut310/vits)という名前のTextToSpeechのモデルから派生してボイスチェンジャーに応用されてきた進化の系譜があるらしい。

実際にモデル作成した上で、いくつかの注意ポイントを挙げます。
- 音源の背景音は完成時、ガッツリとノイズになって現れる
- 学習に必要なのは数よりも色々な特徴のある声データ(驚いた声や笑った声等の感情の起伏のデータもあると良い)
- 1時間ほどの音源を用いて十分な精度が出せるはずなので、最初から大量に読み込ませない。

収録の環境などによりますが、音声の背景ノイズ問題はモデルへの悪影響が大きくて、特定の誰かの声の音声を取得する現実的な方法が少なくて遊びづらいと思いきや、AdobeのAuditionなるソフトウェアを使ってノイズキャンセルしてみると、あら不思議大分クリアな音源が手に入り、それを使って学習し~~みなさんの上司の声で悪行を~~※くれぐれも悪用してはいけません。

## Stable Diffusion Web UIと様々な画像生成サブ技術
実際に動かしてみたリポジトリ↓
[AUTOMATIC1111/stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui)

テキストの指示で美麗なイラストを、作り出す魔法のような技術です。去年からかなり話題のこのモデルは生成AIブーム火付け役といっても過言ではないはずですね。実際に使ってみると本当に、価値観のでかい変化が起こるほど昨今の技術進歩がすさまじく、あまりにも時代変化を感じます。
動かすにあたってモデル取得する必要があるので僕は[このあたり](https://civitai.com/)を使って遊んでみたりしています。

ただ単に画像生成だけでなく様々な拡張機能が豊富で、関連の技術も含め追ってます。
- 画像から自作のモデルを学習→[liasece/sd-webui-train-tools](https://github.com/liasece/sd-webui-train-tools)
- ポーズから生成画像を制御する→[Mikubill/sd-webui-controlnet](https://github.com/Mikubill/sd-webui-controlnet)
- 解像度アップスケールしてくれる→[Elldreth/loopback_scaler](https://github.com/Elldreth/loopback_scaler)

最近は[動画の中のモーションを取り出して任意画像に貼り付けて踊らせるモデル](https://github.com/magic-research/magic-animate)までもが登場し、これからも盛り上がるだろうこの技術界隈はこれからも要チェックです。

## GaussianSplattingで思い出の動画から自由視点を手に入れろ
実際に動かしてみたリポジトリ↓
[graphdeco-inria/gaussian-splatting](https://github.com/graphdeco-inria/gaussian-splatting)

説明が難しいので伝わるか難しいところではあるこの技術。GaussianSplattingは空間の情報を点と拡散表現に分解し場所を再現する技術と解釈を僕の中でしています。従来の表現ならば空間をポリゴンで作るメッシュで表現をしましたが、この技術では構造の再現をするのではなく写真ではどのように写っているかが重要で、これまでのメッシュと違いあくまでも多視点の画像を作る技術です。
とはいえど、すでに空間表現の一つとし、ゲームエンジンにインポートして遊ぶのも可能です。

学習は動画の中からフレームをとりだしてJPEG画像に変換、その中で位置関係の解析後データ化し学習モデルに入れると、このような自由視点で動かせる空間の表現をすぐつくれます。

https://youtu.be/ne9dnPoFeD8 

学習や撮影をする環境のコツがあり、分かったことをお伝えします↓
- 撮影のときは露出固定する(AEとAFロックにしておく)
- 学習時、画像はおよそ200枚くらいなら1、2時間で終わります。
    - VRAMを最低限の8GBで動かしているためもっと強ければもう少し数を増やしても良いかも
- よく見たい特定の場所があるならできるだけ引きで動画を取っておく
    - 近づくとぼやける範囲が広がってしまうので周辺とともに撮ると良い
- 横向きで撮ると良さそう(主観です)

## 便利すぎWhisper large-v3
今年一、すごかったのはどうしてもChatGPTになるのでしょうが、個人的ナンバーツーはこちらです。音声を高い精度で文字列に変換をすることが出来、もうひとつ感動的なとことして、ローカルで動作可能ですごいです。
説明が不要なほどに強すぎる大規模の言語モデルはさておいて、同じOpenAIのこのモデル、使い道思いつきすぎませんかね。この一つ前のバージョンを使ってWeb上でチャットボットを作成し、音声で会話ができるようにして、ARを表現したアバターでChatGPTを入れ相棒を作って遊ぶ事も出来、

<img width="200" alt="メダロット知っていますか？メダロット" src="https://pbs.twimg.com/media/GABaHVuboAA-hty?format=jpg&name=large">

ローカルで実行できるメリットで、ミーティング文字起こしなど絶対にネットには上げてはいけない情報も手元なら問題なしに処理できて、[このへんの](https://github.com/speechbrain/speechbrain)音声技術と組み合わせ、スピーカーリコグニションを行えば、もはやほぼ自動で議事を書くことも簡単に可能になってしまいます。

## 感想と締めの言葉と謝罪など
今年から怒涛の技術進展が起きていて付いていくのが大変で、せめてもの遊びレベルで触れておき仕事ではいざとなったら使えると言えるよう最新技術を学びたい。そんな夜、そんな気持ちで筆を置く。来年もダラっと続けて居られれば、年末に報告すると誓います。
この文書、読みにくかったと思います。それでもと読んでくれてたあなたには有益な知見となれば嬉しいな。