データを保存する

現場で問題が発生した際の状況を再現し、離場前に十分な回帰検証を行えるよう、RVS 2.0 はデータ保存機能を提供しています。画像、現在のプロジェクトの出力結果、パラメータレシピに関するデータを自動保存できます。

データ保存を設定する

  1. プロジェクトを開き、プロジェクト設定 エリアで「プロジェクトアシスタント」タブをクリックし、データ保存 をクリックして データ保存 画面を開きます。

    データ保存タブ

  2. データとパラメータを保存 を有効にします。

    有効にすると、プロジェクト実行時のデータが指定したパスに自動保存されます。

    注意

    • 現在のプロジェクトにデータ保存ステップがない場合、パラメータレシピ関連のデータのみが保存されます。

    • データ保存機能は複数カメラに対応しています。RVS 2.0 プロジェクトに複数の 画像取得 ステップがある場合、すべてのカメラのデータが自動保存されます。

  3. 必要に応じてパラメータを設定します。

    • ファイルの場所

      データは既定でプロジェクトディレクトリ下の data フォルダに保存されます。ファイルを開く をクリックして保存先を変更し、十分な空き容量があるディスクを選択してください。

    • 実行時に保存

      データ保存を有効にすると、既定で有効になります。

    • 仮想モードで保存

      有効にすると、カメラを仮想モードで実行したときにデータを保存します。

    • 保存期間

      データとパラメータを保存する日数を設定します。指定期間を超えたデータは自動的に削除されます。

    • パラメータリストを追加・削除する

      出力結果とパラメータレシピのデータは既定で保存されます。ステップパラメータも保存する場合は ステップパラメータ を選択し、パラメータを追加 をクリックして、ダイアログで保存するステップパラメータを選択し、確定 をクリックします。

      選択したステップパラメータを削除する場合は、一覧で選択してパラメータを削除 をクリックします。

    • 仮想モードでパラメータを上書きする

      有効にすると、仮想モードでデータを再生する際に保存データの property ファイルから過去のパラメータ値を読み取り、現在のプロジェクトの対応するステップパラメータを上書きします。properties ファイルに定義されたすべてのパラメータが対象です。

保存データの説明

保存されるデータは次のとおりです。

  • データ保存設定ファイル:プロジェクトディレクトリ下の config/data_storage_config.json に保存され、保存先、保存期間、仮想モード設定などを記録します。

  • 画像データ:「画像取得」ステップが出力するカラー画像と深度画像を .png 形式で <カメラ ID>-color/<カメラ ID>-depth/ に保存します。

    • 深度画像:depth_image_YYYYMMDD_HHmmss_fff.png

    • カラー画像:color_image_YYYYMMDD_HHmmss_fff.png

  • キャリブレーションデータ:「画像取得」ステップが出力する内部パラメータを JSON 形式で <カメラ ID>/ に保存します。

    • カラー画像の内部パラメータ:color_Intrinsic.json

    • 深度画像の内部パラメータ:depth_Intrinsic.json

    • 左 IR 画像の内部パラメータ:left_ir_Intrinsic.json

    • 右 IR 画像の内部パラメータ:right_ir_Intrinsic.json

  • ステップパラメータデータ:データ保存画面で追加したステップパラメータを JSON 形式で properties/ に保存します。ファイル名は property_YYYYMMDD_HHmmss_fff.json です。各 property ファイルには次が含まれます。

    • name:パラメータ名

    • project_id:プロジェクト番号

    • recipe_name:パラメータレシピ名

    • type:パラメータの種類

    • value:パラメータ値

  • 異常データ:プロジェクト実行中に Error レベルのエラーが発生すると、その時点の画像データ、キャリブレーションデータ、ステップパラメータデータなどが、故障解析と再現のために data/error_data フォルダに保存されます。異常データのディレクトリ構造は error_data/<異常タイムスタンプ>/ で、次のものを含みます。

    • error_msg.json:異常情報の記録。error_msg(エラー説明)、error_time(エラー発生時刻)、step_guid(エラー発生ステップ)、step_name(ステップ名)が含まれます。

    • <カメラ ID>/:異常発生時のキャリブレーションパラメータのスナップショット

    • <カメラ ID>-color/:異常発生時のカラー画像

    • <カメラ ID>-depth/:異常発生時の深度画像

    • csv/:異常発生時の現場トレースバックファイル

    • properties/:異常発生時のステップパラメータファイル

  • 出力結果:カスタム ビジョン出力 ステップがある場合、結果を outputs/output_YYYYMMDD_HHmmss_fff.json 形式で保存します。JSONには出力ポートのキーと値が記録されます。

保存データの構成例:

<プロジェクト1>/
├── config/
│   └── data_storage_config.json    # データ保存設定
├── data/                            # 通常データ保存ディレクトリ
│   └── <YYYY-MM-DD>/               # 日付別
│       ├── <カメラ ID>/             # キャリブレーションパラメータ
│       │   ├── color_Intrinsic.json
│       │   ├── depth_Intrinsic.json
│       │   ├── left_ir_Intrinsic.json
│       │   └── right_ir_Intrinsic.json
│       ├── <カメラ ID>-color/       # カラー画像
│       │   └── rgb_image_*.png
│       ├── <カメラ ID>-depth/       # 深度画像
│       │   └── depth_image_*.png
│       ├── csv/                     # トレースバックファイル
│       │   └── step_parameter_*.csv
│       ├── outputs/                 # 出力結果
│       │   └── output_*.json
│       └── properties/              # ステッププロパティ
│           └── property_*.json
│   └── error_data/                  # 異常データディレクトリ
│       └── <YYYY-MM-DD>/            # エラー時刻別
│           ├── error_msg.json       # エラー情報
│           ├── <カメラ ID>/         # エラー時のキャリブレーションパラメータ
│           ├── <カメラ ID>-color/   # エラー時のカラー画像
│           ├── <カメラ ID>-depth/   # エラー時の深度画像
│           └── properties/          # エラー時のプロパティファイル
└── <プロジェクト名>.VisionProject   # プロジェクトファイル