Windows10の次期大型バージョンアップで追加される新機能Windows Machine LearningがHoloLensでも利用できるようになりました. HoloLensをRS4 Previewにアップデートすることで確認することができます. ここではWindows Machine LearningのサンプルをHoloLensで動作させてみます.
概要
HoloLensの次期バージョンプレビュー版が公開されOSを10.0.17123まで上げることができるようになりました. これによりWindows10 Insider Preview で利用可能になったWindows Machine Learningが利用可能になりました.
動作環境
- 開発環境
- Windows10 Insider Preview 17127
- Windows10 SDK Insider Preview 17115
- Visual Studio2017
- 実行環境
- HoloLens RS4 Preview 17123
Windows Machine Learning(WindowsML)とは
Windows10の次期大型アップデートで搭載される機械学習実行環境です. これは学習済みモデル(.onnx形式)を使用することで画像認識などの機械学習結果を利用できるようになります. 学習済みモデルを利用することでHoloLensなど非力な端末でも画像認識が利用できます. 機械学習はCNTKやTensorflowなどで行い.onnx形式に出力しWindowsMLに組み込みます.
https://docs.microsoft.com/en-us/windows/uwp/machine-learning/
開発環境構築
開発用PCのWindows10をInsider Previewにする
- 開発用のPCに以下の手順でWindows10 Insider Preview をインストールします.
Visual Studio2017をインストールする
- Communityでも動作可能です.
Windows10 SDK Insider Preivewをインストールする
HoloLensをRS4 Previewにアップデートする
- 以下の手順でHoloLensのアップデートを行います.
- https://blogs.msdn.microsoft.com/shintak/2018/03/28/hololensrs4preview/
- RS4 Previewはプレビュー版のため動作が不安定+正式版での変更の可能性があります.またアップデートを行うことでHoloLensの設定が初期化されます.
Windows Machine Learningサンプルの実行
Windows Machine LearningのサンプルはMicrosoftがGithub上に公開しています. 以下のサイトの「Clone or download」ボタンの「Download ZIP」からプロジェクトデータをダウンロードできます.
https://github.com/Microsoft/Windows-Machine-Learning/tree/master
Windows-Machine-Learning-master\Samples\UWP以下に4つのサンプルプロジェクトフォルダがあります.
- MNIST
+ 手書きの数字認識サンプル
+
- MNIST_GetStarted
- 自前の学習済みモデルを導入しての手書き認識サンプル
SqueezeNetObjectDetection
- 画像認識サンプル 適合率の高い認識結果から3つ結果が表示されます
-
WinMLExplorer
- 回路パターン認識,Webカメラ認識サンプル
-
それぞれのプロジェクトを開きソリューションプラットフォームをx86に変更することでPC上でサンプルを実行できます.
HoloLensでのサンプルの実行
- HoloLensとPCをUSBで接続し各プロジェクトのソリューションプラットフォームをx86,実行先を「Device」に変更することで確認できます.
- ただしサンプルでは2DのUWP形式でパソコンでの利用を想定しているためHoloLens上での操作は難しくなっています.
まとめ
- Windows10 Insider Previewを導入しWindowsMLを利用できるようにしました.
- HoloLens RS4 PreviewにてWindows Machine Learningのサンプルを実行することができました.
- 次回はWindowsMLのゲームエンジンUnityでの利用を想定してC#での実装例を紹介します.