はりうすブログ (のすけのメモ)

湘南にある小さな会社 代表 ”のすけ”のブログです

Dockerに苦手意識あったけどよく分かった話

表題の通り苦手意識あったけど、以下の記事が凄く参考になった

よく分からず使っていた人には、以下の記事を見ていくだけで苦手意識がなくなり、めっちゃ便利じゃん!ってなると思う


実はDockerの入門書籍も持ってるんだけど、何年も積んでるだけになっていた。


Hello-WorldをechoするだけのDockerから始めて、なんとなく全体像が分かるようになる
qiita.com

注意点
M3のMac環境では、my-hello-worldをrunするとき以下のようにdocker.io/library/を入れないとUnable to findになった

Unable to find image 'my-hellow-world:latest' locally
docker: Error response from daemon: pull access denied for my-hellow-world, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.

docker run docker.io/library/my-hello-world

ファイル共有の仕組みがブラックボックス過ぎて、自分のPCのファイルをDockerのコンテナに参照させたりしたいけどどうしたら?いいねん??ってなってたけど、これで怖くない
qiita.com


docke composeって2つあるの?なにどっち?という問題が解決した

推しの子の最終話 ルビーはなぜ?

ネタバレを含むので、見てない方はそっと閉じてください

























【何のために生きているのか】この壮大な問いを、ふと考えることがあると思う。
推しの子の最終話はその一つの答えを示していると感じた。


ルビーは大切なアクアを失ってなお、なぜ立ち上がることを選んだのか
それは後ろ向きなことなのか?


色々考えたけど、この立ち上がりは後ろ向きじゃないというのが
重要なポイントだ。


アニメや漫画には、ハッピーエンドをという気持ちはわかる。
確かに日常に疲れている現代人にはオアシスが必要だ。
だから、魅力的な登場人物と予測を裏切る展開の連続を提供してくれる
推しの子にも、癒しを求めて見ていた人も多かった。


しかし、その実、推しの子で伝えたかったのは
ただのハッピーエンドではなかったということをまず受け止めないといけない。
どちらかと言うと、本質的に日常に疲れている我々現代人を
心の底から湧き立たせようとした意欲作だった。


それゆえ、表面的な癒しを求めていた我々には、あの最後は突き刺さったのだ。
救いがなかったってこと?と


でも、違うんだ。
ルビーはなぜ立ち上がったのか。これは後ろ向きではない。
カナちゃんや、MEMちょもそうだ。
アクアに関わった人たち全員後ろ向きじゃない
ということをまず伝えたい。


まず、アクアの死がなぜこれほどにも突き刺さるのか?
それは、アクアが自分に素直であり、そして人々の心、一人一人に寄り添って、励まし
さりげなく守っていくという英雄的行為を最後は自ら死ぬということで達成したからだ


周りの人からすると、もうたまらない。
あんなアクアが死ぬ必要があったのか?と
でも、この感情は、アクアの死という取り返しのつかないことによって
より際立っている。
アクアを死なせないで!それは、ルビーやカナちゃん、関わった人たち、そして私たち読者の
切実な思いだろう。


でもルビーは立ち上がったんだ。
カミキヒカルを恨んでダークサイドに堕ちるのではなく、人々を照らすアイドルになるという方向で。
悲しみを背負いながら。
なぜだろうか?
私たち読者は、カミキヒカルではなく、この物語を作ったさらに上の存在に気づいている。それは作者だ。だから真の悪(神)である作者を恨むという行動をとっている人も多いと思う。
なぜ!!!??と


でもこれは、実はルビーの置かれている状況と同じなのである。
ルビーも神様なぜ!?と。アクアなぜ!?と
生きる道があったんじゃないか?と


でもなかった
なぜなら、原因はアクア以外の全員が弱かったからだ
アクアだけは強かった。死ぬ気で護ると決めていた。
でも、他に決めていたのは黒川あかねだけだ。
ルビーの身代わりとしてカミキヒカルに腹を刺されるところまで
いったところから、そうじゃないかと思う。
つまり、アクアの真の戦友はあかねだけだった。


だから、あかねだけには死ぬこと以外は話していた。
アクア自身が意識していたかは兎も角、アクアは自分が死ぬことで
ルビーを守り切り、そしてルビーが強く生きていく事を願っていた。
黒川あかねは、一番早く気づいていた。
だから、死に対して泣かなかった。ただ思ったのは「一緒に戦って死にたかった」と。
どういうこと!?先に行くのはズルいと。カッコつけすぎだと。
黒川あかねは、アクアを死ぬ気で守りたかった。でもアクアはそんなに弱くない。
だらか、アクアはあかねが死ぬことは絶対に許さなかったんだ


でも、ほかのメンバーは、悲しさゆえにすぐには受け取れなかった。
ルビーは悲しみの海に沈んだ。


そして
「私たちは生きていくことを選んだよ」
「死んでしまった君を時々思い出しながら」
「自分の生きる意味を探す道を選んだよ」
「それは簡単なことじゃないけれど」


「自分ができることを精一杯やれば」
「その先に自分の生きた理由があると信じて」


中略
そして
「君の命を丸ごと背負って」


つまり、アクアの死を受け入れて生きていくことを
「私たち」つまり、アクアに関わる全員が決めたということだ。
今まで以上に、仕事に立ち向かって
感情を殺しながら


それは、誰かを守ること
まずは、アクアの思いを守ること
少なくとも、それを託して亡くなったアクアの思いを守ること


だって、私たちが不貞腐れて現実逃避したり、死を選んだり
誰かを恨むことは、アクアが残してくれた想いじゃないから。
“自分の生きる”それ自体が、さらに言えば”良く生きる”
それだけで、アクアの想いに応えたことになる
それだけで「自分の生きる意味」になりうる


そして、さらにアクアがしてくれた事を振り返ると
ただ、相手を思う。死ぬ気で、感情を殺してでも護るということ。
それがアクアが残してくれた想いだと分かる。
つまりは、「照らす」ということ。
それは、実は、ルビーのママであるアイの想いとも重なる。
アイが、ルビーやアクアに抱いていた愛はそいういう事だ。
つまり、推しの子として、アイから受け継いだ
この強烈な愛(アイ)を伝えていくということだ。


そして、「私たち」はみんな戦友になった。
アクアという深い悲しみ背負いながらも、想いも同時に受け継いで
それが「君の命を丸ごと背負って」の意味だ。
ただ死んだという事実ではなく、その想いを受け止めて
強く、アクアが護ったように、私たちも護る戦いをはじめた。
それが、最終話のみるべきところだと思う。


「自分の生きる意味を探す道を選んだよ」
と言っているが。実は立ち上がったときにもう生きる意味は既に見つけていて
あとはそれを証明するだけの道を選んだとも言える。
だから、嘘も悲しみも全て使えるものは使って証明していくことができる。
心に強い芯は宿っているから、後ろ向きではない。
超前向き。


つまり、作者の意図は。
アクアの死、そしてルビーが立ち上がることを通じて
「私たち読者」も立ち上がることを期待し
アクアの想いを、作者の本質的な励ましの想いを
大切な誰かを守るために、日常に疲れるんではなく
死ぬ気で生き抜いて、未来に向かって
今日も「行ってきます!」をして欲しい
という願いの話なんだと
そう私は受け取った


「それはまるで 暗い程により輝く 夜空の星みたいに!」
暗い程に”より”の部分
作者には、現代は”それほどに暗い”と感じているという事だ
その危機感ゆえ、だからこそ逆説的により「輝け」と
願っていることが、この文章に込められていると思う

【ローカルで動くLLM】Macbook ProでLM Studioを試してみた

Makbookの最新CPU[M1,M2,M3]には多くのVRAMが統合されており、実はAIに向いているという話があります。


確かに家のデスクトップPCのグラフィックボード[ NVIDIA 4080 ]ですらVRAMは16GBしかない。


しかし、ここに来てMシリーズCPUならばVRAMが統合されており最大128GBととんでもない容量を誇っている。


ちょうどM3 Maxを購入して96GBメモリを手に入れたので、ローカル実行のLLMを試してみた。

はじめ方

LM Studio - Discover, download, and run local LLMsからダウンロードしてインストールするだけ

起動

GUIでアプリ一覧から起動すると、このように様々な言語モデルがダウンロードできるUIとなっている


とてもわかりやすい。またHuggingFaceの検索もできるようで、最新のLLMモデルを試すのも容易そうだ。

チャットしてみる

試しに、チャットタブをクリックして早速チャットを試そうと思う


左のメニューまたは、「Welcome To LM Studioから[AI Chat]を選択」


モデルを1つはダウロードしてね!と出てくるので、「Llama 3 - 8B Instruct(4.92GB)」をダウンロードしてみた


2024年4月18日にMetaより公開された最新のLLMのようだ。



そうすると、見慣れたチャット画面がでてくる。


試しに日本語でメッセージを入力してみる。



「モデルがロードされていません」どうやらダウンロードしたモデルを選択する必要があるようだ。



上のメニューの「Select a model to load」から先ほどダウンロードした[Meta Llama 3 Instruct]を選択する。


そうするとモデルのロードが始まり10秒ほどでロードが完了した。


早速チャットしてみると。なかなか軽快に応答が帰ってきた



speedは16.64 tok/sとなっている模様。WebのChatGPTより速く感じるのでそれなりに速いのではないかと思います。


設定を変更してみる

右上の設定マークから各種設定を変更できるようだ。Content Lengthを4096に、GPU Settingsのn_gpu_layersの設定を初期値の10から最大値の33に増やしてみた

試しにメッセージを送ってみると、speedは40.46 tok/sとかなり上がった模様

70Bも試してみる

正直メモリ全然使ってなかったので、Llama 3の700億パラメータモデルである70Bをダウンロードしてみました

選んだのはMeta-Llama-3-70B-Instruct.Q4_K_M(42.52GB)

モデルの容量が大きいですね

GPU settingを30にした場合

speedが2.74 tok/s でした。結構遅いですが普通に動いているのが凄い

GPU settingをMAXの81にした場合


ちょっとファンが回りますが、これも普通に動きました。


speed 5.51tok/s

ChatGPT4よりちょっと遅いくらいの感覚で、これくらいならギリギリ使えるかな。でも遅いかなといったところ。
ローカルで動かせるなんてMacbook Pro M3 MAX 凄いですね。


RAMは40.13GB使用していました

最後に

Macbook Pro M3 MAX CPU12コア、GPU30コア、メモリ96GBでLM Studioを立ち上げローカルでLLMを動かしてみました。

700億パラメータのMeta-Llama-3-70B-Instruct.Q4_K_Mをギリギリ実用レベルで動かすことに成功。RAM使用量40GBでしたので、まだいけそうではありました。


ただ動かしている間は負荷がかかりすぎるので、他の作業しながら使うのは無理そう。現実的なのは7Bモデルでしょうか。


そうなるとChatGPT4 turboの方がお手軽に精度良く利用できるので、迫っては来ているものの、ローカルLLMはもう少し先かなという感覚でした。

120万円のジャイロセンサーでキレッキレのダンスモーションを撮ってみた感想

[振り返り] AIでダンスモーションを作る

以前、Kinetixのサービスを利用してダンスモーションを作る記事を書いた。

その続きだ。

時間が経ってしまったが、現状の振り返りと新たな挑戦をシェアしよう。

Kinetixの現状:スペックの壁

残念ながら、まだ全然要求に達していなかったです

Kinetixのサービスは残念ながら期待を満たすには至らなかった(2022年当時)。高速なダンスモーションを求めると、解析FPSが不足している。ゆっくり動く太極拳のような動きには問題ないが、動作精度が必要な場合は難しい。そこで、ほかの方法を探し始めた。

カメラ方式のモーションキャプチャの検討期

動画からのモーション生成アプリ

iPhoneアプリで動画をアップロードするだけでモーションを生成するものがいくつか存在する。

AppStoreの無料で利用できるものはすべて試してみた。案外取れるものだなと思ったもののダンスには不向き。

MocapForAll:多視点分析

MocapForAll(有償版)はウェブカメラを複数台使って多視点で分析する方法だ。



しかし結果は思わしくなかった。カメラ1~3眼の組み合わせでやってみたが精度が不足し、キレのある動きを再現できない。どこかで見失って精度の低いモーションになってしまう。生身のキレッキレな動きはどうしても再現できない。得られたダンスモーションからは体幹の強さとか、足腰の強靱さが失われ、ふにゃふにゃで残念なモーションしかとれなかった。

[参考]Cygamesさんのスタジオの場合


www.youtube.com

cygamesさんのスタジオのような500fpsとか1000fpsとか出るようなスローモーション撮影できるレベルのカメラなら大丈夫だとは思うけれど。個人や小さな法人では手が出ない。

ウェアラブルセンサー方式のモーションキャプチャPerception Neuron Studioの購入

Perception Neuron Studio:最高の選択

ということで、悩んだ末に、ウェアラブル型の「Perception Neuron Studio」を購入。32個のジャイロセンサーを全身に装着し、120fps-240fpsで記録できる。



www.youtube.com

SONY Mocopiとの比較

同じ設計思想であるSONYのMocopiは6個のセンサーを使用し、コストは圧倒的に安いが、センサー数が少ない。


PVではいい感じに取れているように見えるが、Perception Neuron Studioのほうが精度に期待できそう


Mocopiは5万円くらい。Perception Neuron Studioは120万円くらい。


うーーーん。
Perception Neuron Studioはメルカリで中古が40万円くらい。


えぃ!買っちゃえ!ぽちっ!


ということで、Perception Neuron Studioで作成したモーションキャプチャー動画がこちら。


結構いい感じでモーション取れてますよね!
キャラクターはデザイナーさんがVRMという形式で作ってくれていて、ダンスは師が踊ってくれています。

VRM Live Viewer
https://booth.pm/ja/items/1783082
というので動かした

Perception Neuron Studioの良かった点

  • 精度高くダンスモーションを取得できる
  • 速い動きも追従できる
  • 専用のモーション記録ソフトもついている
  • それなりに性能の良いノートPCなら、それで記録できる

Perception Neuron Studioのいまいちな点

  • 地軸がドリフトして吹っ飛ぶことがある
  • 使用時間に応じてセンターの位置がずれていく
  • 体に付けるのが大変
  • ダンスだと徐々に外れてくるのでかなりの力で止めないといけない

結論:現状での最良の選択

Perception Neuron Studio高いだけあってかなり良かった。

ただし、各センサーが地磁気を取得し現在位置を把握しているが、電子機器の影響で誤差が発生し、時間が経つと位置がずれていく。そのため、位置を修正する手間がかかる。長時間の使用も体への負担が大きく、激しい動きで外れるリスクがある。

最大3分くらいの撮影でもかなり座標がズレてくる。

なのでセンター位置に居続けるために、要所要所で位置を修正する必要があり、座標のモーションの修正に数時間を要する。フレーム単位で修正が必要。


また、撮影前には毎回、座標の初期化をする必要があり、これが地味に面倒。


そのほか、体中に止めるバンドはきつめにしないといけないため、かなり心身を圧迫するので長時間の利用は厳しいです。高圧トレーニングみたいな状態になります。


おそらくmocopiでも同じ問題が発生するのでしょう。ジャイロセンサーを用いる方式の弱点がわかってきました。


いろいろ言いましたが、かなりモーションは取れるので最初はテンションがあがりました!!


細かい話ですが重心が高いとか、しゃがみ系が苦手など、いくつかモーションに対する不満点もあったりしますが。概ね良い機器だと思います!


これ以上を求めるとなると1000万円以上必要なのでしょうねぇ


安価に精度の高いモーションキャプチャができる時代が来ることを望みます!


作った、モーションキャプチャ動画はこちらで見れるので是非どうぞ!
https://www.youtube.com/playlist?list=PLlqyJ2qPHcBWJUJJwKY62vmrmghmwKJMG

【エラー分析】Error: Command failed: npm uninstall caniuse-lite npm


ビルドしようとする際に、更新を促されてるので
エラーになり更新に失敗しました

エラー内容

Error: Command failed: npm uninstall caniuse-lite
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: @nuxtjs/firebase@8.2.0
npm ERR! Found: firebase@9.6.11
npm ERR! node_modules/firebase
npm ERR! firebase@"^9.6.11" from the root project

対処法

npm update

する。
実は簡単でした。

エラー文にFirebaseとか書かれているので、そっちをどうにかしないとダメなのかと悩みましたが
、迷ったらまずはパッケージをアップデートしてみましょう

GPTとベルトルデータベースPincone

こんにちは、小さなIT会社はりうすの代表の"のすけ"です。


最近のAIの進歩すごいですよね。
深層学習が注目されてから、しばらくは流行っていたけれど。


その後、しばらく落ち着いた感じになって、そのあと出てきたChatGPTの衝撃!
そして、オープンでの世界中の開発の活発化。


大規模言語モデルLLMがものスゴい数でています。


そんな中で、技術界隈で注目されているベクトルデータベースで有名なPinecone
触ってみました。



LLMでのホットなキーワードとして、「記憶力」と「幻覚」があるかと思います。

幻覚 ハルシネーション

幻覚とは、事実とは違うそれっぽい事をAIが答えること。
創造性とも言えるけど、これが酷いとちょっと使いずらい。

人工知能の幻覚(hallucination[注 1]: ハルシネーション)とは、人工知能が学習したデータからは正当化できないはずの回答を堂々とする現象である[3]。例えば、テスラの収益に関する知識がないチャットボットがこの現象に陥ると、もっともらしいと判断したランダムな数字(130.6億ドルのような)を内部的にピックアップして、間違っているにもかかわらずテスラの収益は130.6億ドルだと繰り返すようになる。そしてこのとき、人工知能の内部ではこの数字が自身の創造の産物だということに気付いている兆候がみられない[4]。
Wikipedia

記憶力

Wikipediaに最適な項目がなかったのだけど、ChatGPTを使っている人はわかると思うけれど
記憶力が低いのだよね。

数十行前に定義した会話内容を忘れてしまって、頓珍漢なことを返答してしまう問題。
せっかく序文で、「AIのあなたは学校の先生で、私は生徒です」そのせっていで、話をしてください。
とやっていても。いくつか会話が進むと最初の設定を忘れて返答してしまう。

記憶問題を解決する一つの方法がベクトルデータベース

幻覚については、現在いろいろ研究中のようですが、記憶力についての一つの解決策がベクトルデータベースになります。

そして、それをサービスとして提供しているのがPinecone


今回はこれをOpenAIと絡めて試してみたいと思います

プランは4つ

無料のStarterプラン、標準プラン、企業プラン、エンタープライズプラン。
エンタープライズプランは任意のVPCに入れることができるようで、要問い合わせです。

まずは、無料プランで試しました。
1 つのインデックスと 1 つのプロジェクトに制限されます。クレジットカードは必要ありません。とのこと
無料プランは非アクティブの期間が7日続くとインデックスが削除されます。

API

API KeysタブからAPIをゲットできます


パッケージインストール
pip install openai
pip install pinecone-client
pip install transformers
OpenAI設定

OpenAIの設定をあらかじめしておきます

APIを利用するためには、OpenAIアカウントを作成して
https://platform.openai.com/api-keys
API Keyを作成します

import openai
os.environ["OPENAI_API_KEY"] = "xxxxxxxx"
openai.api_key = os.environ["OPENAI_API_KEY"]
学習させたデータを読み込み

あらかじめ"datas"というフォルダに読み込ませたいドキュメントを置いておきます
llamaIndexで読み込みます

from llama_index import SimpleDirectoryReader, StorageContext
documents = SimpleDirectoryReader("datas").load_data()  #ドキュメントのロード
PineconeのIndex設定

APIKeyを設定

import pinecone

pinecone.init(api_key="YOUR_API_KEY", environment="YOUR_ENVIRONMENT")

インデックス作成

# pineconeのインデックスを作成
pinecone.create_index(
    name="test-index",
    dimension=1536,
    metric="dotproduct", # euclidean:ユークリッド距離 cosine:コサイン類似度 dotproduct:内積
    pod_type="p1" # starter:starter-plan, s1:1CPU 1GPU 1TPU, p1:1CPU 1GPU, p2:1CPU 2GPU 
)

こんな感じでPineconeのインデックスができる

index

from llama_index import SimpleDirectoryReader, StorageContext, VectorStoreIndex, load_index_from_storage
documents = SimpleDirectoryReader("datas").load_data()  #ドキュメントのロード

llamaIndexのインデックスを作成

from llama_index.vector_stores.pinecone import PineconeVectorStore
pinecone_index = pinecone.Index("test-index")
vector_store = PineconeVectorStore(pinecone_index=pinecone_index)
strage_context = StorageContext.from_defaults(vector_store=vector_store)

# ドキュメントをインデックス
index = VectorStoreIndex.from_documents(documents, storage_context=strage_context)

# クエリエンジンを作成
query_engine = index.as_query_engine()


質問を入力してテスト!

print(query_engine.query("質問文を入力"))

入力した質問が、あらかじめ読み込んだドキュメントデータに基づいて出力されました。

まとめ

OpenAIのAPIを利用して、ベクトル化したものを
Pineconeを使って類似度を算出
そのデータをLamaIndexから参照して、長期記憶に基づくクエリ(質問)を投げて見た

Metaにもfaissというベクトルデータベースライブラリがありますが,それと同じように利用できた。

今回はドキュメント3つで試したため、
Pineconeとfaissで体感的な速度の違いは感じられなかった。より大きなドキュメントデータを事前に記憶する場合には、サーバーを選べるPineconeの利点がでてくるのだと思う

激しい動きのダンスのモーションをKinetixで作るとどうなるのか?


https://www.kinetix.tech/

近年、メタバースが流行ってますよね!

日本が生き残るためには、メタバース関連に力を投資しろ!なんて言われていますが

確かに、日本のコンテンツ力は強いですよね。



そんなコンテンツ力を後押しするためにも、我々エンジニアは技術で裏ささえしなくては

いけないわけです!


ということで、ダンスのモーションを作成したい!!

メタバース上で動かしまくりたい!!


VRでフルトラッキングすればいいわけですが、手は綺麗にトラッキングできますが

足となると、VRゴーグルとトラッカーではなかなか対処できないのが現状かと思います。



商用のまともなフルトラッキング機材は100万円以上はするようですし、、、


でも、でも、

チキチキバンバンみたいな、モーションデータ作りたい!!



www.youtube.com


オリジナルなやつがね!!

画像認識という選択肢

そこで、登場するのが動画からモーションデータを作るという選択肢です。

オープンソースの技術としては、Googleなんかが力を入れていて

  • OpenPoze
  • BlazePose

などなどオープンソースで利用できるライブラリなどがあったりします。



こんな感じで、動画中から人を思われる映像を推定し、そこに骨と思われるものを入れて姿勢推定を行います。

かなり研究が進んでいて、Webカメラで撮影した動画をリアルタイムで分析し

推定可能なレベルまで来ているそうです。


ただ、ほとんどの場合、Python言語でAIプログラミングしないといけないなど

ちょっとハードル高めです。デモのモデルががそのまま使える場合もありますが

超簡単に使えるKinetixというWebサービスを紹介

Kinetixとは話題の3Dモーション作成サービスで。

なんと、動画をアップロードするだけで、この姿勢推定からのモーション作成までやってくれる画期的なサービスです。



来たるメタバース時代に向けて心強い味方となってくれそうな予感がありますね。

サイトトップにはMetaverseと文字があります


早速やってみましょう


アカウント作成

https://www.kinetix.tech/
サイトトップから右上の(Login)ログインから進みます。


メールアドレスとパスワード設定して進みます.

プロジェクトの作成


ダッシュボードにログインするとこのような画面になっています。

サンプルの動画もいくつかあるようですが、ここでは真ん中の「create animation」から新しくアニメーションの作っていきます。

ここで目的のダンス動画をアップロードします。

ビデオのURLからも行けるようなので、Youtubeの動画のURLを貼り付けるなどする方法でもいいのかもしれません

アップロード中

結構時間がかかります。ちなみにアップロードしたのは3分(40MB)ほどの動画です。

アップが完了するとトリム(必要な箇所だけ切り取る)作業に移ります。

全編行きたいところですが、、1分以内にしなさいとのエラーメッセージが出ました。1分以内に切り取ります。


OKならばNEXT STEPで進みます

名前をつけます

アニメーションの名前をつけたらConfirmで進みます

10分待つ

Confirmを押すとダッシュボードに戻り、進捗率25%であと10分でできるよと。

10分待ってみます

モーション完成!!

ついにモーションが出来ました!

ムキムキのおじさんが踊ってくれます。

どうやら精度はあまり高くなく、ところどころ動作がワープしたりして違和感がありますが、なかなかスムーズに動いてくれる!!

スゲー!!!!

こんな簡単にモーションが作れるなんて!!


キャラや背景を変えてみる


上のメニューのCharactorというところからキャラを変更できます

最初から入っている、女性のキャラや着ぐるみ

おじさんなど様々なキャラに変更可能です

メリット

  • ものすごく簡単!動画をアップロードするだけ
  • 動くキャラクターを変えられる、追加できる
  • 無料!!こんなに凄いのに無料
  • それなりに忠実にモーションを作れる

こんなに簡単にできるとは思っていませんでした。

動画さえあれば、誰でもモーションが作れるのは凄いことです!

しかも、それが無料というのは素晴らしいです。

デメリット

  • 編集画面がちょっと重い
  • 分析に15分ほどかかる(大量の動画を一気にはやりにくい)
  • 1 分以内の動画しか使えない
  • モーションの重心が高い
  • モーションのジャンプ表現が苦手
  • なめらかさは、フルトラッキングにかなり劣る
  • 作ったモーションの活用が難しい

Webサービスゆえに、多くのCPU時間を割けないためか大量の動画を変換したいなどの
要望があったり、1分以上のモーションを作りたい場合には


BlazePoseなどを活用して、プログラムを自作した方が良さそうです。


また、やはりモーションの精度にちょっと不満があります。


現行の画像処理での姿勢推定の限界なのか、屈む処理がちょいと苦手であること

ジャンプ表現が不自然、手足の滑らかさは、実写のダンスと比べると
全然追いついてないなという感じがします。



www.youtube.com

こちらの動画のような、モーション表現に憧れてしまいますよね。。。

こちらの機材は、全身に32個のジャイロセンサーを搭載して、それを120fpsとかで記録できるものです。

東洋風の重心の低い動き、素早い手足の動きもなめらかに検出できていますよね。


ただ、機材のお値段は100万円ほどのようです。

動画像からこのレベルまでモーションを作るには、まだまだ技術的に遠そうな感じがしています。

もっと凄い姿勢推定方式のモーションキャプチャー

あと蛇足ですが、ウマ娘で有名なCygamesなんかは

1台100万円以上するようなモーションキャプチャー用のカメラを大量に設置して

体に、追跡用マーカーがついた特製のスーツを着用して、精細なモーションを作り出したりしているようです。


www.youtube.com

画像認識も機材を特化させると、動画像からの姿勢推定でもかなり精度が出るようですね


いいなぁ