Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

data ディレクトリは、AdamApp 用外部データファイルを配置できる唯一のディレクトリで す。 AdamApp 用外部データファイルを、インストール時に同時にコピーしたい場合には、そのフ ァイルをこの下に配置します。インストール時に、コピーしたい AdamApp 用外部データファイ ルがない場合は、このディレクトリは空にしておきます。
data_CV2Xディレクトリは、ambaCV2X用のAdamApp 用外部データファイルを配置できるディレクトリで す。
data_CV5Xディレクトリは、ambaCV5X用のAdamApp 用外部データファイルを配置できるディレクトリで す。
ambaCV2XおよびambaCV5Xで共用する場合はdataディレクトリにAdamApp 用外部データファイルを格納すれば、共用されます。ambaCV2XおよびambaCV5XでAdamApp 用外部データファイルを区別する場合はdata_CV2Xディレクトリおよびdata_CV5Xディレクトリの下に配置します。

AIアクセラレータを使用する場合は、変換したバイナリデータをcnn ディレクトリの下に配置します。

⚫ external ディレクトリ: AdamApp で使う外部ソフトウェアを配置するディレクトリ

...

AdamApp に必要なファイルの作成と配置が完了したら、AdamApp のビルドとパッケージ作成を行いま
す。具体的には、(1)AdamApp の実行環境に対応する設定ファイルを読み込み、(2)make の実行、を実施し
ます。
詳しい手順について、SDK v1.71以前を利用される場合はこちらを参照ください。
SDK v1.80以降を利用される場合はこちらを参照ください。

ambaCV2XおよびambaCV5Xの拡張アプリを1ファイルにまとめてビルドする

...

サンプルアプリケーションと同じ値を設定してください。内部処理で使用されることはありません。

AIアクセラレーターの活用事例

Note

・AI アクセラレータは i-pro ambaCV2X モデル向けの AdamApp でのみ、利用可能です。

・ツール(cvtool)は AdamAppSDK には含まれていません。必要な場合には、i-PRO 株式会社にお問合せください。

i-pro ambaCV2X モデルのカメラには、AI の推論処理用アクセラレータ(CVFlow)を内蔵しています。
AdamApp からは、専用の API 経由でこのアクセラレータを使用することが可能です。API の入力として、アクセラレータ用のバイナリファイルが必要になります。以下の手順でバイナリの作成、およびAdamApp への組み込みを行ってください。

[手順]

...

学習済みの AI モデルを、アクセラレータ用のバイナリファイルに変換します。

...

...

Adam では、上記の手順 1.を行うためのツール(cvtool)を用意しています。cvtool の使用方法については、 AIモデル変換ツールを参照してください。

Appendix

...

Appendix A: 製品のセキュリティについて

製品セキュリティを確保するため以下の事に注意して開発してください。
・静的解析を実施してください。
・脆弱性の検証を行ってください。
・OSS 使用時には、最新の OSS を使用する、或いは、既知の脆弱性を確認してからご使用ください。

Appendix B: AdamApp で利用可能な CPU と RAM

AdamApp で利用可能な CPU 使用率及び RAM 使用量は、i-PRO カメラの機種によって異なります。
CPU 使用率が上限に達すると、カメラはそれ以上 AdamApp が CPU を使用しないように制限します。
メモリ使用量が上限に達すると、AdamApp は強制終了されます。
機種ごとの利用可能なリソース情報は下記 URL を参照下さい。

https://dev-partner.i-pro.com/space/TPFAQ/694780048

Appendix C: Pythonでの開発について

i-PROカメラのPython環境

i-PRO カメラにあらかじめインストールされている Python 環境は下記の通りです。

Interpreter : Python 3.7.9

External library : python adam module for ADAM API

Python版AdamAppの構造

Python 版 AdamApp は、下記の図に示すように、Main スレッドと Python スレッドから 構成されている。

...

Python スクリプトに関しては、基本的に Python スレッドで実行される。 ただし、stopCallback、httpCallback、appPrefCallback 等のコールバック関数については、 Main スレッドで実行される。 Python 版 AdamApp が起動すると、まず Main スレッドが生成される。Main スレッドは AdamAppの初期化処理を行った後、Pythonスレッドを生成する。PythonスレッドはPython インタープリタを起動し、pymain.py を読み込み、Python スクリプトを実行する。 Python スクリプトが最後まで実行されると、Python スレッドは自動的に終了する。その 後 Main スレッドが終了処理を行い、AdamApp が終了する。