プリプロセッサー#
プリプロセッサーは、モデル推論の前に入力データを処理するクラスです。すべてのプリプロセッサーには、構成に使用できるパラメーターがあります。プリプロセッサーとパラメーターは、構成ファイルを通じて設定されます。プリプロセッサーは、特定の前処理を使用するため、構成ファイルの datasets セクションで提供されます。
サポートされるプリプロセッサー#
精度チェッカーは、次の一連のプリプロセッサーをサポートしています:
resize- 画像のサイズを新しい幅と高さに変更します。dst_widthおよびdst_heightは、それぞれサイズ変更する画像のデスティネーションの幅と高さです。ティネーションのサイズが両方の次元で等しい場合は、代わりにsizeを使用することもできます。resize_realization- パラメーターは、サイズ変更に使用するライブラリーの機能を指定します:opencv、pillowまたは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]で画像をウィンドウにフィットさせるためアスペクト比を維持した適応型サイズの変更を行います:元の画像の最小サイズをデスティネーションの最小サイズに変更してみてください。
スケーリングされた最大サイズがデスティネーションの最大サイズより大きい場合、最小サイズを再スケーリングして、デスティネーションの最大サイズと等しい最大サイズを取得します。
east_keep_aspect_ratio- このアルゴリズムを使用してアスペクト比を維持した適応型サイズ変更を行います:最大イメージサイズが最大デスティネーション・サイズより大きい場合、最大画像サイズを最大デスティネーション・サイズと等しくします。
画像の高さと幅を、剰余のない最小デスティネーション・サイズで割り切れるようにします。
min_ratio- 最小比率source_size / destination_sizeに従って幅と高さを変更します。mask_rcnn_benchmark_aspect_ratio- ONNX zoo の maskrcnn-benchmark モデルの前処理に従って画像サイズを再スケールしますppcrnn_ratio- 次の方法でスケールを計算します:元の画像の比率を検出 (input_width / input_height)
dst_height* 比率がdst_widthより大きい場合、dst_width= 32 * 比率それ以外の場合は、
dst_width=dst_height* 比率
ppocr_max_ratio- 次の方法でスケールを計算します:画像サイズの
max_limitとして使用される、指定されたデスティネーション・サイズ間の最大値。サイズ変更前の最大画像サイズが最大制限より大きい場合、比率は
max_limit/max_sizeとして計算され、それ以外の場合、比率は 1 に等しくなります。
ppocr_cls_ratio- 次の方法でスケールを計算します:比率は
image_width/image_heightとして計算され、高さのデスティネーション・サイズは定数として使用されますdst_heightに比率を掛けた値がdst_widthより大きい場合、dst_widthが幅のサイズ変更に使用されます。それ以外の場合、サイズ変更された幅はdst_height*ratioになります。
factor- アスペクト比のサイズ変更のデスティネーション・サイズは、剰余なしで指定された数値で割り切れる必要があります。このパラメーターは、aspect_ratio_scaleパラメーターでのみ機能することに注意してください。auto_resize- 入力レイヤー形状に合わせて画像のサイズを自動変更します。(入力レイヤーが 1 つの場合のみサポートされており、画像のサイズ変更には OpenCV を使用してください)normalization- ピクセル強度値の範囲を変更します。meanは、画像チャネルから減算される値です。すべてのチャネルに対して 1 つの値を指定することも、カンマで区切ったチャネルごとの値のリストを指定することもできます。stdはピクセルを分割する値を指定します。すべてのチャネルに対して 1 つの値を指定することも、カンマで区切ったチャネルごとの値のリストを指定することもできます。これらのパラメーターは、頻繁に使用されるデータセット (cifar10やimagenetなど) の事前計算された値の操作をサポートします。images_only- マルチ入力モードでの非画像入力の正規化を防止します (オプション、デフォルトはFalse)。
resize3d- 3D 画像 (MRI スキャンなど) を新しいサイズに変更します:形式
(H,W,D)のsize。すべての値は 1 次スプラインで補間されます。
crop_brats- すべての非ゼロボクセルをトリミングすることで、3D 画像 (MRI スキャンなど) をトリミングします。また、segmentation_prediction_resampleプリプロセッサーの境界ボックスも設定します (ポスト・プロセッサーを参照)。normalize_brats- Z スコア正規化による 3D 画像 (MRI スキャンなど) の正規化masked- マスクタイプを指定します:noneマスクをしないignore統計計算で “空の” ボクセルを無視するnullify“空の” のボクセルを最後に無効化するallは無視され無効化されます
cutoff- 最小値と値をそれぞれ-cutoffとcutoffにカットします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_widthとdst_heightはそれぞれ、キーポイントのサイズ変更のデスティネーションの幅と高さです。ティネーションのサイズが等しい場合は、代わりにsizeを使用することもできます。
corner_crop- 画像のコーナークロップ。dst_widthとdst_heightはデスティネーションの幅と高さです。corner_typeはクロップのタイプです。設定可能なオプションは次のとおりです。top-lefttop-rightbottom-leftbottom-rightデフォルトはtop-leftです
crop_or_pad- 元の画像のサイズがデスティネーションのサイズより大きい場合は、中央のトリミングを行い、ソースのサイズがデスティネーションより小さい場合はパディングを行います。パディング値は 0、現実化は右下です。dst_widthとdst_heightはそれぞれ、キーポイントのサイズ変更のデスティネーションの幅と高さです。ティネーションのサイズが等しい場合は、代わりにsizeを使用することもできます。
crop_image_with_padding- パディングにより画像の中央にトリミングしてから、画像サイズを拡大縮小します。size- デスティネーション画像の高さ/幅の次元、crop_padding- 中央にクロップするときに使用するパディングサイズ。
padding- 画像のパディング。stride- パディングのストライド。pad_value- 元の画像の周囲のスペースを埋める値 (画像の背景ピクセルの色を推定するため、カンマで区切ったチャネルごとの浮動小数点値またはbackgroundとして指定する必要があります)。dst_widthとdst_heightはそれぞれ、パディングされたイメージのデスティネーションの幅と高さです。ティネーションのサイズが両方の次元で等しい場合は、代わりにsizeを使用することもできます。pad_type- パディングスペースの位置。サポートされる位置:center、left_top、right_bottom(デフォルトはcenter)。use_numpy- デフォルトの OpenCV の代わって numpy をパディングに使用できるようにします。numpy_pad_mode- パディングに numpy を使用する場合、定数、エッジ、平均などを含む numpy パディングモード (デフォルトは定数)。enable_resize- ソース画像がデスティネーション・サイズよりも大きい場合、画像サイズをデスティネーション・サイズに変更できるようにします (オプション、デフォルトはFalse)。
tiling- 画像のタイリング。margin- タイル化された画像の断片のマージン。dst_widthとdst_heightはそれぞれ、タイル化されたフラグメントのデスティネーションの幅と高さです。ティネーションのサイズが両方の次元で等しい場合は、代わりにsizeを使用することもできます。
crop3d- 3D データの中央トリミング。dst_width、dst_heightとdst_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_widthとdst_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_widthとdst_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- 各クリップの継続時間を秒または samples で設定します (samplesサフィックスを使用)。例:1.5、16000samplesoverlap- クリップのオーバーラップをパーセントまたは samples で設定します (それぞれ%またはサンプルのサフィックスを使用します) (デフォルトではオーバーラップなし)。例:25%、4000samplesmax_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_widthとdst_heightは、それぞれ変換後のイメージの出力先の幅と高さです。ティネーションのサイズが両方の次元で等しい場合は、代わりにsizeを使用することもできます。
face_detection_image_pyramid- 顔検出用の画像ピラミッドmin_face_ratio- 画像サイズに対する顔の最小比率。resize_scale- ピラミッドレイヤーのスケール係数。
candidate_crop- 前段階のモデルで検出された候補を入力画像から垂直方向と水平方向のスケーリングでトリミングします。scale_width- 元の候補の幅を基準にして幅をスケールする値。scale_height- 元の候補の高さを基準にして高さをスケールする値。
object_crop_with_scale- アノテーションのcenter座標とscaleを使用して画像から領域をトリミングします。dst_widthとdst_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_thresholdとkeep_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_rgb、rgb_to_bgr、nv12_to_bgr、nv12_to_rgb正規化: チャネルごとの平均と標準偏差による正規化