脳サーモグラムを処理するためのPower BI Embedded、IoT、および機械学習

マイクロソフトは毎週、企業、大学、さらには州向けのソリューション開発に関するケーススタディを開発しています。 最も興味深いものを皆さんと共有し、一連の記事「Microsoft Technical Case Studies」を開始することにしました。 最初の記事では、イェール大学のMarc Abreu博士の研究に基づく方法論に従って、「脳温度トンネル」の画像を処理するIoTソリューションについて学びます。







一連のマイクロソフトテクニカルケーススタディの記事



1. Power BI Embedded、IoT、および脳サーモグラムを処理するための機械学習

2. カナダのように、行方不明の子供を探します。

3. 考古学におけるモノインターネット

4.読み込み中...



はじめに



Brain Tunnelgenix Technologies Corp(BTT Corp)は、医療機器を製造する会社です。 事務所は米国とブラジルにあります。 BTT Corpは「サーマルブレイントンネル」の特許を保持しており、この発見に関連するいくつかの製品ファミリを開発しています。 会社の主な目標は、患者の治療のために脳の熱力学に関する分析データを使用する方法を学ぶことです。



脳の温度は継続的に監視され、マルチチャネル信号として処理されます。 この信号の分析とその信号のパターンの検索により、特定の患者の状態に関する結論を導き出すことができます。



BTTデバイスは非侵襲的です。これはその主な利点の1つです。 デバイスの外観を下の写真に示します。







BTT Corpは、2つの重大な問題を解決する必要がありました。 まず、研究者の参加により、人間の脳のサーモグラムを収集し、高精度の認識のためのコンピューターアルゴリズムを作成する必要がありました。 第二に、アルゴリズムは、BTTデバイスからデータを受信するときにリアルタイムでバッチモードで画像を認識できる実稼働アプリケーションに統合する必要がありました。



その結果、いくつかのプロセスとデータ処理シーケンスを使用するIoTソリューションが導入されました。



  1. IoT Hub-> Stream Analytics-> Azure SQL Database
  2. IoT Hub-> Stream Analytics-> Azure SQL Database-> Power BI
  3. IoT Hub-> Stream Analytics-> Azure SQL Database-> Power BI Embedded
  4. IoT Hub→Stream Analytics→Azure SQL Database→オンプレミスの高性能コンピューティングシステム→Azure Machine Learning


Power BI



Power BIは、BTTデバイスが受信する脳の熱信号を視覚化する上で重要な役割を果たします。 このデータはPower BI内部レポートに反映され、Power BI Embeddedを使用して外部ユーザーに表示されます。 行レベルのデータ保護により、安全にアクセスできます。



Power BIの洗練されたR分析視覚化パッケージの使用は、BTTの貴重な機能です。 R言語のおかげで、フーリエ変換、データの周波数分析、最小値と最大値の検出などの高度な分析ツールを使用できます。











従来、困難なのは、詳細な分析情報と視覚画像をクライアントアプリケーションに確実に送信することです。 たとえば、R環境を設定し、インターネットを介して安全なアクセスを提供するには、大量の作業が必要です。 Power BI Embeddedを使用すると、医師と患者向けの安全でインタラクティブなダッシュボードとレポートを作成できます。 Microsoft Azureプラットフォームで実行されるASP.NET Webアプリケーションを介して送信されるRビジュアルを使用します。 次の手順は次のようになります。



  1. AzureでPower BIワークスペースを作成します
  2. Azure SQLデータベースをデータソースとして使用して、Power BI Desktopでレポートを作成します
  3. 必要に応じて、レポートに行レベルの保護を適用します
  4. 結果の.pbixファイルをPower BIワークスペースに送信します。
  5. ソース資格情報をデータセットに追加します
  6. 適切なOAuthトークンを取得します
  7. OAuthトークンを使用して、レポートをWebページに埋め込みます


データ集約



データを集約するには、一連のGROUP BYステートメントが使用されます。 ユーザーの睡眠中に収集されたデータを取得し、ユーザーとセッションIDでグループ化し、時系列に並べ替え、周波数信号処理メソッドを適用して詳細な分析情報を取得します。 BTTは現在、詳細に使用されるデータを分析および分類する最も効果的な方法を評価しています。



アーカイブ戦略



データは現在アーカイブされていません。 現在、BTT はAzure SQLデータベースの最大サイズのごく一部しか使用していないため、この機能はまだ必要ありません。 それでも、使用されるボリュームが最大に達すると、BTTはアーカイブ戦略を開発する必要があります。 アーカイブは、 Azure Data Factoryと組み合わせて、SQL Serverプールを介し Azure Blob Storageに長期ストレージのデータを転送することで実行される可能性があります。



抽出、変換、ダウンロード



現在、 DirectQueryを使用してAzure SQLデータベースに直接アクセスできるため 、抽出、変換、および読み込みプロセスは使用されません。 BTTシステムはまだ開発中であるため、Power BI Embeddedレポートにアクセスするためにアクセスしたユーザーはほとんどいません。 ただし、BTTユーザーの数が増加し、SQLデータベースの負荷がしきい値に近づくと、SQL Serverプールへの移行が開始されます。 現在、BTTは、複製された非トランザクションデータベースとアーカイブストレージに対する読み取り専用要求のみを作成します。 標準条件では、開発者はトランザクションストレージを使用しませんが、この場合、既存の初期BTTシナリオでこのようなアーキテクチャソリューションが選択されました。





以下は、Power BIの単純な分析方法で処理された履歴データを表示するダッシュボードのスクリーンショットです。







ASP.NETのPower BI Embeddedを介して表示されるPower BIダッシュボード。







BTT CTO Robert Ortegaは、ASP.NET WebアプリケーションでPower BI Embeddedを使用して行レベルのセキュリティを構成する方法を示します。







モノのインターネットと機械学習



BTTの最も重要な開発は、その製品のほとんどが基づいているパターン認識技術です。 同社はすでにワークステーションでC ++、Python、Rで開発しているため、研究作業を継続しながら、運用環境での展開を開始する機会を与えることにしました。 開発者と一緒に、Python言語のsklearnパッケージに基づいてモデルが作成され、Azure機械学習を使用して導入されました(数か月前、HabrでMicrosoft Azure機械学習のアルゴリズムを選択する方法について既に話しました )。 以下は、Linuxワークステーションでsklearnを使用したバイナリ分類モデルの開発中に撮影されたスクリーンショットです。







ご覧のとおり、Linux、Python、およびAnacondaを使用して、Azure SQLソースから取得したデータを分析します。 この選択は、個人的な好みによってのみ決定されますが、プロセスは非常に柔軟であるため、ほとんどすべてのテクノロジーを使用できます。 Azure Machine Learningを使用してモデルをコミッションするプロセスを以下に示します。







この実験の最も興味深い側面の1つは、モデルトレーニングと、特徴の区別から依存関係の検索を分離できたことです。 これにより、実験中にワークステーションで強調表示された際立った機能を使用して、組み込みのAzure機械学習モデルとユーザーモデルのスタックをランク付けできます。 このプロセスは2つの可能性を開きます。 必要に応じて独自のモデルを開発し、他の多くの一般的なアルゴリズムを適用しながら、Azure機械学習モデルのみを反復処理することにより、最も可能性の高い最適なモデルを選択できます。



次に、実験に基づいて、エンドポイントを選択し、基本的なクリーニング操作を実行して、生産モデルを取得します。 生産実験を次の図に示します。







プロセスが完了すると、さまざまな方法でエンドポイントを統合およびテストできます。 テストする最も簡単な方法の1つは、提供されているExcelエンドポイントを使用することです。 以下は、エンドポイントでのデータセグメントのテストです。これにより、負の分類を受けたことを確認します。







ソリューションのアーキテクチャ



BTTは、Microsoft IoT Suiteの高度な機能を活用するIoTソリューションを開発し、Microsoft Azure IoT Reference Architecture Guideに従って実装されています 。 この決定に関する一般情報は、 ここに公開されています 。 このソリューションと他の多くのソリューションの主な違いは、ローカルとクラウドの両方でデータを分析できることと、大規模なデータインフラストラクチャがないことです。 SQLは現在の負荷にうまく対処します。 BTTは、ワークロードが現在のAzure SQLデータソースの能力を超えた後、ビッグデータを操作するためのプラットフォームとしてSQL Data Warehouseを使用する見込みを評価します。





使用済みのデバイスとソースコード



この作業では、Bluetooth対応のTexas Instruments統合マイクロコントローラーをベースにした独自のデバイスを使用します。 このデバイスは、ユニバーサルWindowsプラットフォームとC#を使用して開発されたWindowsクライアントデバイスと同期します。 このスクリプトは、C#IoT Hub SDKを使用します。 時系列テンプレートにマークを付けるためのアプリケーションはGitHubにあります 。 カスタムklearn Azure Machine Learningモデルを展開するための詳細な手順については、ここをクリックしてください。 TheanoとLasagneを使用してディープニューラルネットワークを作成し、Azureの機械学習を介してコミッショニングする手順については、 こちらをご覧ください



おわりに



Microsoftテクノロジ(Power BI)を使用して、BTTは信号を分析し、BTTレポートを生成するためのソリューションを作成する予定です(医師と睡眠の専門家を含む)。 また、BTTは、Azure Notification Hubを使用してアラートを送信するクロスプラットフォーム機能を実現し、さまざまなプラットフォームのサポートを提供するためにBTT MonitorをXamarin.Formsに移行します。 また、Microsoft HealthVaultとAzure SQL Data Warehouseの使用も検討しています。



Business.IoT:モノのインターネットを発見する



2017年3月30日にビジネス向けIoTのトピックについてチャットすることをお勧めします。 「Business.IoT:モノのインターネットを発見する」と呼ばれるオンライン会議を開催します。 このプログラムには、モノのインターネット、機械学習、予測分析の分野の専門家による2つの並行するトラック(ビジネスとテクノロジー)があります。



スピーカーには、ミハイル・チェルノモルディコフ(Microsoft)、セルゲイ・オシポフ(MAYKOR-GMCS)、ドミトリー・ベルゲルソン(GuaranaCam)、アンナ・クラシコワ(Microsoft)、ドミトリー・マルチェンコ(Microsoft)、アンドレイ・メルゾフ(KORUS Consulting)、ヴァシリー・イェシポフ( KPMG)。



参加するには、 ここで登録する必要があります



ここでは、Microsoft Azureを無料試用できることをお知らせします。



翻訳に誤りがある場合は、プライベートメッセージで報告してください。



All Articles