##はじめに
初投稿です。よろしくお願いします。
RealSenseは、Intelが販売している深度センサです。今回は、公式のgithubにあったWrapperから、python版のインストール方法と、注意点をメモしていきます。日本語の解説を見かけなかったので、ぜひ参考にしていただけたらと思います。
##前準備
###Visual StudioとCMakeのインストール
Visual Studio 2015または2017をインストールします。ここでは、2017の場合について解説します。まず下のURLからインストーラーをダウンロードしてください。
https://visualstudio.microsoft.com/ja/free-developer-offers/
インストーラーを起動して、Communityを選択すると無料で済みます。その時、ワークロードの「C++によるデスクトップ開発」と「C++によるモバイル開発」にチェックを入れ、個別のコンポーネントのWindows 10 SDK(10.0.10586以降)にもチェックを入れてください。その他は必要に応じてチェックを入れ、インストールしてください。
既にインストールが完了している場合は、Visual Studio Installerを起動し、「変更」をクリックして、個別のコンポーネントのWindows 10 SDK(10.0.10586以降)にチェックが入っていることを確認してください。
CMakeのインストールはこちらから
https://cmake.org/download/
最新版をダウンロードして、インストーラーに従ってそのままインストールしてください。
###githubからlibrealsenseをダウンロード
gitとgithubを使えることを前提として話を進めますが、詳しい使い方は以下を参照してください。
http://www.atmarkit.co.jp/ait/series/3190/
https://github.com/IntelRealSense/librealsense
からlibrealsenseをクローンしてください。
git clone https://github.com/IntelRealSense/librealsense.git
###メタデータの有効化
メタデータは、librealsenseによって提供される高度な機能だそうです。詳しくはこちらのリンクで説明されています。
Windows PowerShellを使って設定します。管理者としてWindows PowerShellを実行してください。(ホームボタンを右クリックで出てくる)
まず、Set-ExecutionPolicy
コマンドを実行し、ExcutionPolicy
をRemoteSigned
に変更します。
次に、/librealsense/scriptsに移動し、お手持ちのRealSenseをパソコンに接続して、以下のコマンドを実行してください。
.\realsense_metadata_win10.ps1 -op install
###CMakeGUIを使ってビルドする
クローンしたフォルダ/librealsenseに、CMakeを使ってRealSenseSDKのプロジェクト群をビルドします。
デスクトップにCMakeのショートカットができているはずなので、起動してください。
①Browse Source
をクリックして先ほどクローンしたlibrealsenseフォルダを選択してください。
② Browse Build
をクリックしてビルド結果が格納されるフォルダを選んでください。librealsense/buildにすると、失敗してもすぐ削除してやり直せるのでお勧めです。
③Add Entry
をクリックすると、以下の画面が出ると思います。
NameにBUILD_EASYLOGGINGPP
、TypeはBOOLのままで、Valueにチェックを入れてください。OKを押すと、エントリが追加された状態になると思います。同じようにして、以下のエントリ群を登録してください。
BUILD_EXAMPLES:
Type:BOOL
Value:True
BUILD_GRAPHICAL_EXAMPLES:
Type:BOOL
Value:True
BUILD_RS400_EXTRAS:
Type:BOOL
Value:True
BUILD_SHARED_LIBS:
Type:BOOL
Value:True
BUILD_UNIT_TESTS
Type:BOOL
Value:True
CMAKE_CONFIGURATION_TYPES:
Type:STRING
Value:Debug;Release;MinSizeRel;RelWithDebInfo
CMAKE_INSTALL_PREFIX:
Type:PATH
Value:C/Program Files/RealSense
HWM_OVER_XU:
Type:BOOL
Value:True
ENFORCE_METADATA:
Type:BOOL
Value:True
登録できたら、Generate
をクリックします。
次に、librealsense/wrappers/python
フォルダでも、CMakeを使ってプロジェクトをビルドします。
CMakeGUIのBrowsSourceにlibrealsense/wrappers/python
、BrowsBuildにlibrealsense/wrappers/python/build
を指定し、
エントリBUILD_PYTHON_BINDINGS = True
を追加した後、Generateをクリックしてください。
###プロジェクト群からサンプルプログラムや必要なプログラムをビルドする
Generateが成功したら、librealsense/buld
フォルダにサンプルプロジェクト群が出来上がっているはずです。その中から、librealsense2.sln
を開いてください。
①準備完了になっていることを確認します。
②構成をReleaseに設定します。
③ALL_BUILD
を右クリックして「ビルド」を選択します。
ビルドが成功すると、librealsense/build/Release
フォルダにサンプルがいろいろ出来上がるので、それらで遊んでみると面白いです。
librealsense/build/Release
フォルダにある、realsense2.lib
をlibrealsense/wrappers/python/build
にコピーすれば前準備は完了です。
##pyrealsense2.pydをビルドする
librealsense/wrappers/python/build
フォルダにある、RealsensePythonWrappers.sln
を開いてください。librealsense.slnの時と同様に、状態が準備完了になっているのを確認してから、構成をReleaseに設定します。
その後、今度はpyrealsense2をビルドします。
ビルドが成功したら、librealsense/wrappers/python/build/Release
にファイルpyrealsense2.cp36-win32.pyd
ができているはずです。このファイルと、librealsense/build/Release
にあるrealsense2.dll
をあなたのパソコンのPython/Python36-32/Lib/site-packages
にコピーしてください。
これにてpyrealsense2のセットアップは終了です。librealsense/wrappers/python/examples
にあるプログラムを動かせるようになったはずなので各自確かめてみてください。
##まとめというかあとがきというか締めくくりというか
この記事を見てわかる通り、前準備の手順が長くて複雑です。この一か所だけ見れば手順がすべて書いてあるようなサイトは、公式ドキュメントにもなかったので、もう一度別のパソコンでやってみてといわれても、また一ヶ月ちょっと迷走することになりそうなので、メモとして残しておくことにしました。
ちなみに、デバイスの問題なのか、僕のパソコンの問題なのか、D415を接続してもRGBカメラがデバイスマネージャーで検出されずに、深度センサのみ検出されたりすることもよくあります。そういう時は、ノートパソコンの場合はシャットダウンして数分~数時間待ってから再起動すると正常に動作します。多分パソコン内部のパーツの放電を行えばいいという事だと思うので、内部に十分な余白があるデスクトップパソコンは単純な再起動でよさそうですね。
上は初めてRGB検出できた記念のスクショ。今回の迷走の中で一番原因が分かりにくかったです。
追記:パソコンのUSB3.0ポートに刺さないと正常に動作しません。USB3.0のポートは、覗いて見ると絶縁体の部分が青いポートです。接続端子も同じく3.0の物を使ってください。それでもRGBカメラが検出されない場合は上記の方法を試すと良いです。
###以上、ここまで読んでくれてありがとうございました。
##参考
https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_windows.md
https://github.com/IntelRealSense/librealsense/tree/master/wrappers/python