Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

目次


責任制限


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

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

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

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

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

    • お客様による本商品の逆コンパイル、逆アセンブルが行われた場合、それに起因するかどうかにかかわらず、発生した一切の故障または不具合

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

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

概要


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

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

本ドキュメントは、ユーザが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の方が推論時間は高速になりますが、精度は劣化します。

環境構築


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

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

  • Ubuntu 18.04.6 LTS

Dockerをインストールする

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

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

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

$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

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

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

$ cat cvtool_v1.18.tar.bz2 | sudo docker import - [image name]

コンテナを作成する(初回のみ)

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

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

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

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

CVツールを実行する

コンテナを起動します。

$ sudo docker start [container name]

コンテナに入ります。

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

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

$ cd /home/cvtool
$ source setup_env.sh

モデルの変換


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

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

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

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

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

 Yolov5モデル学習~モデル変換

  • No labels