ailia SDK チュートリアル(Unity)

Yuto Kuze
axinc
Published in
Jan 22, 2020

ailia SDKをUnityで使用するチュートリアルです。ailia SDKを利用することでUnityを使用したディープラーニングの推論をGPUを使用して高速に行うことができます。ailia SDKについて詳しくはこちらをご覧ください。

今回はailia SDKのUnityパッケージサンプル動作までのチュートリアルを紹介します。

UnityPackageのインポート

ailia SDKの中身は以下のような構成になっています。

「unity」フォルダ直下にある「ailia_[version].unitypackage」がUnity用のパッケージファイルになります。

Unityランチャーを起動して「New」より新規プロジェクトを作成。

立ち上がったプロジェクトのメニューバーから「Assets」>「Import Package」>「Custom Package」を選択。

上記の「ailia_[version].unitypackage」を選択してImportします。

Unityランチャーの起動画面から「ailia_[version].unitypackage」をプロジェクトとして直接読み込む事も出来ます。

この時は前述のImport画面が立ち上がるのですが、Unityのバージョンによっては立ち上がらない事もあるので、その場合は新規プロジェクトと同様にメニューバーからImportして下さい。

ライセンスファイルの配置

評価版の場合、Windowsの場合はailia.dllと同じフォルダ(Plugins/x64)、Macの場合は~/Library/SHALO/にライセンスファイルを配置してください。

Macの場合、Finderのメニューの「移動」から、「フォルダの場所を入力」で~/Libraryを指定して移動後、SHALOフォルダを作成し、そこにライセンスファイルを配置します。

ライセンスファイルが存在しない状態でサンプルを実行した場合、エラー(AILIA_STATUS_LICENSE_NOT_FOUND = -20)が発生します。

サンプル確認

サンプルSceneは次のフォルダ内にあります。

「Assets」>「AXIP」>「AILIA」>「Sample」>「Scenes」

※Androidでのファイルアクセスの為にWWWクラスを使用しています。デフォルトではWarningが表示されますが動作には影響ありません。

サンプルは以下の4つです。

・classifier

・detector

・feature extractor

・pose estimator

今回はdetectorサンプルを確認してみます。

サンプルでは既にDetectorPlaneで「Ailia Detector Sample」がアタッチされています。(赤枠内)

ScriptとTextのリンクが剥がれている時は下記のように設定し直して下さい。

上部のPlayボタンを押せばサンプルが実行されます。

LowSpecなノートPCでも辛うじて動作可能です。それなりのスペックのPCならば違和感なく動作します。

「sample selector」はアプリ化する時に使用するコントロールUIです。

Unity上では使用しませんが、AndroidビルドやiOSビルドをして実機で確認したい時にお使いください。

その他にもaxinc.では、「ailia Models」としてailia SDKですぐに使える学習済みモデルを揃えています。次の機会には、それらの学習済みモデルをImportして一からサンプル作成をする紹介が出来ればと考えています。

アプリケーションの出力

ここからは、アプリケーションを出力する際に必要な設定となります。

共通設定

アプリケーションとして出力する際には、ビルドするシーンを登録する必要があります。ビルドしたいsceneファイルを開いている状態で、File -> Build Settingsを選択し、Add Open Scenesをクリックして登録してください。

Player Settings

iOSとAndroidの設定は、File -> Build Settingsでプラットフォームを選択したあと、Player Settingsをクリックすることで行います。

iOS向け設定

iOSでビルドする際、Player SettingsでアプリケーションのバンドルIDを設定する必要があります。このIDでアプリケーションは一意に識別されます。iOSでカメラを使用する場合、Camera Usage Descriptionに任意のテキストを設定する必要があります。

Android向け設定

Androidでビルドする際は、Player Settingsでアプリケーションのパッケージ名を指定する必要があります。このパッケージ名でアプリケーションは一意に識別されます。また、パフォーマンスを最大化するため、Scripting BackendはIL2CPPを選択して下さい。

ax株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。ax株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。

--

--