【HALCON】add_samples_image_class_gmm 関数について - 画像からトレーニングデータを追加
2024-08-23
2024-08-23
HALCON
のadd_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)
この例では、Image1
とImage2
の2つの異なる画像からクラス領域を抽出し、それぞれの領域からトレーニングサンプルをGMMHandle
に追加しています。各サンプルには異なるノイズの強度が設定されています。
注意点
ClassRegions
は、各クラスに対応する領域を適切に定義する必要があります。領域が重複すると、サンプルが複数のクラスに割り当てられ、分類の精度が低下する可能性があります。- 異なる画像からのサンプルを追加する場合、すべての画像が同じチャネル数を持っていることを確認する必要があります。
まとめ
HALCON
のadd_samples_image_class_gmm
関数は、画像からトレーニングサンプルを抽出してGaussian Mixture Model (GMM)
に追加するための便利なツールです。この関数を使用することで、画像分類タスクにおいて高精度なモデルをトレーニングでき、データの多様性と分類精度を向上させることができます。