【本サイトのご利用指針】
当サイトはSPAM対策等のためJavaScriptを使っています。
JavaScriptの実行を可能な状態にしてご利用下さい。
Please enable the execution of JavaScript!







































































【俺センシング】『Webカメラで3Dスキャナ!』

~トランジスタ技術【メルマガ第101回】『ターンテーブルの回転角度を検出する方法』~

『Kinectが変えるセンシングの世界』
    【リンクフリー】 私設研究所ネオテックラボ Neo-Tech-Lab.co.uk
【記載者】 【私設研究所Neo-Tech-Lab】 上田 智章
作成日 2013/04/30
ここにチェックボックス型外部コンテンツ・メニューが入ります。




【ブラウザはGoogle Chrome】
●最新版ダウンロードはこちら

【お知らせ】

Windows7でChromeがフリーズを起こす場合は、コントロールパネル⇒管理ツール⇒サービス でWindows Media Player Network Sharing Serviceを停止かつ無効にします。Micorosoftのバグです。

【はじめに】

 3Dスキャナを自作しようとしています。このページは、CQ出版株式会社トランジスタ技術メルマガ第101回(2013年4月30日送信分)にて配信しました連載『俺センシング』の記事『Webカメラで3Dスキャナ! ~ターンテーブルの回転角度を検出する方法~』の筆者個人サイト内サポートページです。Webカメラに対応した最新のブラウザ(Google Chrome, FireFox, Opera)を使って安価な3Dスキャナを製作する方法に関する取り組みを紹介しています。
 まだ角度検出に成功したのが2013/04/29なので、これからこのページを拡充していく予定です。/2013/05/01/

【追 記】

インターフェース2014年5月号の関連ページはこちらのページ【ラインレーザーとウェブカメラでデプスセンサ】。サンプルあります。

                         『Kinectが変えるセンシングの世界』

【講演・技術セミナー予定メモ】

【トリケップス セミナー】

【題  名】㉕『Azure Kinectと距離画像センサの測距原理、3Dセンサの応用』
【副  題】~Azure Kinect(Kinect v4)のTime of Flight方式、RealSense(D415, D435, SR305) のStructured Light方式、LiDAR等、非接触生体センシングの原理とその応用まで~
【開催日時】2020年6月18日(木) ⇒ 2020年9月1日(火) 10:00~17:00
【会  場】オームビル
【受講料】47,000円(税別、1名) 59,000円(税別、1口・3名まで)
【開催履歴】
  (1)2013年05月24日 (2)2013年08月30日 (3)2014年02月07日
  (4)2014年06月20日 (5)2014年08月29日 (6)2014年11月28日
  (7)2015年03月18日 (8)2015年07月10日 (9)2015年11月06日
  (10)2016年03月17日 (11)2016年4月14日 (12)2016年07月14日
  (13)2016年11月02日 (14)2017年03月24日 (15)2017年07月7日
  (16)2017年11月02日 (17)2018年03月13日 (18)2018年5月28日
  (19)2018年8月29日 (20)2018年12月5日 (21)2019年4月12日
  (22)2019年7月17日 (23)2019年10月30日 (24)2020年2月7日

【概略内容】
 Azure Kinect(Kinect v4)は2019年7月に北米・中国で発売開始され、2020年3月に日本でも発売予定が決まった。デプスカメラの視野角もWFoVモードで120度、解像度は1024×1024画素となった。SDKはオープンソースであり、C言語ベースのDLL、C++ラッパー、C#ラッパーを備える。360°マイクロフォンアレイの他、3軸加速度・ジャイロセンサも備える。これまでのゲーム機用モーションキャプチャセンサではなく、工業用、健康見守りなどの本格的な応用を視野に入れたものとなっている。
 近年、自動車分野では、自動運転化を実現するための探索センサとしてだけでなく、搭乗者の健康状態モニタやユーザーインターフェースとしても、距離画像センサを組み込んだ3Dセンサにも関心が集まっている。
 また、世界的な先進国少子高齢化を踏まえ、2025年開催予定の大阪万博のテーマは『健康と医療』に決まり、病院または老人ホームだけでなく、独居老人見守り・看取りやスマートホームとしてのシステムに対する関心も高い。
 本セミナーでは距離画像センサとカラーカメラを組み込んだ3Dセンサの基本機能、ソフトウェアで実現できる応用事例をデモを通して紹介するとともに、方式別に測距原理の説明を行い、非接触生体センシングを中心とする応用とその原理について解説を行う。また、Shannonのチャンネル容量の法則を利用した増感処理やマッチング処理の原理や応用についても触れる。
■その他、SDKのセットアップや基本的な事例の資料は添付、あるいはサンプルプログラムのダウンロードができます。


Microsoft社のAzure Kinectの内部構成図


高解像度デプスイメージの例 (Kinect V2)


iPhone6で撮影したカラーJPEG画像から真皮層内毛細血管や皮下組織内の血管を可視化した事例など


【インターフェース2014年5月号記事】

 3Dスキャナの自作記事(続報)/2014/03/11/
 サポートページは、/DepthSensor/index.htmです。

『2014年5月号(3月25日発売)新提案 ビジュアル計測
~センシング&イメージング!画像に合成してカッコよく!~』

見にくいですが、手に持って動かしているガムテープにラインレーザーを照射し、深度情報を測定しています。言語はJavaScriptです。

【HTML5+JavaScript+AR】【円形マーカー検出拡張現実センシング】


障害物でマーカーの一部が欠けても検出可能なオリジナル・アルゴリズムで開発。
アルゴリズムの動作原理はサポートページで詳細を記述・説明しています。




Kinectのデプスイメージから円形マーカーの中心座標を推定し、半径と法線ベクトルを取得する理論も記載。

【サンプル・プログラム】  【対応ブラウザ】最新版Google Chrome, FireFox, Opera
『円形マーカーによる距離測定デモ』  ●『回転するピラミッド拡張現実表示』
『マーカー移動履歴の表示』
 ★マーカー半径750mm, 黒枠太さ15mm~30mmで適当に作ってみて下さい。

【HTML5+JavaScript】【赤外線デプスカメラの製作】



ROHM製波長822nm単峰性光束ビームを持った赤外線レーザーRLD82PZJと市販Web赤外線カメラDC-NCR13Uで作るデプスカメラ。ピンホール方式フォトマスクでランダムドットパターンを投影。CADデータをプログラムで生成してプリント基板加工機で0.3mmφのドリル加工で製作。レーザー電源はStrawberry LinuxのLTC3490超小型LEDドライバモジュール(#13002)を使用。


【Interface2013年07月号】
2013年5月25日発売

【Webカメラで3Dスキャナ!】『ターンテーブルの回転角度を検出する』

【全体構成】

製作中の3Dスキャナの全体構成を図1に示します。CDケースを利用したターンテーブルとラインレーザーとウェブカメラのみで構成される簡単な3Dスキャナです。光切断法を使って対象物の3次元形状を測定して3Dポリゴンモデルへ変換することを目的としています。
ターンテーブルに動力や回転角を検出するセンサを用いるのでは製作にお金がかかってしまうので、回転角度を検出するために写真のようなパターンをレーベル印刷しており、手動で回転させてることを前提としています。
プログラムはHTML5+JavaScriptで記述していますので、最新のブラウザ(Google Chrome, FireFox, Opera)でアクセスするだけで体験できます。
  ●【HTML+JavaScript】『ターンテーブルの回転角度を検出する』


【図1】全体構成                                【図2】光切断法による3Dポリゴンモデルへの変換


【m系列符号パターンで角度を検出】

m系列符号は、GPSや携帯電話の通信で用いられている擬似乱数です。乱数なので白色ノイズと同様非常にシャープな自己相関特性を持っています。127ビット長のm系列符号を採用しています。カメラから観測できる手前の15ビット分のパターンと原符号の相互相関を取ると最大相関ピークの位相が回転角度に対応することを利用して回転角度を検出します。今回の分解能は1/381としましたが、さらに改善することが可能です。

【YouTube動画】『概要説明と角度検出原理の説明』




【m系列符号とは?】

m系列符号とは、最長符号系列(maximal sequence code)あるいは疑似雑音(pseudo noise)と呼ばれ、右図最上段に図示されるようにn段のシフトレジスタと1つ以上の半加算器で構成される論理回路で生成される、右図中段に図示されるような鋭い自己相関特性を持った2進符号のことです。この回路がm系列符号を発生するためには、シフトレジスタの適切な段から信号を取り出して半加算器に入力する必要があります。信号の取り出し位置はタップと呼ばれています。適切なタップ位置で信号を取り出し、半加算器で演算してフィードバックすると、シフトレジスタ符号長は2のn乗-1(2^n-1)ビット長になります。自己相関関数は0ビットシフトで最大相関値(2^n-1)を示し、±1ビット以上位相がずれると相関値は-1となります。±1ビット以内の相関値は直線的に変化します。
本来、世の中で取り扱われるm系列符号は真値(true)が1、疑値(false)が0となる論理信号が一般的ですが、筆者は真値を+1、疑値を-1、存在しない状態を0として取り扱う3値論理で取り扱っています。

【m系列符号の部分パターンと原符号との相互相関】

部分パターンと原符号の相互相関をとる場合でも元の自己相関特性の特徴はある程度引き継がれます。筆者がいろいろ試してみたところ、ノイズが混入していなければ、2n+1ビット以上の部分パターンと原符号の相互相関によりピーク位相の位置と元の位相が一致し、位相を特定することができました。
右図最下段に図示されるように、n=7, 2^n-1=127ビット長の場合に2n+1=15で相互相関をとったケースを例示します。
この性質は重要です。符号長はnに対して指数的に増加しますが、識別に必要なパターン長2n+1はリニアに増加するだけだからです。
n=7なら、符号長L=2^n-1=127で識別に必要なパターン長m=15となり、12%弱ですが、n=15なら、符号長L=2^n-1=32767で識別に必要なパターン長m=31となり、0.1%未満となるからです。
しかし、解像度640×480画素のウェブカメラでターンテーブル全体を撮影することを考えると、符号長は長過ぎるとパターンの撮影が困難となってしまうため短い方が都合がよく、しかし短過ぎるとターンテーブル上の物に隠されてパターンの観測が困難になる。
概ね、n=6(20%)からn=9(3.7%)が回転角度の検出に好ましい値となる。
筆者はn=7(L=127)とし、3倍オーバーサンプリングで2n+1=15, 合計15*3=45サンプルで相互相関をとっている。

【図1 m系列符号発生回路】

【図2 段数n=5, 符号長2^n-1=31の場合の一例】

【図3 自己相関特性】

【図4 部分パターンと原符号の相互相関特性の例】

【角度検出用パターンの実施例】

赤、緑、青の3色で1周が127ビットになるように120°ずつずらして配置しています。しかし実際には赤色のパターンしか使っていません。下のパターンを右クリックで保存してレーベル印刷を行ってください。ブラザーの複合機やキヤノンのプリンタにはレーベル印刷対応のローコスト機種があります。
なお、ネットで検索した限りにおいては、レーベル印刷対応のコピー機を置いたコンビニが存在するとの情報もありますが、具体的にどこのコンビニなのかはわかりませんでした。ご参考まで。


【パターン1】最初に作成したパターン                 【パターン2】パターンの幅を広げ、読み取り安定性を改善した

【角度検出位置の算出方法】

ウェブカメラはターンテーブル上に置かれた対象物を撮影できるように斜め上から撮影することになる。光学系の関係で近いものほど大きく映り、遠いものほど小さく映る。角度を判定するための画素位置は円盤の円周に沿って等間隔で配置されているが、光学系の影響でその画面上の位置は歪む結果となる。
このためカメラでキャプチャした画面上でのパターン検出位置を予め算出しておく必要が生じる。勿論、3D-CG手法にはテクスチャーマッピングという手法があり、WebGLを用いればリアルタイムにキャプチャ画像のゆがみを補正することも可能である。しかし、Google ChromeとFireFoxにはWebGLが実装されているが、Operaには現時点で未実装であるので、事前にパターン判定用の画素位置を求めておく方法が必要となるのである。
このために、透視変換法を採用している。ベクトルを用いた方法でExcel VBAからJavaScriptに移植して実現している。
 透視変換の動作原理に関しては、http://www.neo-tech-lab.jp/MikuMikuDance/PMD2.htm (透視変換法)に詳しく書いておりますので、そちらをご利用ください。


【光切断法について】

ラインレーザーを使った3Dスキャナの座標測定方法は、レーザーポインタを使った測距原理がわかれば容易に理解することができます。
秋月電子通商には400円台で購入することができる赤色レーザーモジュールがあります。このモジュールに3V程度(単3電池2本でよい)印加すると駆動することができます。この赤色レーザーポインタモジュールを図1に示すようにウェブカメラと水平方向にずれた位置に固定します。
すると図2に示すようにウェブカメラは距離dだけ水平にずれた位置で撮影しているために、レーザーポインタから対象物に照射された光線が観測されるカメラ画像上の水平位置は対象物までの距離が変われば水平方向に位置を変えて観測されるのです。
具体的には、レーザー光を照射される対象物が遠方にあればあるほど、レーザー光点は画面中央に近づき、反対に対象物が観測点に近い位置にあればあるほど、レーザー光点は画面中央から側方にずれた位置に観測されるはずです。
図3に実際の実験装置の写真を示します。このように実験は結構簡単なバラックで問題なく行うことができます。注意点は、ウェブカメラのレンズの中心位置とレーザー光源の照射窓の高さをできるだけ正確に合わせておくことと、レーザー光の向きがまっすぐ前方に照射されるように調整することです。
図4のように何か対象物として小さな置物でも用意して、距離を変えてカメラで観測してみます。実験には下記URLのページを使ってください。ブラウザは最新のGoogle Chrome, FireFox, あるいはOperaをご使用ください。IEとSafariはHTML5の必要とされる機能に非対応なため使うことはできません。
  ●【レーザーポインタ実験用ページ】【HTML5+JavaScript】
図5に示すように幾何学の三角形の相似の関係を用いて理論式が導出できます。図6に壁に照射して実施した実験より得られた実測距離(縦軸:単位mm)と水平方向の画素シフト量(横軸:単位ピクセル)の関係を示します。ぴったり一致していることがわかると思います。
つまり、光点1個の水平方向の移動量を求めれば、その物体までの距離を測定(測距)することができるわけです。


【図5】幾何学の三角形の相似の関係から理論式は導ける

【図6】実験結果と理論はぴったり一致

現在、製作中の3Dスキャナは、スキャン時間を短縮するため、図7のように縦方向のラインを照射できるラインレーザーを用いて、縦方向に同時多点距離測定を行う方法を採用しています。
ターンテーブルの回転角度がわかれば、縦画素単位に頂点データが得られるので、1回転させるだけで3Dポリゴンモデル化が行えるわけです。


【図1】レーザーポインタを使った測距実験装置

【図2】レーザーポインタを使った測距実験の想定結果

【図3】組み上げた実験用バラックの写真

【図4】置物にレーザー光を照射して距離を変えてみる

【図7】測定時間短縮のためラインレーザーを使って垂直方向に測距を多重化する

【3Dスキャナへの道】

 一応、記事は書いてみたものの、いろいろと1回で紹介するには雑誌の性格上の問題(特に数式の紹介に関して)、ページ数の制約などがあり、現段階では以下の情報しか公開できません。悪しからず。



【図1】全体構成

【3Dスキャナの全体構成】

 諸事情によりまだ紹介するまでに時間がかかりますので、ヒントを残しておきます。ターンテーブルタイプの3Dスキャナを製作する場合には、図1に示すようにラインレーザーのビームがターンテーブルの円板の中心を通るようにセットします。円板の中心座標を原点Oとします。即ちy軸は原点Oを通過し、円板に垂直な法線ベクトルと一致します。つまり、ライン・ビームのy軸からの水平シフト量がy軸からの距離に対応することになります。カメラはxy平面に垂直となるようにセットします。カメラの視線ベクトルとスクリーン平面xyの交点が注視点座標となります。
 角度判定パターンの読み取りはラインレーザーのビームを避けて配置します。ビームの照射される場所はカメラがハレーションを起こしてしまい、正しくパターンを判定することができないからです。読取座標は記事で書いたように透視変換を使って求めます。

【図2】Webカメラとラインレーザーの位置関係

【Webカメラとラインレーザーの位置関係】

 図2に示すようにWebカメラとラインレーザーの取り付け位置は水平方向にずれた位置に設定します。設計情報が正確であればWebカメラのレンズ中心とレーザービームの照射点の高さは一致させる必要性はありませんが、設計情報としてターンテーブル円板面からの高さを精確に把握する必要があります。

【図3】ラインレーザーの自作について

【ラインレーザーは自作できる】

価格400円~650円台でレーザーポインタ・モジュールが秋月電子通商(秋葉原)や共立電子(大阪日本橋)等で市販されています。これらを少し改造することで比較的簡単にラインレーザーを自作することができます。図3に示すように直径6mmのアクリル棒またはホットボンドの棒を輪切りにして接着するだけで作ることができます。アクリル棒の場合、近距離だとレーザーの輝度が高く、ハレーションを起しやすいかもしれません。ホットボンドは不透明なので内部で拡散してからラインを形成するため近距離の距離測定に適しているかもしれません。いずれにしてもより細い線材を調達できた方がきれいなラインビームが生成できそうです。
でも、自作は面倒だという方は、2200円または1260円でラインレーザーモジュールが販売されていますのでそちらをご利用ください。使い方は単三電池2個で3Vの電圧をかけるだけです。LED Ecology Web Shopのラインレーザーは価格が少し高いですが、ライン幅を調整可能という特徴があり、これは便利な特徴です。

 ●LED Ecology Web Shop
  【ラインレーザー通販サイト①】青紫2200円
 ●共立エレショップ
  【ラインレーザー通販サイト②】赤色1260円

【図4】ターンテーブル

【ターンテーブル】

 記事で書きましたように、ターンテーブルはCD(DVD)ケースを利用するのがお勧めです。Brotherの複合機やキヤノンの低価格プリンタにレーベル印刷機能を持った機種がありますので、角度検出パターンの印刷が簡単だからです。
 ただし、中央の突起が邪魔にならないように、CDは2枚重ねにして接着します。

【図5】ターンテーブルタイプの3Dスキャナの一般的構造

【ターンテーブルタイプの3Dスキャナの一般的構造】

 良くあるターンテーブルタイプの3Dスキャナの構造を図5に示します。当然、自動測定を行うためにモーターでターンテーブルを駆動しているでしょうし、角度検出にはかなり高価な部品である回転角度検出センサ(アブソリュート・ロータリー・エンコーダー)が使用されています。このため、本体パソコンとの接続インターフェースが必要となり、システム価格は上昇してしまいます。個人レベルで使う場合に自動回転の必要性はあまりありませんし、精密な角度検出のためにはアブソリュート・ロータリー・エンコーダーを使う必要はなく、ラインビームの水平シフト量測定のためのカメラを使う方が得策だと考えました。
 たったそれだけのことでモーターとギアボックス(あるいはステッピングモーター)とモーター制御回路、アブソリュート・ロータリー・エンコーダーとインターフェースを省略することができるのです。

【図6】

【y軸からの距離を求める】

 ラインレーザーを用いることでy軸方向にスキャンライン単位に同時多点でy軸からの距離を求めることができます。
 図6にラインレーザーの光切断ラインと位置関係を示します。

【図7】

【座標の定義と考え方】

上述した記述を整理して図7に示します。

【図8】

【3次元座標の考え方】

 カメラの注視点は必ずスクリーン中央になります。座標原点Oの画素座標と実際の距離との対比からスクリーン座標上の距離を求めることができます。
 図8に示すように、カメラPからスクリーン上に見えている切断光点Rの実際の3次元座標Qは点Rと点Pの3次元座標で与えられる直線PRとyz平面の交点なので簡単に求めることができるわけです。
 あとは、印刷パターンから検出した角度θに基づいてy軸周りに回転させれば、回転体モデルの座標が得られるのです。

【Apacheのインストール方法】

http://geocities.yahoo.co.jp/http://web.fc2.comなどの無料でレンタルできるサーバーがありますので
このページで紹介したHTML5+JavaScriptなプログラムは簡単に試すことができると思います。
しかしプログラムをいちいち外部サイトにFTPを使ってアップロードして動作確認を行うのは面倒な作業です。
ご自分のパソコンがWindowsパソコンなら無料のApacheをインストールすれば
外部サーバーを必要としないでスタンドアローンでのテストが可能になります。
以下のようにしてインターネットに接続しなくても3Dスキャナ向け角度検出の体験をすることができます。
以下にインストール手順を説明します。

【Apacheインストール時の表示画面】

ApacheのWindows用インストールプログラムは以下のサイトで入手することができます。
  【Apacheダウンロード・サイトURL】http://httpd.apache.org/download.cgi
Apache HTTP Server 2.0.64にはwindowsで動作するApacheのインストールプログラムがあります。
  ●Win32 Binary without crypto (no mod_ssl) (MSI Installer):
   httpd-2.0.64-win32-x86-no_ssl.msi
  ●Win32 Binary including OpenSSL 0.9.8o (MSI Installer):
   httpd-2.0.64-win32-x86-openssl-0.9.8o.msi
【概略導入手順】
  ① Nextボタンをクリックします。
  ② ライセンスに同意(accept)します。
  ③ Nextボタンをクリックします。
  ④ ドメイン名、サーバー名、サーバー管理者メールアドレスを入力します。
  (公開サーバーにするのでなければ適当に入力しても問題ありません。)
  ⑤ TypicalのままでNextボタンをクリックします。
  ⑥ Changeボタンをクリックしてフォルダをc:\Apache Groupeに変更します。
  ⑦ Installボタンをクリックしてインストールを開始します。
    ⇒⑧のように表示されます。
  ⑨ Finishボタンをクリックします。




【Apache設定手順】

前の節でApacheをC:\Apache Groupに設定すると、C:\Apache Group\Apache2\confフォルダ内に
httpd.confが見つかるはずです。以下のように修正します。
 ① LANに接続して他のコンピュータから使うのであれば、
  一行上の例に習ってそのコンピュータの固定IPアドレスに変更します。
   Listen 80  ⇒ 例:Listen 12.34.56.78:80
 ② サンプルプログラムを置いているフォルダを指定します。
   DocumentRoot "C:/Apache Group/Apache2/htdocs"
   ⇒ 例:DocumentRoot "C:/MyWeb/Uk"
 ③ 上記と同じフォルダを指定します。
   <Directory "C:/Apache Group/Apache2/htdocs">
   ⇒ 例:<Directory "C:/MyWeb/Uk">
 ④ 筆者は*.htmlとせず、*.htmとしています。
   DirectoryIndex index.html index.html.var
   ⇒ DirectoryIndex index.htm index.htm.var
 ⑤ 上書き保存します。
 ⑥ この設定でApacheを起動するため、一旦Apacheを停止します。
  スタートメニューでApacheを探すと、StopとStartが見つかるはずです。
  Stopを右クリックでメニューを出して、『管理者権限で起動』してください。
 ⑦ 同様にStartを右クリックでメニューを出して、『管理者権限で起動』してください。

【使い方】

最新のGoogle Chrome, FireFox, Operaのいずれかを立ち上げ、
例えばC:\MyWeb\UkにWebCamフォルダを設置している場合にはアドレス欄に
  http://localhost/WebCam/Sample.htm
と入力します。
Windows8の場合はスタートメニューがありません。
Modern Style画面の何もない壁紙上で右クリックを行うと
画面右下に下のようなアイコンが表示されるので
クリックすると、横に長い一覧が表示されます。
     
そこを丹念に調べれば、きっと以下のアイコンが見つかるはずです。
     
右クリックしてメニューを出し、『管理者として実行』します。

【Interface 2013年1月号】『研究 人間センシング』

  この記事のサポートページは『Kinectが変えるセンシングの世界』です。

■第1章
 距離/速度/傾斜角/衝撃/振動/周波数...マイコンに付け足してレベルアップ!
 動きセンシングの超定番! 加速度センサの基礎 pp.44-50
■第2章
 市販モジュールで試してわかる! 通信/設定/読み出しの基本
 動きセンシングの超定番! 加速度センサの使い方 pp.51-56
■Appendix 1
 温度センサ&マイクで呼吸を測る pp.67-69
■Appendix 2
 GPS×地図でセンサ・データをレベルアップ! pp.70-73
■第6章
 2m離れた対象との距離を精度1mm以下で! 奥行きカメラKinectの性能を高めるための信号処理
 研究! 非接触でヒトの息づかいを測る pp.98-105
■第7章
 チカチカ点滅する照明の影響を信号処理で低減!
 手の位置と叩いた瞬間を検出! バーチャル・ピアノの製作 pp.106-108
■第8章
 赤外線映像の新しい活用法を探る
 研究! 15~50cmの至近距離でジェスチャ検出 pp.109-113
■第9章
 微小な生体信号をとり出すにはアナログ回路とノイズ低減信号処理がカギ
 心電計に学ぶ! 医療/ヘルスケア装置づくりの勘どころ pp.114-126

【トランジスタ技術 2012年8月号】『奥行きカメラKinectで 3D計測』

  この記事のサポートページは『Kinectが変えるセンシングの世界』です。

■見えない量をビジュアルに!
 奥行きカメラ Kinectで3D計測  特集執筆:上田 智章
■イントロダクション 奥行きカメラKinectの誕生で広がる
 撮影して可視化! 3次元センシングの世界
■第1章 2万円そこそこのモーション・キャプチャ・センサ Kinectの誕生で個人でも試せるように
 センサで計測したデータをカメラ画像に重ねる「拡張現実技術」
■第2章 無数の光の玉をターゲットに照射して全体の距離情報を一気にGET!
 徹底研究! Kinectが3次元情報を抽出するしくみ
■Appendix1 USBカメラと点光源で奥行き検出を再現してみる!
 実験でわかる! Kinectの測距メカニズム
■第3章 3次元位置検出のアルゴリズムを実証し,さらにKinectの弱点を克服!
 USBカメラとプロジェクタでオリジナルKinectを手作り
■第4章 温度/明るさから磁界/3軸加速度までさまざまなセンサを接続できる
 汎用センシング・プローブの製作
■第5章 Kinect用の無償ソフトウェア開発キット Kinect for Windows SDKやVisual C# 2010 Express
 3次元センシング・アプリケーションの開発環境を無償で準備
■第6章 カラー画像や奥行きデータを取り込んだり,骨格を抽出したり
 Kinectの基本操作用プログラム・サンプル
■Appendix2 明示的に意図が表現される円弧運動でコマンドを出す
 ジェスチャでKinectに合図してリモート操縦 自由自在
■Appendix3 Start/Stopを認識させセンサ・データを取り込む
 声でKinectをリモート操縦
■Appendix4 X,Y,Zの3軸データを色分けしたりなめらかな曲線で結んだり
 実写画像に重ねる3次元測定データを2次元で見やすく表示する