ailia SDKを試す<第23回> Unity上でailia SDKを動かす

 今回は,Unity上でailia SDKを利用可能にしているailia-models-unityを紹介します.UnityでAIを使ったインタラクティブ・コンテンツを作りたい場合,この組み合わせは非常に便利です.例えば,リアルタイム物体検出,姿勢推定,セグメンテーションなどがUnity上で動作させられるモデルが揃っています.さらに,Unity自体がマルチプラットフォーム(Windows,macOS,iOS,Android,Linuxなど)に対応しているため,1度作成したアプリケーションを多くの環境で動作させることが可能です.これにより,AIを活用したクロス・プラットフォーム・アプリケーションの開発を,比較的容易に実現できる点が大きな魅力です.

 

●Unityインストール
 Unityのインストーラは,公式ウェブ・サイト(https://unity.com/ja)からダウンロードしてインストールします.Unityを利用するにはライセンスが必要ですが,商用利用を行わない場合は無料のPersonalライセンスを使用できます.ライセンス条件を確認のうえ,ご自身の利用目的に合ったものを選択してください.
 インストールが完了すると,プロジェクト管理ツールであるUnity Hubが利用可能になります.Unity Hubの表示言語は,「Settings」→「Appearance」→「Language」で変更できます(図1).日本語にも設定できますが,インターネット上の解説記事やドキュメントの多くは英語表記なので,参考資料と併せて確認する場合は英語表示に戻すと分かりやすい場合があります.

図1 言語選択のメニュー画面

 

●ailia-models-unityのインストールと初期設定
▲リポジトリの取得
 Unity用ailia SDKモデル集であるailia-models-unityは,GitHub上で公開されています.次のコマンドでローカル環境にクローンします.
***
git clone https://github.com/axinc-ai/ailia-models-unity
***
 このリポジトリには,物体検出/姿勢推定/顔認識など,複数のAIモデルがUnity上で動作可能な形で収録されています.
▲UnityへのAILIA-MODELS-UNITYの登録
 GitHubからクローンしたフォルダailia-models-unityを,Unity Hubのメニューから登録します.手順を次に示します.
***
・1,Unity Hubを起動
・2,「プロジェクト」タブを開く
・3,「追加」→「ディスクから加える」を選択
・4,展開したailia-models-unityフォルダを指定
***
 これで,ailia-models-unityがUnityのプロジェクトとして利用できるようになります.
 
図2 プロジェクトを追加し展開したフォルダを選択

 

▲追加するモジュール選択
 プロジェクトを追加すると,Unity Hub上で必要な追加モジュールの選択画面が表示されます(図3).
図3 追加モジュールの選択画面

 

 主なモジュールには次があります.
***
・Microsoft Visual Studio Community 2019(または最新のVisual Studio)
→ 既に新しいバージョンをインストール済みの場合は,追加不要
・Android/iOS向けビルド・サポート
・日本語言語パック
***
 必要なモジュールを選択し,「インストール」をクリックします.
▲ワーク・ロードのインストール
 次に,Microsoft Visual Studioのワークロード選択画面が表示されます(図4).ここでは「Unityによるゲーム開発」を選択し,必要なワーク・ロードを追加してインストールします.


図4 ワークロードの選択画面

 

▲プロジェクトの登録
 プロジェクトを登録すると,Unityエディタのバージョンによってはセキュリティ警告が表示されることがあります(図5).ailia-models-unityは特定のバージョンでの動作が確認されているので,今回はそのまま進めます.
 なお,注意点としてセキュリティ上の理由から,この検証用バージョンで作成したアプリケーションを公開することは避けてください.
 初回起動時には,必要なファイルをダウンロードするため時間がかかる場合があります.ダウンロード完了後,プロジェクトのメイン画面が表示されます(図6).


図5 警告メッセージ


図6 プロジェクトのメイン画面

 

▲パッケージの確認
 メニューの「Window」→「Package Manager」を開くと,ailiaSDKがインストールされていることを確認できます(図7).


図7 Package ManagerでailiaSDK がインストールされていることを確認

▲言語選択
 Unityの表示言語は,「Edit」→「Preferences…」→「Languages」から変更できます(図8).一般的には英語表示のまま利用する方が学習資料と一致して理解しやすいといわれていますが,ここでは日本語化して操作を説明します.


図8 言語選択画面

 

●デモ・プログラムの実行
 ailia-models-unityには,動作確認や学習用に利用できるデモ・プログラムが多数用意されています(図9).Unityエディタを起動したら,メニューの「プロジェクト」→「Assets」→「AXIP」→「AILIA-MODELS」を開き,一覧から任意のデモを選択します.


図9 デモ・プログラムの画面

 

 選択したフォルダ内には,モデルごとのサンプル・シーンやスクリプトが格納されています.実行したいプログラムを選択し,Unityエディタ上部の再生ボタンをクリックすると,デモを起動できます(図10).
 実行すると,AIモデルが推論を開始し,カメラ画像や入力データに応じた結果がリアルタイムで表示されます(図11).物体検出モデルであれば,検出結果のバウンディング・ボックスやラベルが画面上に重ねて表示されることを確認できます.


図10 実行したいプログラムを選択し,再生マークをクリック


図11 プロジェクトを実行している様子

 

●まとめ
 今回は,Unity+Ailia SDK(ailia-models-unity)を用いて,プロジェクトの読み込みからデモ・プログラムを実行し,Unityエディタ上で動作を確認するところまでを紹介しました.Unityエディタのバージョンが古い場合,最新のSDKや依存ライブラリとの互換性に問題が生じることがあります.次回は,アプリケーションのビルド手順や,セキュリティ的に安全なバージョン環境での試用方法について詳しく解説します.

 

●コラム ライセンス更新のトラブル対応方法
 Unity Hubでライセンスの更新に失敗し,次のようなメッセージが表示されることがあります.
***
Licenses Unable to refresh license. Please try again.
***
 このエラーが表示され,再インストールやアカウントの削除を行っても解決しない場合は,ライセンス関連ファイルの破損やキャッシュ不整合が原因である可能性があります.
 対処方法を次に示します.
***
・1,Unity HubまたはUnity Editorを終了
・2,次のフォルダを削除,または一時的に名前を変更(Rename)
 C:\Program Files\Unity Hub
 C:\Program Files\Unity
・3,再度Unity Hubを起動し,サインインしてライセンスを再取得
***
 この現象は,UnityをCドライブ以外にインストールした場合にも発生することがあります.その際は,インストール先ドライブ配下にも同様のフォルダが存在しないか確認してください.

 

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