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




【CQ出版インターフェース】『個人で試せる!生体センシング実験室』


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




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

【お知らせ】

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

【はじめに】

 このページは、CQ出版のインターフェース誌2015年12月号から連載を開始した『個人で試せる!生体センシング実験室』のサンプル・プログラムのダウンロード・サポートを行うための個人サイトページです。
 プログラムはMicrosoft社のExcel VBAまたはVisual C#で記述されており、月毎にzip圧縮されています。また、ボードに実装しているAltera社CPLD MaxIIシリーズEPM570T100C5の設計ファイルも公開いたします。解凍してご利用ください。
 原則として技術サポートは行いませんので、自己責任のもとでご自由にご利用ください。ただし、本ページの記載内容並びにプログラム、プロジェクトファイルの転載は禁止いたします。

  
  

【生体計測学習キット】第1弾:心電計ボード

 CQ出版から、近日発売予定です。製品単価は2万円前後の予定です。
 詳しくはCQ出版インターフェース誌のページをご覧ください。(近日公開予定のURL)
      ●【心電計ボードのドキュメント】
  

【2016年9月号の記事訂正】

 127ページの図2(c)の説明に関して修正します。
記事段階では心電図と静電容量型センサのフィルタ出力(心弾動)の
時相と波形変化を比較する意味合いで図に入れたのですが、編集段階
で、心弾動から心電図が得られるかのごとく誤解されてしまったらし
く、訂正をいたします。
両者は全く別の測定手段で同時測定した波形であり、心弾動から心拍
数を取得できますが、心電図には変換することはできません。



【CPLDの設計情報】

 ①EPM570T100C5の設計情報ファイル
  【概要】Altera社の無料の開発ツールQuartus II Web Editionの設計プロジェクトファイル一式です。言語設計ではなく、スケマティックな設計(論理回路図)を行っています。分解能13bit, サンプリング速度800SPSまたは分解能16bit, サンプリング速度100SPSで6chのΣΔ方式A/Dコンバータを構成しており、115200BPS, データ長8bit, ストップビット1bit, パリティーチェックなしでシリアル通信を行うように設計されています。
  【ダウンロード】VitalMonitor6ch_20150915.zip

【Excel VBAプログラム・ダウンロード】

 ①2016年2月号のExcel VBAサンプル・プログラム
 【概要】
  ・分解能13bit, サンプリング速度800SPSまたは分解能16bit, サンプリング速度100SPSで6chのΣΔ方式A/Dコンバータを使って指定ポート番号から指定秒数のデータを6ch分シートに取り込む。
  ・基底遷移アルゴリズムによるノイズ除去を行う。
  ・移動平均処理によるノイズ除去を行う。
  【ダウンロード】VitalMonitor_20151224.zip

【Microsoft Visual Studio C#プログラム・ダウンロード】

 ①2016年4月号のC#サンプル・プログラム
 【概要】
   ・ペアリング済みのBluetooth Comポートをスキャンして接続。
  ・分解能13bit, サンプリング速度800SPSで読込み、ΣΔ-A/Dコンバータの性質を用いて100000degits, 800SPSに変換する。
  ・逆行列を用いた基底遷移アルゴリズム(最小2乗法)のによるノイズ除去を行う。
  ・矩形波相関フィルタを用いてQRS群のピーク時相を検出し、R-R間隔から瞬時心拍数を求める。
  【ダウンロード】VitalMonitor_ECG_20160228.zip


【生体計測実験ボードの読者プレゼント企画】

 【第1回読者プレゼント企画】
  インターフェース誌2016年1月号の12ページに応募方法の説明があります。2名様に生体計測実験ボードの試作版をプレゼントする企画があります。締切日は2015年12月25日です。
 【第2回読者プレゼント企画】
  インターフェース誌2016年2月号の裏表紙の裏面下に説明があります。2名様に生体計測実験ボードの試作版をプレゼントする企画があります。締切日は2016年1月24日です。

  
 【図1】生体計測実験ボードの試作版Version28の写真

  
 【図2】生体計測実験ボードのコマンド・フォーマット
  115200bps, データ長8ビット, ストップビット1ビット, パリティーチェック無し

【Bluetoothで通信を行うための準備作業】『ペアリング』

 本ボードは、前述したようにBluetoothでペアリングを行って使います。以下にBluetooth通信インターフェースを実装したWindows10デバイスでのペアリング方法を示します。図3に示すように、スクリーン下にあるタスクバーの右側に『新しい通知』アイコンがあります。これを右クリックすると図4に示すようなメニューが表示されます。『アクションセンターを開く(O)』をクリックして、アクションセンターを開くと図5のような表示状態になります。この中にBluetoothと書かれたタイルがあるので右クリックすると、図6のようなメニューが表示されるので『設定を開く』をクリックします。
  
 【図3】タスクバーに表示される『新しい通知』アイコン
  
 【図4】『新しい通知』アイコンを右クリック
  
 【図5】『アクションセンターを開く』
  
 【図6】『Bluetooth』で右クリック

 デバイス設定のうち、Bluetoothを選択すると図7に示すように表示されます。Bluetoothをオンに設定すると図8に示すようにBluetoothデバイスの検出が始まり、検出されたデバイスがペアリングの準備完了と表示されます。このとき、近くに存在するBluetoothデバイスがすべて表示されますので、注意が必要です。該当するデバイスを選択すると図9に示すようにペアリング・ボタンが表示されるので、クリックします。
  
 【図7】『設定を開く』アイコンを右クリック
  
 【図8】Bluetoothをオンにしてデバイスを検出
  
 【図9】検出したデバイスをクリックで選択すると表示される『ペアリング』をクリック。

 しばらく待つと、図10のようにそのデバイスのパスコードが表示されるので、『はい』をクリックしてペアリングの承認を行います。ペアリング処理が完了すると、図11のような表示状態になります。なお、誤って別のBluetoothデバイスとペアリングしてしまった場合には、ペアリング中のデバイスを選択すると『デバイスの削除』ボタンが表示されるので、クリックしてペアリングを解除します。
  
 【図10】パスコードを『はい』で承認
  
 【図11】ペアリング正常完了時

 次に、ペアリングによって、シリアル・ポート・プロファイルで関連付けられたシリアルポート番号を調べます。デバイス設定で、プリンターとスキャナーを選択すると表示される画面の下に、図12に示すような関連設定の項目があるので、その中の『デバイスとプリンター』をクリックします。すると図13のように表示されます。その最下段に『未指定』の項目があり、ペアリングしたデバイスが表示されているはずです。これを選択して、右クリックすると図14のようなメニューが表示されますので、『プロパティー』をクリックします。図15に示すように、プロパティーのハードウェア・タブを選択することで関連付けられたシリアルポート番号を知ることができます。本例ではCOM5に関連付けられていることがわかりました。これをメモに書き留めて覚えておきます。
  
 【図12】デバイス設定の『プリンターとスキャナー』を選択して関連設定の『デバイスとプリンター』をクリック
  
 【図13】未指定項目にペアリングしたデバイスが表示されている
  
 【図14】右クリックしてメニューを表示し、プロパティーをクリックする
  
 【図15】ハードウェア・タブを選択すると、関連付けられたシリアルポート番号を知ることができる

【ΣΔ-A/Dコンバータと逐次比較型A/Dコンバータの違い】

  図16に製作したΣΔ-A/Dコンバータの概略回路図を示します。この回路は2つの入力を加算して積分する積分器と、積分器出力と基準電位1.65Vを比較するコンパレータと、5MHzのクロックが供給されコンパレータ出力を保持するレジスタと、図に記入はされていませんが、そのレジスタの出力がHighレベルの個数を50000クロック分(16bit, 100SPS時)あるいは6250クロック分(13bit, 800SPS)カウントするカウンタで構成されています。カウンタはダブル・バッファで構成されているので、連続してA/D変換を行うことができます。
 このΣΔ-A/Dコンバータには逐次比較型A/Dコンバータにはない特徴があります。逐次比較型A/Dコンバータには量子化誤差が必ず伴います。例えば、入力電圧範囲が0.0V~3.3Vである 12bitのA/Dコンバータは4096階調ですから、1階調の幅は806μVになります。この階調幅以下の情報は失われてしまうので、サンプルをn個加算平均しても量子化ノイズは1/√n にしかなりません。64サンプル使っても1/8にしかならないのです。
 一方、このΣΔ-A/Dコンバータは、アナログ入力を-S(t)、1ビットA/Dコンバータで量子化した変換値O(t)の加算値e(t)=-{S(t)-O(t)}を積分( )をコンパレータに供給して、常に累積加算誤差が1ビット未満になるようにしています。この結果、nクロック分だけカウントしたA/D変換値(分解能nデジット)の量子化誤差は1デジットになります。また、連続するサンプルを加算した場合にも累積加算誤差が1デジット未満になるようになっているので、nクロック分だけカウントした連続するA/D変換値(サンプル)をm個加算平均した場合にはnmデジットのうち量子化誤差は1デジットになります。
 ΣΔ-A/Dコンバータにおいてn=13である場合には13ビット(6250階調)のA/Dコンバータという事になりますが、8個連続したサンプルを加算平均した場合には6250×8階調=50000階調(16ビット)のA/Dコンバータとなり、量子化誤差は1デジットとなります。
これに対して13ビットの逐次比較型A/Dコンバータで取得したサンプルを64個加算しないと数値は16ビット分になりません。すなわち実質的には16ビット分の精度を得る為に8倍も多いサンプル数が必要になってしまうのです。
  
 【図16】ΣΔ型A/Dコンバータの構造


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

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

【題  名】㉔『Azure Kinectと距離画像センサの測距原理、3Dセンサの応用』
【副  題】~Azure Kinect(Kinect v4)のTime of Flight方式、RealSense(D415, D435, SR305) のStructured Light方式、LiDAR等、非接触生体センシングの原理とその応用まで~
【開催日時】2020年2月7日(金) 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日

【概略内容】
 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画像から真皮層内毛細血管や皮下組織内の血管を可視化した事例など