PoseNetを体感できる3D-Posenetの紹介

AI/機械学習には様々な技術があります。今回はその一つ、PoseNetを紹介します。PoseNetは写真や動画などに映っている人物からポーズを検出できる技術になります。映画などのCGで人の動きに合わせてグラフィックを動かす場合、人の体に多数のセンサーやマーカーを付けて測定を行います。

それに対してPoseNetではセンサーを用いず、映し出されている人の映像を機械学習によって分析し、その体の部位を検出します。センサーを用いないので、特別な機材がなくとも、手軽にはじめられます。

今回はそんなPoseNetをWebカメラとWebブラウザで手軽に体験できる、3D-Posenetを紹介します。

mishig25/3d-posenet: Control 3D Virtual Character through Tensroflow.js Posenet

実行方法

3D-Posenetのデフォルトブランチではそのままでは動かないので、次の手順で行う必要があります。

experimentalブランチをダウンロード

experimentalブランチのZipファイルをダウンロード&展開します。

Webサーバを実行

以下のコマンドでWebサーバを起動します。なお、実行にはNode.jsが必要です。

npm run watch

使い方

3D-PosenetではWebカメラに写った自分の映像の上に線や点が描かれます。これは顔や上半身の認識された部分です。そして手や顔を動かすと、それに合わせて3Dキャラクターも動かすことができます。

3D-Posenetの仕組み

3D-Posenetは機械学習部分にTensorflow.jsを使っています。3DモデルはBabylonJSを使っており、Tensorflow.jsのPoseNetが認識した結果に合わせて3Dモデルを動かしています。なお、3Dモデルはオンラインで探せば他にも手に入りますが、試した限りではデフォルトで用意されているDude以外のモデルではエラーが出てしまいました。

まとめ

PoseNetを使うことで、Webカメラに映し出された情報に応じてバーチャルキャラクターを動かすことができます。これはキャラクターに限らず、手や体の動きに合わせた入力を可能にしたりするといったことにも利用可能です。PoseNetを使って、動きを分析したり、ゲームを作ったりしてみるのも面白そうです。

mishig25/3d-posenet: Control 3D Virtual Character through Tensroflow.js Posenet

]]>

上部へスクロール