Versions Compared

Key

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

目次

Table of Contents
minLevel1
maxLevel4

責任制限

...

本ツールはセキュリティカメラ上で動作するアプリを開発するための機能を提供するもので、ツールを利用したアプリの動作保証を行うものではありません。また、追加アプリ動作中はセキュリティカメラに組み込まれた機能の動作は保証されません。

...

付属のサンプルはツールの使用方法を記述したものであり、実際の監視運用を目的として作成されたものではありません。

弊社は、いかなる場合も以下に関して一切の責任を負わないものとします。

...

本製品に関連して直接または間接に発生した、偶発的、特殊、または結果的損害・被害

...

お客様の故意や誤使用、不注意による障害または本製品の損傷など

...

...

セキュリティデバイスからダウンロードしたデータ等のパソコンにおける消失、あるいは漏洩等によるいかなる損害、クレームなど

...

ネットワーク上からの不正アクセスなど悪意を持った第三者による画像データ、音声データ、認証情報(ユーザー名、パスワード)の漏えいなどによるいかなる損害、クレームなど

概要

AIを使用する追加アプリを開発する際には、Caffe/Tensorflow/ONNXで作成したモデルをAIカメラ内蔵のアクセラレータ(CVFlow)で実行可能なバイナリ(cavalry.bin)に変換する必要があります。

AIモデル変換ツール(以下、CVツール)はこの変換処理に関連するツール(Convert Tool)を提供します。

...

Note

本ドキュメントは、ユーザがAIモデルの学習に習熟していることを前提として、作成されています。

・CVツールはAIモデルの学習に関する機能を提供するものではありません。

 各フレームワークでの学習は、ユーザが前もって実施してください。

・CVツールはAIモデルとしてCNNを対象としています。

・tensorflow v2.xのモデルは事前にtfliteに変換が必要です。

・pytorchのモデルは事前にONNXに変換が必要です。

開発フロー

学習済みモデルをCVflowの実行可能バイナリに変換するまでのフローを記載します。

CVツールでは図中の色付きの項目に対する処理を実施します。

...

Conversion

学習モデルをcavalry.binに変換します。

Conversionではモデルの再学習は行いません。

カメラのアクセラレータ(CVFlow)は16bitまたは8bitの固定小数点で演算を行うため、元のモデルは16bitまたは8bitに量子化されます。

量子化の設定は、16bit固定・16bit/8bit混合(各演算のbit幅は、ツールが自動で決定します)・8bit固定の3種類から、ユーザが選択可能です。

通常、8bitの方が推論時間は高速になりますが、精度は劣化します。

環境構築

...

Info

CVツールの入手方法はこちらをご参照ください。

チュートリアルでのインストール対象OS

  • Ubuntu 1820.04 .6 LTS

Dockerをインストールする

Docker環境の構築に必要なパッケージをインストール、環境設定を行います。

他のLinuxディストリビューションでのインストール方法など、詳細については公式サイトなどを参照してください。

参考:https://docs.docker.com/engine/install/

Code Block
$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl
\$ sudo install -m 0755 gnupg-agent \
    software-properties-common
$ d /etc/apt/keyrings
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository \
-o /etc/apt/keyrings/docker.asc
$ sudo chmod a+r /etc/apt/keyrings/docker.asc

$ echo \
  "deb [arch=amd64=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) . /etc/os-release && echo "$VERSION_CODENAME") stable" | \
   stable"sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update

$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Dockerイメージをインポートする(初回のみ)

インポートが完了するまでに数分程度の時間がかかります。

[image name]は任意の名前

Code Block
$ cat cvtool_v1vx.18xx.tar.bz2 | sudo docker import - [image name]

...

ホストOSとコンテナとの間でデータをやりとりする際は –v オプションも指定してください。

プロキシを設定している場合は、以下のリンクを参考にdockerのプロキシ設定を行ってください。

参考:https://matsuand.github.io/docs.docker.jp.onthefly/network/proxy/

[container name]は任意の名前

Code Block
$ sudo docker run -d -it --name [container name] [image name] /bin/bash

プロキシを設定している場合は、以下のリンクを参考にdockerのプロキシ設定を行ってください。

参考:https://matsuand.github.io/docs.docker.jp.onthefly/network/proxy/

CVツールを実行する

コンテナを起動します。

Code Block
$ sudo docker start [container name]

...

Code Block
$ sudo docker exec -it -u cvtool [container name] /bin/bash

passwordが必要な場合は「cv」を利用ください。

(コンテナ内で)環境設定を行います。

  • ambaCV2Xカメラ向けの設定

Code Block
$ cd /home/cvtool
$ source setup_env.sh
  • ambaCV5Xカメラ向けの設定

モデルの変換

モデルの変換は下記ページをご参照ください。

 設定ファイル仕様・サンプルモデル変換(Caffe編)

 設定ファイル仕様・サンプルモデル変換(Tensorflow編)

 設定ファイル仕様・サンプルモデル変換(ONNX編)

Yolov5モデルの学習~モデル変換までのチュートリアルは下記をご参照ください。

...

Code Block
$ cd /home/cvtool
$ source setup_env.sh ipro-ambaCV5X

モデルの変換

...

モデル変換については下記ページをご参照ください。

 設定ファイル仕様・サンプルモデル変換(Caffe編)

 設定ファイル仕様・サンプルモデル変換(Tensorflow編)

 設定ファイル仕様・サンプルモデル変換(ONNX/PyTorch編)