アイリアSDKを試す<第25回> 評価版アイリアSDKとUnity6.2でWindowsアプリを作る

今回は、アイリアSDKの評価版であるailia_1_5_0_trialをUnity6.2上で動作させる手順を紹介します。なお、Unity 6.2のインストール手順については、前回記事を参照してください。

ライセンス・ファイルの入手と配置

まず、アイリアSDKを利用するには、AILIA評価ライセンス申し込みサイトから評価ライセンスを申請する必要があります。次の公式サイトにアクセスし、必要事項を入力して申し込みを行います。

https://axip-console.appspot.com/trial/terms/AILIA?lang=jp

申し込み後、登録したメール・アドレス宛にダウンロード・サイトの案内が届きます。案内に従ってAILIA_trial_1.5.0およびライセンス・ファイルをダウンロードしてください。ライセンスファイルの有効期限は1か月程度と短いですが、同梱されているailia_1_5_0_trialのサンプル・プログラムを通じて、SDKでどのような処理が可能かを一通り確認できます。

ライセンス取得後に送られてくるメールには、「WindowsでUnityを使用する場合、ライセンスファイルをAssets/Plugins/x86_64/ に配置してください」と記載されています。しかし、ダウンロードしたailia_1_5_0_trialには該当のフォルダが存在しません。その場合は、Unity Editorのインストール・フォルダにライセンス・ファイルをコピーしてください。例えば、Unity Editorのバージョンが6000.2.9f1の場合、次のパスになります。

C:\Program Files\Unity\Hub\Editor\6000.2.9f1\Editor

この設定を行うことで、アイリアSDKの評価版をUnity環境で正しく動作させることができます。

ここで参考情報として、さらに詳細な情報を確認したい場合は、次のGitHubを参照するとよいでしょう。

ダウンロードしたファイルをUnityプロジェクトに登録

ダウンロードしたailia_1_5_0_trial.zipを解凍すると、フォルダ内にunityという名前のフォルダがあります。このフォルダが、Unity用プロジェクトのフォルダです。Unity Hubを起動し、プロジェクト一覧画面から「追加」→「ディスクから加える」を選択し、解凍したunityフォルダを指定して登録します。プロジェクトの「追加」をクリックすると、フォルダ選択画面が開くので、正しいパスを選択してください(図1)。

(図1)プロジェクトの追加から対象フォルダを選択する

トラブル対応

警告画面

フォルダを開くと、「Unity:警告画面」が表示されます(図2)。これは、プロジェクトが作成されたUnityのバージョンと現在使っているUnityのバージョンが異なる場合に表示される警告です。本稿では、最新バージョンであるUnity 6.2(6000.2.9f1)を使用します。表示された警告ダイアログで「バージョンを変更」を選択し、プロジェクトを開いてください。

(図2)警告画面がでたら「バージョンを変更」をクリック

プロジェクトが認識されない

フォルダを指定してプロジェクトを読み込むだけでは、Unityがプロジェクト構成を完全に認識できない場合があります。そのため、読み込み時にセーフ・モード起動ダイアログが表示されることがあります(図3)。このダイアログが表示されたら、「EnterSafeMode」を選択してください。

セーフ・モードでは、スクリプトやアセットの読み込みを最小限に抑えてプロジェクトを開くことができるため、初回のセットアップ時に発生するエラーを安全に確認できます。

(図3)セーフ・モード起動ダイアログ

エラー・ログ

セーフ・モードでプロジェクトを開くと、エラー・ログが表示される場合があります(図4)。今回のエラーでは、次のメッセージでした。

The type or namespace name ‘RawImage’ could not be found

このエラーは、RawImageコンポーネントが見つからないことを示しています。RawImageはUnityのUIシステム(UnityEngine.UI 名前空間)に含まれるコンポーネントであり、Unity UIパッケージが未登録であることが原因です。

(図4)読み込んだプロジェクトの問題が表示される

この問題を解消するには、Package Manager(図5)を使ってUnity UIパッケージをインストールします。手順を次に示します。

  1. Projectビューの上部タブから「Packages」をクリック
  2. Unityメニューの「Assets」→「View in Package Manager」を開く
  3. Package Manager画面が表示されたら、Unity RegistryのリストからUnity UIを選択
  4. 「Install」をクリックしてインストールを実行

Package Manager画面のUnity Registryリストから「Unity UI」を選択し、パッケージをインストールします(図6)。

(図5)Package Managerの表示メニュー
(図6)Unity Registryリストから「Unity UI」を選択する

Unity UIインストール後の状態

Unity UIパッケージのインストールが完了すると、RawImageに関するエラーが解消され、Unity Editorのメイン画面が正しく表示されるようになります(図7)。これで、UIシステムに関連する初期エラーは全て修正されました。ただし、この時点では、アイリアSDK関連のライブラリやアセットはまだ読み込まれていません。次の工程として、アイリアSDKのパッケージをUnityに読み込む作業を行います。

(図7)Unity Editorのメイン画面

アイリアSDKパッケージの読み込みと設定

続いて、アイリアSDKをUnityに組み込むためのパッケージを読み込みます。アイリアSDK用のパッケージは、Custom Packageとして追加します。Unity Editorのメニューから「Assets」→「Import Package」→「Custom Package」を選択します。解凍したailia_1_5_0_trialフォルダ内のunityフォルダを開くと、アイリアSDKのUnity用パッケージ・ファイル(.unitypackage)が存在します。これを選択して開きます(図8)。

(図8)unitypackegeの登録

パッケージ内容の確認とインポート

ファイルを選択すると、パッケージに含まれるアセットやスクリプトの一覧が表示されます(図9)。全ての項目を確認したうえで、「Import」をクリックします。これにより、必要なアイリアSDK関連のファイルがプロジェクトにインポートされます。インポートが完了すると、UnityのProject ビューにailia関連のフォルダが追加されます。このフォルダが確認できれば、SDKの導入は成功です。これで、Unity 6.2 上でアイリアSDKを利用する準備が整いました。

(図9)インポートするパッケージ一覧画面

任意のシーンの表示

パッケージのインポートが完了しても、Unity Editorの画面には特に変化がありません(図10)。しかし、Projectビューの「Assets」→「Samples」→「Scenes」といったフォルダ内に、アイリアSDKのサンプル・シーン・ファイルが追加されています。これらの中から任意のシーンを開くには、該当フォルダ内に表示されているシーン・アイコンをダブルクリックします。すると、選択したサンプル・シーンがエディタ上に読み込まれ、アプリの画面がGameタブに表示されます。これで、Unity 6.2環境におけるアイリアSDKサンプルの読み込みと表示準備は完了です。

ここで補足として、パッケージのインポート直後は、シーンが読み込まれていない状態のためシーン・ビューが空白になります。シーン・アイコンをダブルクリックしてロードすることで、初めてGameビューに画面が表示されます。

(図10)起動直後の画面とシーンを選択した画面

シーン・プログラムの実行

サンプル・シーンを読み込んだ状態で、Unity Editor上部にある「Play」をクリックすると、選択したシーンのプログラムが実行されます。これにより、アイリアSDKを利用した推論サンプルの動作を実際に確認できます(図11)。実行中は、Gameビューにアプリ画面が表示され、物体検出や画像分類など、サンプルごとに異なるAI処理が動作します。停止する際は、再度「Play」をクリックするとプログラムが終了します。

(図11)アイリアSDKアプリ画面

画面が表示されない場合の対処

「Game」タブにアイリアSDKアプリの画面が表示されない場合は、まずコンソール画面を開き、発生しているエラー内容を確認してください(図12)。典型的な原因として、ライセンス・ファイル(AILIA.lic)が見つからないというエラーが発生するケースがあります。このエラーが出ている場合は、アイリアSDK評価版をダウンロードした際に同梱されているAILIA.lic ファイルを、次のフォルダにコピーしてください。

C:\Program Files\Unity\Hub\Editor\6000.2.9f1\Editor

コピーが完了したら、Unityを再起動し、再び「Play」をクリックしてシーンを実行します。これで、ライセンス関連のエラーが解消され、サンプル・シーンが正常に動作するはずです。

(図12)コンソール画面を表示してエラー内容を確認

アプリの作成

ここまでで、Unity上でアイリアSDKのサンプル・シーンを実行し、動作を確認できるようになりました.次は、これを実際のWindowsアプリとして動作させるために、ビルド・プロファイル(Build Profile)を作成します。

ビルド・プロファイルの作成

Unity Editorのメニューから「File」→「Build Profiles」を選択し、ビルド・プロファイル画面を開きます。ここで、新しいビルド・プロファイルを作成します(図13)。作成が完了すると、現在のプロジェクト設定に基づいたビルド・プロファイルが追加されます。このプロファイルを編集することで、アプリの出力形式や動作環境を自由に設定できます。

(図13)ビルド・プロファイルの作成画面

ビルド・プロファイルをアクティブにする

作成したビルド・プロファイルを使用するには、一覧に表示されている「Switch Profile」をクリックし、プロファイルをActive状態に切り替えます(図14)。この操作により、現在のプロジェクトが新しいビルド設定を使用するようになります。プロファイルをアクティブにすると、以降のビルドや設定変更はこのプロファイルに反映されます。次に、画面の表示モードや解像度などの設定をカスタマイズしていきます。

(図14)ビルドプロファイルのActive化

プロファイルの設定(画面の設定)

次に、アプリの画面表示に関する設定を行います。Build Profiles画面の右側にある「Customize Player Settings」をクリックすると、Player設定が展開されます(図15)。

(図15)Customize Player Settings の展開

Player 設定の中にある「Resolution and Presentation」項目を開き、次のように設定します(図16)。

  • Fullscreen Mode:リストから「Windowed 」を選択
  • Default Screen Width:任意の横幅(例:1024)
  • Default Screen Height:任意の高さ(例:768)

この設定により、アプリを起動した際にウィンドウ・モードで動作し、画面サイズを固定できます。デバッグやUI調整を行う際にも見やすく、開発環境に適したウィンドウ表示が可能になります。

(図16)Fullscreen Mode の設定

アプリに表示するシーンの登録

最後に、アプリ起動時に表示するSCREEN(シーン)を登録します。この設定を行うことで、ビルド後のアプリで最初に表示される画面や、利用可能なシーンを指定できます。シーンの登録手順は次の通りです

  1. Unity Editorで登録したいシーン(Screen)を開く
  2. メニューから「File」→「Build Profiles」を選択し、ビルド設定画面を表示
  3. 画面右側にある「Override Global Scene List」のチェックを外すと、「Scene List」(シーン一覧) 項目が表示される
  4. ここにビルド対象とするシーンを追加していく

シーン・リストへの追加方法

続いて、シーン・リストへの追加方法は次の通りです。

  1. エディタ画面で目的のシーンを開いた状態で、Build Profiles画面の「Add Open Scenes」をクリック(図17)
  2. これにより、現在開いているシーンがシーン・リストに登録される
  3. 同様の手順で、ほかのシーンも順番に追加していく

同様の手順で、他のシーンも順番に追加します。

(図17)登録したいシーン画面を表示した状態で 「Add Open Scenes」をクリック

起動時のシーン設定

これにより、アプリ内で利用可能な全てのシーンをシーン・リストに登録できます(図18)。なお、アプリ起動時に最初に表示されるシーンは、シーン・リストの先頭に登録されたものになります。最初にailia_sample_selectorを配置しておくと、起動時にサンプル選択画面が自動的に表示されるようになります。

(図18)複数シーンの追加例

アプリのビルド

ここまでの設定が完了したら、いよいよアプリをビルドします。Build Profiles画面の右下にある「Build」をクリックすると、現在の設定に基づいてアプリが作成されます。

次にDEVELOPMENT BUILDの設定をします。ビルドを実行する前に、Windows Settings内の「Development Build」にチェックを入れておきます(図19)。この設定を有効にすると、実行中のアプリでログ出力が行われ、動作中のメッセージやエラー内容を確認できるようになります。開発段階では、このログが非常に有用です。もし実行時に問題が発生した場合も、出力されたログから原因をすぐに特定できます。

「Build」をクリックすると、Unityがプロジェクトの内容をコンパイルし、指定した出力先フォルダにアプリケーションを生成します。ビルドが完了すると、指定したフォルダ内に実行ファイル(.exe)が作成されます(図20)。出力されたアプリケーションをダブルクリックすると、これまでUnity Editor上で確認していたシーンが、独立したWindowsアプリとして起動します。

(図19)Development Buildにチェックをいれる
(図20)ビルド完了後の出力フォルダ構成

アプリの起動

ビルドが完了したら、出力先フォルダに作成された実行ファイル(.exe)をダブルクリックしてアプリを起動します(図21)。起動すると、まずトップ画面が表示され、ここから利用したいサンプル機能を選択できます。最初に、メニューから「Detector」を選択してみます。

(図21)起動したアプリの画面

ライセンス・ファイルが見つからない場合

この段階で、ライセンス・ファイルが存在しないというエラーが表示されることがあります(図22)。この場合は、ビルド時に作成されたアプリのフォルダに、評価版で取得したAILIA.licファイルを配置してください(図23)。
ライセンス・ファイルをコピーしたあと、再度アプリを起動して「Detector」を選択すると、正常に画面が表示されます(図24)。これで、アイリアSDKを使用した推論処理がアプリ上で動作することを確認できます。

(図22)ライセンス・ファイルのエラー
(図23)ビルドしたフォルダにライセンス・ファイルを配置
(図24)Unityアプリ上でアイリアSDKを実行

便利なライセンスファイル配置方法

毎回手動でライセンス・ファイルをコピーするのは手間がかかります。そのため、Assets\Samples\Scenesフォルダ内にAILIA.licを配置しておくのがおすすめです(図25)。この場所にライセンス・ファイルを置いておくと、ビルド時に自動的に出力先フォルダへコピーされます。そのため、アプリを再ビルドしても手動でコピーする必要がなくなり、作業効率が大幅に向上します。

(図25)ライセンス・ファイルの配置

まとめと注意点

今回は、アイリアSDK(ver.1.5.0 trial)をUnity 6.2で動作させる手順を紹介しました。評価版ライセンスの取得からUnityプロジェクトへの組み込み、サンプル・シーンの実行、そしてWindowsアプリとしてのビルド/起動までを一通り体験できたと思います。アイリアSDKは、画像認識/物体検出/姿勢推定などのAI推論を簡単に実装できる強力なライブラリです。Unityと組み合わせることで、インタラクティブなAIアプリケーションを手軽に構築できるのが大きな魅力です。ぜひこの機会に、AILIA_trialを試してみてください。

なお、Unityはバージョン・アップにより仕様変更が頻繁に行われていますが、適切な設定を行えば、最新環境でもアイリアSDKを利用できます。ただし、ここで紹介した手順は筆者の環境に基づく試作例であり、Ailia公式が保証するものではありません。環境やUnityのバージョンによっては、設定箇所や動作が異なる場合がありますので、その点に留意してください。

氏森 充(うじもり・たかし)氏

約30年間、株式会社構造計画研究所にてIoT、ビッグデータ、機械学習、AI関連のシステム開発や実務応用に従事。退職後はLLM(大規模言語モデル)関連の情報収集や技術動向の調査・発信に注力し、雑誌『Interface』でもLLM技術に関する記事を執筆中。

SHARE THIS ARTICLE