今回はAILIA Trial 1.5.0とUnity 6.2を組み合わせて、Android向けのオブジェクト検出アプリを作成します。まず、AndroidアプリをビルドするためのUnity側の設定手順を解説し、続いて実際にAiliaDetectorSampleを用いたアプリ実装を行います。アイリアSDKは、PCだけでなくモバイル環境でもAI推論を動作させられる点が大きな特徴です。今回紹介する手順を通じて、スマートフォン上でのリアルタイム物体検出を体験してみましょう。
なお、Unityのインストール手順やAILIA Trialの導入方法については、前回の記事を参照してください。
ビルド・プロファイルの追加と設定
まず、アイリアSDKを利用したAndroid向けのビルド・プロファイル(図1)を作成します。手順は次の通りです。
- UnityのメニューからPlatformsリストを開き、一覧の中から「Android」を選択
- 右側にある「Add Build Profile」をクリックして、新しいビルド・プロファイルを追加
次に追加したビルド・プロファイルを選択した状態で、「Switch Profile」をクリックしてアクティブにします(図2)。


続いて、作成したプロファイルでビルド対象のシーンを設定します。
- ailia_sample_selector
- ailia_detector
をシーン・リストに追加してください(図3)。

PCとスマートフォンとの接続
次に、Unityで作成したアプリを実機で動作させるために、AndroidスマートフォンをPCに接続します(図4)。
- AndroidスマートフォンをUSBケーブルでPCに接続
- スマートフォン側でUSBデバッグ・モードとファイル転送を有効にする
- 正しく認識されると、Unity側のRun Device設定にスマートフォン名が表示される
- Run Deviceに接続した端末を指定する

次にConfigurationタブで「IL2CPP」を選択します(図5)。ここまでが、AILIA TRIALのAndroiアプリ作成に関する基本的な設定です。

ビルドと実行
全ての設定が完了したら、画面右下にある「Build And Run」をクリックします(図6)。これにより、Android用アプリのビルド、スマートフォンへのインストール、アプリの自動起動が順に実行されます。

サンプル・アプリの異常現象とスマートフォンのログ対応
アプリを実行すると、最初は正常に物体を認識しますが、途中で突然認識結果が異常になることがあります(図7)。動作を確認したところ、識別用バッファのクリア処理がうまく動作していない可能性があることが分かりました。

スマートフォン上のログ確認
AILIAのサンプル・プログラム内の画像認識関連箇所にDebug.Logを追加し、問題の詳細を確認したいところですが、スマートフォン上で動作しているアプリでは通常、Unity Editorのコンソールにログが出力されません。そこで、Android用ログ・ツール・パッケージAndroid Logcat(図8)をインストールし、実機でのログを取得できるようにします。

UnityのBuild Profiles画面で「Development Build」にチェックを入れ(図9)、ログ出力を有効にします。さらに、AILIAのサンプル・プログラム内の画像認識関連部分へDebug.Log(図10)を追加し、再度「Build And Run」をクリックします。これにより、Android側のログがUnityのコンソールに表示されるようになります。


原因の推定
ログを確認すると、突然認識オブジェクト数が増加する現象が確認できました。原因としては、カメラから入力される画像情報、または判定処理部分のロジックのいずれかに問題があると考えられます。AILIA Trialには、画像処理関連のソースとしてDetectorのメイン処理およびカメラ情報を管理するソース・コードが含まれています。これらのソース・コードを確認し、問題箇所を検証することとします。
対応結果
修正を行った結果、問題が解消されて安定してオブジェクトを認識できるようになりました(図11)。実行速度はおよそ6.6FPSで動作しています。検証に使用したスマートフォンはSharp AQUOS sense6s(Snapdragon 695/RAM 4GB)です。決して高性能な端末ではありませんので、この結果は十分に良好といえるでしょう。

今回の修正内容には、Android OSのバージョンやスマートフォン本体のハードウェア構成に依存する部分もあるため、元の障害が必ずしもAILIAのソース・コードだけに起因するとは限りません。また、修正したソース・コードのライセンスはAILIAに帰属しますので、ここで修正版の内容を掲載することは控えます。
ただし、修正箇所そのものは比較的シンプルなものでした。読者の皆さんも、ソース・コードの内容を確認/検証しながらご自身の環境に合わせて調整してみることで、より深い理解が得られると思います。ぜひ実際に試してみてください。
まとめ
今回は、AILIA TrialとUnity 6.2を利用してAndroid向けのオブジェクト検出アプリを作成し、実機上での動作とデバッグ手法を紹介しました。アイリアSDKはクロス・プラットフォーム対応が進んでおり、同一プロジェクトをWindows/Android双方で動かせる点が大きな魅力です。今後は、他のモデルやリアルタイム処理の最適化など、さらなる応用も試してみてください。
氏森 充(うじもり・たかし)氏
約30年間、株式会社構造計画研究所にてIoT、ビッグデータ、機械学習、AI関連のシステム開発や実務応用に従事。退職後はLLM(大規模言語モデル)関連の情報収集や技術動向の調査・発信に注力し、雑誌『Interface』でもLLM技術に関する記事を執筆中。











