プリプロセッサー

プリプロセッサーは、モデル推論の前に入力データを処理するクラスです。すべてのプリプロセッサーには、構成に使用できるパラメーターがあります。プリプロセッサーとパラメーターは、構成ファイルを通じて設定されます。プリプロセッサーは、特定の前処理を使用するため、構成ファイルの datasets セクションで提供されます。

サポートされるプリプロセッサー

精度チェッカーは、次の一連のプリプロセッサーをサポートしています。

  • resize - 画像のサイズを新しい幅と高さに変更します。

    • dst_width および dst_height は、それぞれサイズ変更する画像のデスティネーションの幅と高さです。ティネーションのサイズが両方の次元で等しい場合は、代わりに size を使用することもできます。

    • resize_realization - パラメーターは、サイズ変更に使用するライブラリーの機能を指定します: opencvpillow または tf (デフォルトは opencv です)。tf を有効にするには、最初に TensorFlow をインストールする必要があります。以前のリリースとの互換性を保つため、選択範囲のサイズ変更バックエンドにブール定数を使用することもできます。

      • use_pillow パラメーターは、サイズ変更を行う Pillow ライブラリーの使用法を指定します。

      • use_tensorflow パラメーターは、サイズ変更を行う TensorFlow Image の使用法を指定します。TensorFlow をインストールする必要があります。精度チェッカーは、デフォルトのイメージリーダーとして OpenCV を使用します。

    • interpolation 使用されるメソッドを指定します。可能な値は画像処理ライブラリーによって異なります。

      • OpenCV: Nearest、Linear、Cubic、Area、Max、Lanczos4、Bits、Bits32

      • Pillow: None、Nearest、Cubic、Bicubic、Box、Bilinear、Lanczos、Antialias、Hamming、Linear

      • TensorFlow: Bilinear、Area、Bicubic Linear は OpenCV のデフォルトとして使用され、Bilinear は Pillow と TensorFlow のデフォルトとして使用されます。

    • aspect_ratio_scale 画像のアスペクト比を変更または保存してサイズを変更できます。次のいずれかの方法で実行できます。

      • width - 幅を再スケールします (高さは固定サイズで、dst_height または size として指定されます。幅のサイズはアスペクト比を保存するために再スケールされます)。

      • height - 高さを再スケールします (幅は固定サイズで、dst_width または size として指定されます。高さのサイズはアスペクト比を保存するために再スケールされます)。

      • greater - 画像サイズから大幅に再スケールします (小さい次元はサイズが固定されており、大きい次元はアスペクト比を保存するために再スケールされます)

      • fit_to_window - 適応型サイズ変更は、固定サイズ [dst_height x dst_width] のウィンドウに画像をフィットさせるためアスペクト比を維持しますが、画像を可能な限り大きくしようとします。

      • frcnn_keep_aspect_ratio - 適応型サイズ変更は、画像を固定サイズ [max_size x max_size] のウィンドウに収めるためアスペクト比を維持しますが、画像の最小サイズを min_size に等しいか、可能な限り min_size に近づけようとします。ここで、min_size = min(dst_width, dst_height)max_size = max(dst_width, dst_height) です。

      • ctpn_keep_aspect_ratio - 次のアルゴリズムを使用して、固定サイズ [max_size x min_size] で画像をウィンドウにフィットさせるためアスペクト比を維持した適応型サイズの変更を行います。

        1. 元の画像の最小サイズをデスティネーションの最小サイズに変更してみてください。

        2. スケーリングされた最大サイズがデスティネーションの最大サイズより大きい場合、最小サイズを再スケーリングして、デスティネーションの最大サイズと等しい最大サイズを取得します。

      • east_keep_aspect_ratio - このアルゴリズムを使用してアスペクト比を維持した適応型サイズ変更を行います。

        1. 最大イメージサイズが最大デスティネーション・サイズより大きい場合、最大画像サイズを最大デスティネーション・サイズと等しくします。

        2. 画像の高さと幅を、剰余のない最小デスティネーション・サイズで割り切れるようにします。

      • min_ratio - 最小比率 source_size / destination_size に従って幅と高さを変更します。

      • mask_rcnn_benchmark_aspect_ratio - ONNX zoo の maskrcnn-benchmark モデルの前処理に従って画像サイズを再スケールします

      • ppcrnn_ratio - 次の方法でスケールを計算します。

        1. 元の画像の比率を検出 (input_width/input_height)

        2. dst_height * 比率が dst_width より大きい場合、dst_width = 32 * 比率

        3. それ以外の場合は、dst_width = dst_height * 比率

      • ppocr_max_ratio - 次の方法でスケールを計算します。

        1. 画像サイズの max_limit として使用される、指定されたデスティネーション・サイズ間の最大値。

        2. サイズ変更前の最大画像サイズが最大制限より大きい場合、比率は max_limit/max_size として計算され、それ以外の場合、比率は 1 に等しくなります。

      • ppocr_cls_ratio - 次の方法でスケールを計算します。

        1. 比率は image_width/image_height として計算され、高さのデスティネーション・サイズは定数として使用されます

        2. dst_height に比率を掛けた値が dst_width より大きい場合、dst_width が幅のサイズ変更に使用されます。それ以外の場合、サイズ変更された幅は dst_height * ratio になります。

  • factor - アスペクト比のサイズ変更のデスティネーション・サイズは、剰余なしで指定された数値で割り切れる必要があります。このパラメーターは、aspect_ratio_scale パラメーターでのみ機能することに注意してください。

  • auto_resize - 入力レイヤー形状に合わせて画像のサイズを自動変更します。(入力レイヤーが 1 つの場合のみサポートされており、画像のサイズ変更には OpenCV を使用してください)

  • normalization - ピクセル強度値の範囲を変更します。

    • mean 画像チャネルから減算される値。すべてのチャネルに対して 1 つの値を指定することも、カンマで区切ったチャネルごとの値のリストを指定することもできます。

    • std ピクセルを分割する値を指定します。すべてのチャネルに対して 1 つの値を指定することも、カンマで区切ったチャネルごとの値のリストを指定することもできます。これらのパラメーターは、頻繁に使用されるデータセット (cifar10imagenet など) の事前計算された値の操作をサポートします。

    • images_only - マルチ入力モードでの非画像入力の正規化を防止します (オプション、デフォルトは False)。

  • resize3d - 3D 画像 (MRI スキャンなど) を新しいサイズに変更します。

    • size 形式 (H,W,D)。すべての値は 1 次スプラインで補間されます。

  • crop_brats - すべての非ゼロボクセルをトリミングすることで、3D 画像 (MRI スキャンなど) をトリミングします。また、segmentation_prediction_resample プリプロセッサーの境界ボックスも設定します (ポストプロセッサーを参照)。

  • normalize_brats - Z - スコア正規化による 3D 画像 (MRI スキャンなど) の正規化

    • masked - マスクタイプを指定します。

      • none マスクをしない

      • ignore 統計計算で “空の” ボクセルを無視する

      • nullify “空の” のボクセルを最後に無効化する

      • all ignorenullify

    • cutoff - 最小値と値をそれぞれ -cutoffcutoff にカットします

    • shift_value - すべての値に加算されます

    • normalize_value - すべての値を除算します

  • swap_modalities - MRI スキャンのモダリティーを交換します (チャネル交換として機能します)

    • modality_order - 新しい順番

  • bgr_to_rgb - 画像チャネルを反転します。BGR 形式の画像を RGB に変換します。

  • bgr_to_gray - BGR の画像をグレースケール色空間に変換します。

  • rgb_to_bgr - 画像チャネルを反転します。RGB 形式の画像を BGR に変換します。

  • rgb_to_gray - RGB の画像をグレースケール色空間に変換します。

  • bgr_to_yuv - BGR の画像を YUV に変換します。

    • split_channels - 変換後にイメージチャネルを独立した入力データに分割します (オプション、デフォルトは False)。

    • shrink_uv - 1:2 解像度の UV チャネルのサイズを Y チャネルに変更します (オプション、split_channels の組み合わせでのみ使用可能)。

  • rgb_to_yuv - RGB の画像を YUV に変換します。

    • split_channels - 変換後にイメージチャネルを独立した入力データに分割します (オプション、デフォルトは False)。

    • shrink_uv - 1:2 解像度の UV チャネルのサイズを Y チャネルに変更します (オプション、split_channels の組み合わせでのみ使用可能)。

  • bgr_to_nv12 - BGR イメージを NV12 形式に変換します。

  • rgb_to_nv12 - RGB イメージを NV12 形式に変換します。

  • nv12_to_bgr - NV12 データを BGR 形式に変換します。

  • nv12_to_rgb - NV12 データを RGB 形式に変換します。

  • bgr_to_ycrcb - BGR の画像を YCrCb に変換します。

    • split_channels - 変換後にイメージチャネルを独立した入力データに分割します (オプション、デフォルトは False)。

  • rgb_to_ycrcb - RGB の画像を YCrCb に変換します。

    • split_channels - 変換後にイメージチャネルを独立した入力データに分割します (オプション、デフォルトは False)。

  • bgr_to_lab - RGB 形式の画像を LAB に変換します。

  • rgb_to_lab - BGR 形式の画像を LAB に変換します。

  • select_channel - マルチチャネル映像から指定したチャネルだけを選択します。

    • channel - 画像内のチャネル id (例: 画像を RGB で読み取り、緑のチャネルを選択したい場合は、チャネルとして 1 を指定する必要があります)

  • flip - 指定された軸を中心に画像をミラーリングします。

    • mode 反転する軸 (vertical または horizontal) を指定します。

    • merge_with_original - 反転した画像を元の画像に追加できます (オプション、デフォルトは False、元の画像は反転した画像に置き換えられます)。

  • crop - 画像の中央部分をトリミングします。

    • dst_width および dst_height は、それぞれサイズ変更する画像のデスティネーションの幅と高さです。出力先のサイズが等しい場合は、代わりに size を使用することもできます。central_fraction でトリミングするサイズの比率 (float 値 (0, 1])) を定義するか、max_square で画像の中央部分を最小画像サイズでトリミングします (この特徴を有効にする場合は True 値)。

    • use_pillow パラメーターは、クロップに使用する Pillow ライブラリー使い方を指定します。

  • crop_rectangle - アノテーション・メタデータで指定された座標を使用して注目する領域をトリミングします。

  • extend_around_rect - アノテーション・メタデータを使用して注目する領域をスケーリングします。

    • augmentation_param はオーグメンテーションのスケールファクターです。

  • point_alignment - アノテーション・メタデータに格納されているキーポイントの位置を調整します。

    • draw_points - ポイントの視覚化を許可します。

    • normalize - キーポイントに正規化を使用できるようにします。

    • dst_widthdst_height はそれぞれ、キーポイントのサイズ変更のデスティネーションの幅と高さです。ティネーションのサイズが等しい場合は、代わりに size を使用することもできます。

  • corner_crop - 画像のコーナークロップ。

    • dst_widthdst_height はデスティネーションの幅と高さです。

    • corner_type はクロップのタイプです。設定可能なオプションは次のとおりです。

      • top-left

      • top-right

      • bottom-left

      • bottom-right デフォルトの選択は top-left

  • crop_or_pad - 元の画像のサイズがデスティネーションのサイズより大きい場合は、中央のトリミングを行い、ソースのサイズがデスティネーションより小さい場合はパディングを行います。パディング値は 0、現実化は右下です。

    • dst_widthdst_height はそれぞれ、キーポイントのサイズ変更のデスティネーションの幅と高さです。ティネーションのサイズが等しい場合は、代わりに size を使用することもできます。

  • crop_image_with_padding- パディングにより画像の中央にトリミングしてから、画像サイズを拡大縮小します。

    • size - デスティネーション画像の高さ/幅の次元。

    • crop_padding - 中央にクロップするときに使用するパディングサイズ。

  • padding - 画像のパディング。

    • stride - パディングのストライド。

    • pad_value - 元の画像の周囲のスペースを埋める値 (画像の背景ピクセルの色を推定するため、カンマで区切ったチャネルごとの浮動小数点値または背景として指定する必要があります)。

    • dst_widthdst_height はそれぞれ、パディングされたイメージのデスティネーションの幅と高さです。ティネーションのサイズが両方の次元で等しい場合は、代わりに size を使用することもできます。

    • pad_type - パディングスペースの位置。サポートされる位置: centerleft_topright_bottom (デフォルトは center)。

    • use_numpy - デフォルトの OpenCV の代わって numpy をパディングに使用できるようにします。

    • numpy_pad_mode - パディングに numpy を使用する場合、定数、エッジ、平均などを含む numpy パディングモード (デフォルトは定数)。

    • enable_resize - ソース画像がデスティネーション・サイズよりも大きい場合、画像サイズをデスティネーション・サイズに変更できるようにします (オプション、デフォルトは False)。

  • tiling - 画像のタイリング。

    • margin - タイル化された画像の断片のマージン。

    • dst_widthdst_height はそれぞれ、タイル化されたフラグメントのデスティネーションの幅と高さです。ティネーションのサイズが両方の次元で等しい場合は、代わりに size を使用することもできます。

  • crop3d - 3D データの中央トリミング。

    • dst_widthdst_heightdst_volume はそれぞれ、トリミングされた 3D 画像の出力先の幅、高さ、ボリュームです。ティネーションのサイズが 3 つの次元すべてで等しい場合は、size を使用することもできます。

  • normalize3d - 現在の画像のチャネルごとの平均値と標準値をそれぞれ減算と除算に使用して 3D 画像を正規化します。

  • tf_convert_image_dtype - イメージ値を範囲 [0, 1] の浮動小数点値にキャストします。TensorFlow をインストールする必要があります。

  • decode_by_vocabulary - モデル語彙を使用して単語をデコードして一連のインデックスを作成します。

    • vocabulary_file - デコード用の語彙ファイルへのパス。パスには --models 引数でプリフィクスを付けることができます。

    • unk_index - 語彙内の未知の記号のインデックス。

  • decode_by_sentence_piece_bpe_tokenizer - SentencePieceBPETokenizer を使用して単語をインデックスのセットにデコードします。

    • vocabulary_file - デコード用の語彙ファイルへのパス。パスには --models 引数でプリフィクスを付けることができます。

    • merges_file - デコード用のマージファイルへのパス。パスには --models 引数でプリフィクスを付けることができます。

    • sos_symbol - start_of_sentence シンボルの文字列表現 (デフォルト = <s>)。

    • eos_symbol - end_of_sentence シンボルの文字列表現 (デフォルト = </s>)。

    • add_symbols - sos/eos 記号を文に追加します (デフォルト = True)。

  • pad_with_eos - 行終了文字またはインデックスを使用して、入力シーケンスを特定のサイズに補完します。

    • eos_symbol または eos_index - 行終端記号、またはエンコードされたシーケンスの語彙内のこの記号のインデックス。

    • sequence_len - 補完後のシーケンスの長さ。

  • centernet_affine_transform - CenterNet アフィン変換。画像のサイズ変更に使用されます。

    • dst_widthdst_height は、画像のデスティネーションの幅と高さです。デスティネーションのサイズが等しい場合は、size を使用することもできます。

    • scale - 画像のスケール係数 (デフォルトは 1)。

  • free_form_mask - 自由形式のマスクを画像に適用します。

    • parts - マスクを描画するパーツの数。

    • max_brush_width - マスクを描画する最大ブラシ幅。

    • max_length - マスクを描画する線の最大長。

    • max_vertex - マスクを描画する頂点の最大数。

    • inverse_mask - マスクの反転を許可します (1 - 実画像、0 - マスクされた領域)。オプション、デフォルトは False (0 - 実画像、1 - マスクされた領域)。

    • concat_mask - 生成されたマスクとイメージをチャネルごとに 1 つのテンソルに連結できます。オプションであり、デフォルトは False

  • rect_mask - 画像に長方形マスクを適用します。

    • dst_widthdst_height はマスクの幅と高さです。ティネーションのサイズが等しい場合は、代わりに size を使用することもできます。

    • inverse_mask - マスクの反転を許可します (1 - 実画像、0 - マスクされた領域)。オプション、デフォルトは False (0 - 実画像、1 - マスクされた領域)。

    • concat_mask - 生成されたマスクとイメージをチャネルごとに 1 つのテンソルに連結できます。オプションであり、デフォルトは False

  • custom_mask - カスタム・マスク・データセットからマスクを適用します。

    • mask_dir - 修復に使用されるマスク・データセットへのパス。

    • inverse_mask - 適用前の逆マスク

    • concat_mask - 生成されたマスクとイメージをチャネルごとに 1 つのテンソルに連結できます。オプションであり、デフォルトは False

    • mask_loader - マスクをロードするためにどのリーダーを使用するか。次のリーダーが利用できます。

      • opencv_imread - OpenCV ライブラリーを使用して画像を読み込みます。デフォルトの色空間は BGR です。

      • pillow_imread - Pillow ライブラリーを使用して画像を読み取ります。デフォルトの色空間は RGB です。

      • scipy_imread - scipy.misc.imread と同様のアプローチでイメージを読み取ります。

      • numpy_reader - numpy ダンプされたファイルを読み取ります。

      • tf_imread- TensorFlow を使用して画像を読み取ります。デフォルトの色空間は RGB です。TensorFlow をインストールする必要があります。

      • inverse_mask - マスクの反転を許可します (1 - 実画像、0 - マスクされた領域)。オプション、デフォルトは False (0 - 実画像、1 - マスクされた領域)。

  • warp_affine - ワープアフィン変換。(OpenCV でのみサポートされます)

    • src_landmarks - ワープアフィン変換のマーカーとして設定するソース・ランドマーク。

    • dst_landmarks - src_landmarks を変換するデスティネーションおよびターゲットのランドマーク。

    • dst_height - デスティネーションの高さサイズ。

    • dst_width - デスティネーションの幅サイズ。

  • resample_audio - オーディオを新しいサンプルレートに変換します

    • sample_rate - 新しいサンプルレートを設定します

  • clip_audio - オーディオを同じ長さの複数の部分にスライスします

    • duration - 各クリップの継続時間を秒またはサンプルで設定します (サンプルのサフィックスを使用)。例: 1.516000samples

    • overlap - クリップのオーバーラップをパーセントまたはサンプルで設定します (それぞれ % またはサンプルのサフィックスを使用します) (デフォルトではオーバーラップなし)。例: 25%4000samples

    • max_clips - クリップの最大数を設定します (デフォルトではすべてのクリップが記録されます)

  • audio_normalization - 平均サンプルの減算とサンプルの標準偏差の除算によってオーディオレコードを正規化します。

    • per_frame - 各フレームの平均値と標準偏差を個別に計算します (オプション、デフォルトは False)。

  • audio_to_mel_spectrogram - 時間領域オーディオ信号から MEL スペクトログラムを計算するために必要なすべての前処理を実行します。

    • window_size - 時間領域信号フレームのサイズ (秒)

    • window_stride - 時間領域でのフレームの交差 (秒)

    • window- 重み付けウィンドウのタイプ、可能な選択肢:

      • hann - 各信号フレームにハニングウィンドウを適用

      • hamming - 各信号フレームにハミングウィンドウを適用

      • blackman - 各信号フレームにブラックマン・ウィンドウを適用

      • bartlett - 各信号フレームにバートレット・ウィンドウを適用

      • none - ウィンドウなし

    • n_fft - STFT ベース (サンプル)

    • n_filt - MEL フィルターの数

    • splicing - 連続して連結された MEL スペクトルの数

    • sample_rate - オーディオ・サンプリング周波数 (Hz)

    • pad_to - 希望する長さの特徴

    • preemph - プリエンフ係数

    • log - log() を MEL 特徴の値に適用

    • use_deterministic_dithering - ディザリング・モードを制御:

      • True - 時間領域でのディザリングはなく、dither パラメーターの固定値が信号スペクトルに追加されます

      • False - 時間領域でのディザリング、dither の大きさを持つランダム値が信号スペクトルに追加されます。

    • dither - ディザリング値

    • stft_padded - 短時間フーリエ変換 (STFT) の入力信号の最後にパディングを有効にします

    • stft_boundary - 短時間フーリエ変換 (STFT) の境界値を生成する方法を指定します

    • do_transpose - 入力トランスポーズを有効にします

  • audio_patches - マルチ推論処理のためにオーディオ信号を指定された size のパッチに分割します。入力信号を余りなしのサイズで除算できない場合、信号の左側にゼロが埋められます。

    • size - パッチサイズ。

  • context_window - 入力信号にコンテキスト・ウィンドウ・パディングを追加します。

    • cw_l - 左側のコンテキスト・ウィンドウのパディング。

    • cw_r - 右側のコンテキスト・ウィンドウのパディング。

    • to_multi_infer - マルチ推論用にデータを準備します (オプション、デフォルトは False)。

  • similarity_transform_box - 画像の類似性変換を適用して、注釈メタデータに格納されている四角形領域を取得します

    • box_scale - ボックスのスケール係数 (オプション、デフォルトは 1)。

    • dst_widthdst_height は、それぞれ変換後のイメージの出力先の幅と高さです。ティネーションのサイズが両方の次元で等しい場合は、代わりに size を使用することもできます。

  • face_detection_image_pyramid - 顔検出用の画像ピラミッド

    • min_face_ratio - 画像サイズに対する顔の最小比率。

    • resize_scale - ピラミッドレイヤーのスケール係数。

  • candidate_crop - 前段階のモデルで検出された候補を入力画像から垂直方向と水平方向のスケーリングでトリミングします。

    • scale_width - 元の候補の幅を基準にして幅をスケールする値。

    • scale_height - 元の候補の高さを基準にして高さをスケールする値。

  • object_crop_with_scale - アノテーションの center 座標と scale を使用して画像から領域をトリミングします。

    • dst_widthdst_height はそれぞれ、画像トリミングのデスティネーションの幅と高さです。ティネーションのサイズが等しい場合は、代わりに size を使用することもできます。

  • one_hot_encoding - インデックスの配列に基づいてラベルマップを作成します (アナログ・スキャッター)。

    • value - エンコードラベルの番号。

    • base - 他のクラスをエンコードする番号。

    • axis - クラスに相当する軸。

    • number_of_classes - 使用されたクラスの数。

  • pack_raw_image - 黒レベルを除去して生画像を [H, W, 4] 正規化画像形式にパックします。

    • black_level - 入力画像の黒レベル。

    • ratio - 露出スケール比 (オプション) が指定されていない場合は、アノテーションの値で置き換えることができます。

    • 9-channels - 9 チャネルの画像をパックする場合 (オプション、デフォルトは False)。

  • alpha - 画像からアルファ・チャネル・データを抽出します。

    • channel - 抽出するチャネルの数 (オプション、デフォルトは 3)。

  • trimap - 画像データを、画像内のカット、キープ、計算ゾーンのアルファ・チャネル・ベースの情報と連結します。

    • cut_treshold - カットゾーンのアルファ値の最大レベル。オプション、デフォルトは 0.1 です。

    • keep_treshold - キープゾーンのアルファ値の最小レベル。オプション、デフォルトは 0.9 です。cut_thresholdkeep_treshold の間のアルファーチャネル値を持つピクセルは計算ゾーン内にあります。

  • jpeg_compression - 画像を jpeg 形式に圧縮します。

    • quality_factor - 0 ~ 100 の圧縮の品質 (高いほど優れています)。

  • transpose - 指定された軸順序でデータを転置します。

    • axes - 転置された順序の次元のリスト。

OpenVINO 推論エンジンによる最適化された前処理

OpenVINO™ は、モデルの実行中に前処理を実行できます。この動作を有効にするには、コマンドライン・パラメーター --ie_preprocessing True を使用します。このオプションをオンにすると、構成で指定された前処理が推論エンジンの PreProcessInfo API に変換されます。注: このオプションは dlsdk ランチャーでのみ使用可能であり、すべての前処理操作を推論エンジンに移行できるわけではありません。
サポートされる前処理:

  • サイズ変更: BILINEAR または AREA 補間を使用して、aspect_ratio_scale を使用せずにサイズを変更します。デスティネーションのサイズはモデル入力形状です。(auto_resize は、双線形補間によるサイズ変更にも使用できます)

  • カラー変換: bgr_to_rgbrgb_to_bgrnv12_to_bgrnv12_to_rgb

  • 正規化: チャネルごとの平均による正規化std