【This Web Policy】
You should make JavaScript available to read this page.
Please enable the execution of JavaScript!




【Kinect V2の限界を突破する:非接触バイタルセンシング】


『Kinect Changes the Sensing World』
    【リンクフリー】
 【私設研究所】Neo-Tech-Lab Neo-Tech-Lab.co.uk
【報告者】 【私設研究所Neo-Tech-Lab】 上田智章
作成日 2015/05/19
ここにチェックボックス型外部コンテンツ・メニューが入ります。




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

【お知らせ】

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

【はじめに】

 このページは、2015年5月22日に発売の秀和システム『KINECT for Windows SDKプログラミング Kinect for Windows v2センサー対応版』の『KinectV2の限界を突破する』章のサンプル・プログラムのダウンロード・サポートを行うための個人サイトページです。
 プログラムはMicrosoft社のVisual C#で記述されており、Visual Studioのプロジェクトファイルごとにzip圧縮されています。解凍してご利用ください。
 原則として技術サポートは行いませんので、自己責任のもとでご自由にご利用ください。ただし、本ページの記載内容並びにプログラム、プロジェクトファイルの転載は禁止いたします。

【基本機能】

 ①フルHD[Color]カメラ(1920x1080画素, 15/30FPS)のキャプチャー
  【概要】KinectV2センサーのフルHDカメラで取得した画像(1920x1080画素)を全画面モードで表示します。薄暗い環境では15FPS、明るい環境では30FPSとなります。
  【使い方】Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_Color.zip

 ②デプス[Depth]カメラ(512x424画素, 30FPS)のキャプチャー
  【概要】KinectV2センサーのToF(Time of Flight)方式デプスカメラで取得した画像(512x424画素, 30FPS)を全画面モードで表示します。
  【使い方】数字の1キーでカラー表示、数字の2キーでモノクロ表示。Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_Depth.zip

 ③アクティブ赤外線[Infrared]カメラ(512x424画素, 30FPS)のキャプチャー
  【概要】KinectV2センサーのアクティブ赤外線カメラで取得した画像(512x424画素, 30FPS)を全画面モードで表示します。環境光オフセットを除去した画像であるため、部屋の照明は映りません。また日中屋外では使用できません。
  【使い方】数字の1キーでカラー表示、数字の2キーでモノクロ表示。Escキーで終了します。
【捕捉】WGF(Wire Grid Film)を使って血管を見る場合には、モノクロ表示を使うと見やすいでしょう。
  【ダウンロード】K4W_v2_Sample_Infrared.zip

 ④人検出カメラ[BodyIndex]カメラ(512x424画素, 30FPS)のキャプチャー
  【概要】KinectV2センサーの人検知カメラで取得した画像(512x424画素, 30FPS)を全画面モードで表示します。同時検出は最大6人までです。カメラに対して真横を向くと検出しないことがあります。
  【使い方】Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_BodyIndex.zip

 ⑤デプス[Depth]カメラ(512x424画素, 30FPS)のキャプチャー【Form】
  【概要】KinectV2センサーのToF(Time of Flight)方式デプスカメラで取得した画像(512x424画素, 30FPS)を同一サイズで表示します。
  【使い方】数字の1キーでカラー表示、数字の2キーでモノクロ表示。Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_DepthSmall.zip

 ⑥アクティブ赤外線[Infrared]カメラ(512x424画素, 30FPS)のキャプチャー【Form】
  【概要】KinectV2センサーのアクティブ赤外線カメラで取得した画像(512x424画素, 30FPS)を同一サイズで表示します。環境光オフセットを除去した画像であるため、部屋の照明は映りません。また日中屋外では使用できません。
  【使い方】数字の1キーでカラー表示、数字の2キーでモノクロ表示。Escキーで終了します。
【捕捉】WGF(Wire Grid Film)を使って血管を見る場合には、モノクロ表示を使うと見やすいでしょう。
  【ダウンロード】K4W_v2_Sample_InfraredSmall.zip

 ⑦骨格トラッキング
  【概要】KinectV2センサーのフルHDカメラ(1920x1080画素, 15/30FPS)で取得した画像上にいる人物の骨格(25関節)を表示します。手の状態も表示でき、グー・チョキ・パーで表示円の色が変わります。
  【注意】KinectV2の骨格トラッキングは人物がカメラの方を向いている前提で骨格を当てはめるアルゴリズムであるため、カメラを背にして撮影した場合には左右が反転してしまい、正しい結果が得られません。
  【使い方】Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_Body.zip

【非ウェアラブル加速度センサ】

 ⑧残像表示
  【概要】KinectV2センサーのフルHDカメラで取得した画像(1920x1080画素, 30FPS)上に骨格トラッキングで取得した左右両手の関節の履歴を残像表示します。
  【注意】KinectV2の骨格トラッキングは人物がカメラの方を向いている前提で骨格を当てはめるアルゴリズムであるため、カメラを背にして撮影した場合には左右が反転してしまい、正しい結果が得られません。
  【使い方】Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_Afterimage.zip

 ⑨残像に適合する円の中心座標を推定表示する基底遷移アルゴリズム
  【概要】KinectV2センサーのフルHDカメラで取得した画像(1920x1080画素, 30FPS)上に骨格トラッキングで取得した左右両手の関節の履歴を残像表示するとともに、最も適合する円の中心座標を推定し、円を描画します。
  【注意】KinectV2の骨格トラッキングは人物がカメラの方を向いている前提で骨格を当てはめるアルゴリズムであるため、カメラを背にして撮影した場合には左右が反転してしまい、正しい結果が得られません。
  【使い方】Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_CircleEstimation.zip

 ⑩加速度センサを装着する
  【概要】KinectV2センサーのフルHDカメラで取得した画像(1920x1080画素, 30FPS)上に骨格トラッキングで取得した左右両手の関節の履歴を残像表示するとともに、軌跡のx軸、y軸、z軸成分ごとに放物線で補間することにより、加速度を求めます。グラフでは加速度ベクトルの絶対値を表示しています。
  【注意】KinectV2の骨格トラッキングは人物がカメラの方を向いている前提で骨格を当てはめるアルゴリズムであるため、カメラを背にして撮影した場合には左右が反転してしまい、正しい結果が得られません。
  【使い方】Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_Acceleration.zip

【ToFカメラのばらつき精度を確認する】

 ⑪DepthPrecision
  【概要】KinectV2センサーのToF(Time of Flight)方式デプスカメラで取得した画像(512x424画素, 30FPS)の30フレーム分のFIFO(First-In First-Out)を用いて、ジッターノイズのばらつきを調べます。
  【ダウンロード】K4W_v2_Sample_DepthPrecision.zip

【ToFカメラのジッターノイズの除去】

 ⑫DepthFIFO
  【概要】KinectV2センサーのToF(Time of Flight)方式デプスカメラで取得した画像(512x424画素, 30FPS)の100フレーム分のFIFO(First-In First-Out)を用いてリアルタイム移動平均処理を施し、ジッターノイズの除去を行います。1mで0.3mm程度の精度に改善します。
  【使い方】Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_DepthFIFO.zip

【アクティブ赤外線カメラのジッターノイズの除去】

 ⑬InfraredFIFO
  【概要】KinectV2センサーのアクティブ赤外線カメラで取得した画像(512x424画素, 30FPS)の100フレーム分のFIFO(First-In First-Out)を用いてリアルタイム移動平均処理を施し、ジッターノイズの除去を行います。夕方の暗くなり始めた時刻なら屋外でも10m先を撮影観測することができます。
  【使い方】Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_InfraredFIFO.zip

【3Dレリーフ表示】

 ⑭DepthFusion
  【概要】KinectV2センサーのToF(Time of Flight)方式デプスカメラで取得した画像(512x424画素, 30FPS)から3Dレリーフ画像を生成・表示します。100フレーム分のFIFO(First-In First-Out)を用いてDepthデータのリアルタイム移動平均処理を施し、ジッターノイズの除去を行うことで、1mで0.3mm程度の精度に改善します。画素の周囲(上下左右)画素値を用いて法線ベクトルを求めて、環境光+拡散反射+鏡面反射を考慮した光源計算を行うことで、凹凸がはっきりわかる3Dレリーフ表示を行っています。
  【使い方】Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_DepthFusion.zip


3Dレリーフの実施事例

深度(depth)によって物体色を変えた例。床面法線ベクトルでセンサーヘッドの傾きも修正。Side Viewを作成。

【非接触バイタルセンシング】

 以下の部分は更に別バージョンを追加の予定があります。
 今後はクラス化を進め、リアルタイム心拍数、呼吸数を表示可能なバージョンのみコーディングしていきます。データを記録するバージョンは以下を参考に。

 ⑮DepthBreathingMonitor
  【概要】KinectV2センサーのToF(Time of Flight)方式デプスカメラで人物の上半身を撮影します。距離は80cm~120cmを目安とします。取得した深度情報(512x424画素, 30FPS)を基に呼吸に伴う深度変化を求め呼吸曲線を表示します。
  【使い方】Escキーで終了します。
  【ダウンロード】K4W_v2_ToF_Depth_Form_Breathing.zip

 ⑯VitalMonitor (Ver.021)
  【概要】KinectV2センサーのToF(Time of Flight)方式デプスカメラで人物の上半身を撮影します。距離は80cm~120cmを目安とします。取得した深度情報(512x424画素, 30FPS)を基に呼吸に伴う深度変化を求め呼吸曲線を表示します。心拍測定は、RGBカメラ・アクティブ赤外線カメラで心拍変動に伴う顔の反射光量変化を、デプスカメラ(胸部)で心弾動を測定します。
  【使い方】Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_VitalMonitor_021.zip

 ⑰VitalMonitor (Ver.1.00)
  【概要】KinectV2センサーのToF(Time of Flight)方式デプスカメラで人物の上半身を撮影します。距離は80cm~120cmを目安とします。Color(顔), Infrared(顔), Depth(胸部)で心拍波形を、Depth(胸部)で呼吸の波形を測定し、.csvファイルに落とします。
  【使い方】Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_VitalMonitor.zip

 ⑱HeartBeatMonitor (Ver.022 β版)
  【概要】KinectV2センサーのフルHDカメラで人物の上半身を撮影します。黄色の固定枠に顔が位置するようにして測定します。距離は~50cmを目安とします。取得したRGBカラーを輝度値に変換して心拍に伴う皮膚の輝度変化を求め心拍曲線を表示します。非接触バイタルセンシングのクラス化を始めました。処理速度との兼ね合いで試行錯誤中のバージョンです。
  【注意】LED照明された夜間の室内よりは太陽光のある室内の方がきれいな測定曲線が得られます。照明のスペクトルに関係?
  【使い方】Escキーで終了します。
  【ダウンロード】K4W_v2_Sample_VitalMonitor_022.zip

【心拍数演算事例】【VBA】

 ⑲HeartBeatRate
  【概要】Excel VBAでノイズが混入した心電図から心拍数を求めるまでの処理方法をVBAで記述したものです。秒1000サンプルで60秒間測定した不整脈のある心電図波形の事例です。処理の効果がわかるように3ステップで処理しています。リアルタイム処理型のクラス表記で書いたものです。心拍数は次のQRS群が検出されるまでは1つ前のR-R間隔を用いて演算された心拍数を出力します。
  【注意事項】赤外線脈波の場合には、基底遷移アルゴリズムで放物線近似する部分で、Ucを用いずに、加速度Uaを用いる変更が必要。
  【ダウンロード】VBASample.zip
  【関連情報リンク】
  ●呼吸と心拍の関係についての情報
  ●心電計と心電図に関する情報

  
 【図1】60Hzの商用電源に起因する交流ノイズの除去と基線動揺の除去
    上:処理前 下:処理後

  
 【図2】基底遷移アルゴリズムによる放物線近似を利用したノイズ除去
    上:処理前 下:処理後

  
 【図3】矩形波相関トリガ法によるQRS波の検出とR-R間隔に基づく心拍数の演算


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

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

【題  名】『透過型3Dディスプレイを搭載した一体型Windows10デバイスHololens』
【副  題】~HololensがもたらすMixed Reality(複合現実)の未来~
【開催日時】2017年02月20日(月) 10:00~17:00
【会  場】オーム ビル(千代田区神田錦町)
【概略内容】Hololensの概要説明、背景、基本操作、動作原理、体験デモ等

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

【題  名】『3Dセンシング技術(Light Coding / Time of Flight/ Infrared Depth)の動作原理と非接触生体センシング』
【副  題】~Microsoft Kinect V2, Intel RealSense SR-300など~
【開催日時】2017年03月24日(金) 10:00~17:00
【会  場】オーム ビル(千代田区神田錦町)
【開催履歴】
  (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日
【概略内容】
デプス・センシング・アルゴリズム(Light Coding 技術[V1] / Time of Flight 技術[V2] / Infrared Depth [次世代] )の理解から、それを用いた非接触生体センシングの動作原理、ヒューマン・ ヘルスケア関連アプリケーションへの展開、及び次世代デバイス Hololens までを解説
■その他、SDKのセットアップや基本的な事例の資料は添付、あるいはサンプルプログラムのダウンロードができます。

【情報機構 セミナー】

【題  名】③『3Dセンシング技術の基礎・各方式の特徴からヘルスケア分野等への実応用 』
【開催日時】2016年08月29日(月)10:30~17:30
【会  場】東京大井町 きゅりあん
【開催履歴】 (1)2014年04月10日 (2)2015年02月12日

【日本テクノセンター セミナー】

【題  名】④『Kinect for Windows V2(ToF方式3D距離画像センサ)の基礎と点群処理データへの活用』
【開催日時】2016年09月01日(木)10:30~17:30
【会  場】都内(新宿)
【開催履歴】 (1)2014年09月25日 (2)2015年01月28日 (3)2015年11月26日


Microsoft社のKinect V2


Intel社のRealSense F-200(左)とR-200(右)


Microsoft社のHololens



浴室見守りシステム(KinectV2で撮影)

岩手大学 小林宏一郎教授、大川井宏明教授、Network21 佐藤恭之氏らと共同研究。平成26年中の交通事故死者数は4,113人でしたが、浴室は家庭内にありながら1年間に16,000人(浴槽内8,000人、洗い場4,000人、脱衣所4,000人)が死亡している非常に危険なゾーンです。同居家族がいる場合でもプライバシーの問題から発見までに時間を要してしまうことが影響していると考えられています。デプスカメラによる測距データによる見守りでプライバシーに配慮しながら通報時に状況を把握しやすいシステムを研究・開発しています。

最大血圧200~220時の頬の血圧脈動(RealSense F-200で撮影)

立命館大学スポーツ健康科学部 / スポーツ健康科学科 佐久間春夫教授、同大学院 笹塲育子氏との共同研究。スポーツ選手が普段の練習通りの成績が出せるように行う加圧式呼吸法によるバイオコントロールに関して、KinectV1による非接触バイタルセンシングを用いて研究を実施。加圧式呼吸法で血圧コントロールができることも判明。

【学会講演】

●第127回微小光学研究会『ランダムドットパターン投影法によるデプスカメラの動作原理』上田智章(Neo-Tech-Lab)
●日本光学会年次学術講演会 Optics & Photonics Japan 2013『ランダムドットパター投影法によるデプスカメラの動作原理』上田智章(私設研究所 Neo-Tech-Lab)
●ジェロンテクノロジーフォーラム2015『デプスカメラによる見守りシステム』上田智章(株式会社フォスメガ NeoTechLab)、小林宏一郎(岩手大学)、大川井宏明(岩手大学)
●SICE SI2015『KinectV2を用いたセンシング技術動向』上田智章(Neo-Tech-Lab)