【HALCON】add_samples_image_class_gmm 関数について - 画像からトレーニングデータを追加

【HALCON】add_samples_image_class_gmm 関数について - 画像からトレーニングデータを追加

2024-08-23

2024-08-23

HALCONadd_samples_image_class_gmm関数は、指定された画像からクラスに対応する領域を抽出し、その領域からサンプルを生成してGaussian Mixture Model (GMM)に追加するために使用されます。このプロセスを通じて、複数チャネルの画像に対して効果的な分類器をトレーニングすることが可能です。

使用例

以下に、add_samples_image_class_gmm関数を使ってトレーニングデータを追加する具体例を示します。

* 画像からクラス領域を抽出し、GMMにサンプルを追加
add_samples_image_class_gmm(Image, ClassRegions, GMMHandle, 1.5)

この例では、Imageからクラス領域であるClassRegionsを抽出し、その領域からサンプルをGMMHandleに追加しています。また、1.5という値でランダムなガウスノイズの強度が設定されています。このノイズはデータの多様性を増やし、分類の頑健性を向上させます。

引数

  • Image
    トレーニングサンプルとして使用する画像です。複数チャネルの画像に対応しています。

  • ClassRegions
    各クラスに対応する領域の配列です。これらの領域からサンプルが抽出され、GMMのトレーニングに使用されます。領域が重複しないように指定する必要があります。

  • GMMHandle
    サンプルを追加するGaussian Mixture Modelのハンドルです。

  • Randomize
    ランダムなガウスノイズの強度を指定します。この値が大きいほど、サンプルに加えられるノイズが強くなります。

戻り値

add_samples_image_class_gmm関数は、追加されたサンプルが正常に処理されたことを示す値を返します。

応用例

複数の画像からサンプルを抽出してトレーニングを強化

この関数を使うことで、複数の画像からトレーニングサンプルを抽出し、モデルを強化できます。以下は、複数の画像からサンプルを追加する例です。

* 複数の画像からトレーニングサンプルを追加
add_samples_image_class_gmm(Image1, ClassRegions1, GMMHandle, 1.0)
add_samples_image_class_gmm(Image2, ClassRegions2, GMMHandle, 2.0)

この例では、Image1Image2の2つの異なる画像からクラス領域を抽出し、それぞれの領域からトレーニングサンプルをGMMHandleに追加しています。各サンプルには異なるノイズの強度が設定されています。

注意点

  • ClassRegionsは、各クラスに対応する領域を適切に定義する必要があります。領域が重複すると、サンプルが複数のクラスに割り当てられ、分類の精度が低下する可能性があります。
  • 異なる画像からのサンプルを追加する場合、すべての画像が同じチャネル数を持っていることを確認する必要があります。

まとめ

HALCONadd_samples_image_class_gmm関数は、画像からトレーニングサンプルを抽出してGaussian Mixture Model (GMM)に追加するための便利なツールです。この関数を使用することで、画像分類タスクにおいて高精度なモデルをトレーニングでき、データの多様性と分類精度を向上させることができます。

Recommend