質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

SDK

SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Kinect

Kinect(キネクト)はマイクロソフトから発売されたジェスチャー・音声認識によって 操作ができるデバイスです。

Q&A

解決済

1回答

3283閲覧

Kinectが骨格や顔を認識できるのはなぜなのか知りたい。

templed_heart

総合スコア6

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

SDK

SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Kinect

Kinect(キネクト)はマイクロソフトから発売されたジェスチャー・音声認識によって 操作ができるデバイスです。

0グッド

1クリップ

投稿2020/01/15 10:46

質問

Kinect(v2含む)ではなぜ、顔のパーツや骨格、間接の認識が行えるのでしょうか。

調べてみると、赤外線技術を用いて3Dデータを取得できるところまではわかったのですが、なぜその点が「目」や「鼻」だとわかるのかという部分がわかりませんでした。

SDKのHDfacetrackingのコードを初心者なりに読んでみたのですが、該当の部分はコード外での処理のようで見つけることができませんでした。これはOpenCVなどを読み込んで様々な処理を行っているのでしょうか?元をたどるとディープラーニングを行って作られた何かなのでしょうか。
(初心者のため的外れでしたら申し訳ありません。)

簡単にで構いませんので教えていただけると幸いです。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Kinectに関する検出アルゴリズムを探しましたが、日本語で詳しい資料が見つかりませんでした。

Stackoverflowによれば、Microsoftの元の論文ウィスコンシン州立大学しかなさそうでした。

私も気になったので少しまとめます。

検出アルゴリズム

1. 赤外線による深度測定

  • Kinectから楕円の斑点上の赤外線ビームを投影します(構造化照明:structured lightと呼ばれる方法だそうです)。

この際に、斑点の大きさや変形具合を調べることで、どれだけ距離が離れているか測定できます。

  • また、この際にXY軸で異なる焦点距離(focal length)を持つレンズを使うことで、距離による点のぼやけ方の違いができるそうで、それも併せてハードウェア側で処理しているそうです。※特許US 2010/0290698参照

2. 機械学習に基づくパーツの位置推定

  • こうして抽出された距離情報を100万回以上調整したランダムフォレスト法(「この画像のうち、この条件を満たして、この条件を満たして(略)は頭です」のような方法)でパーツを選別します。

詳細は上記ウィスコンシン州立大学のPDFを参照ください。図だけ流し見てもわかりやすいかと思います。

投稿2020/01/15 21:57

編集2020/01/15 21:59
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

templed_heart

2020/01/16 03:12

回答ありがとうございます。 海外の論文まで確認してくださってとても助かりました。 斑点を使っていたとは予想できませんでした…! ビジネス向けの新しいものも含め、Kinectについて興味が湧いてきたのでさらに調べてみようと思います。 この度は、迅速で丁寧な回答本当にありがとうございました。
退会済みユーザー

退会済みユーザー

2020/01/16 16:21

同じような製品にAzure(Kinectの最新型?)、IntelのRealsenceシリーズがあります。恐らくいずれもRGB+赤外線で測長と思います。いずれも数万~と安くはないので、選定の際は慎重に(実績の多そうなものを)選定ください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問