create_class_lut_gmm
名称
create_class_lut_gmm —使用高斯混合模型创建查找表以对字节图像进行分类。
签名
create_class_lut_gmm(::GMMHandle,GenParamNames,GenParamValues:ClassLUTHandle)
描述
create_class_lut_gmm使用经过训练的高斯混合模型(GMM) GMMHandle的数据生成查找表(LUT) ClassLUTHandle,以对多通道字节图像进行分类。通过使用分类器操作这种基于GMM-LUT classify_image_class_gmm 后续分类的可由操作者更换 classify_image_class_lut。由于GMM的每种可能的响应都存储在LUT中,因此不再需要在每个图像点中对类进行估计,因此分类得到了极大的提高。对于LUT的生成,参数NumDim, Preprocessing和NumComponents在前面称为运算符create_class_gmm中定义的定义很重要。在NumDim中,定义必须对图像进行分类的图像通道数。通过使用预处理 (请参阅create_class_gmm),可以将图像通道的数量转换为NumComponents。NumComponents定义特征向量的长度,分类器classify_class_gmm在内部处理该特征向量 。由于性能和磁盘空间的原因,LUT被限制为最大3维。由于它代替了运算符classify_class_gmm,因此 NumComponents <= 3必须持有。如果没有减少图像通道数量的预处理(NumDim = NumComponents),则可以使用classify_class_gmm对在字节图像中可能出现的所有可能的像素值 进行分类。返回的类存储在LUT中。如果存在减少图像通道数量的预处理(NumDim > NumComponents),则GMM的预处理参数存储在LUT的单独结构中。为了创建LUT,所有转换后的像素值都使用classify_class_gmm进行分类。返回的类存储在LUT中。由于LUT的离散化,LUT分类器的精度可能会低于LUT分类器的精度。classify_image_class_gmm。使用“ bit_depth”和“ class_selection”,可以控制分类的准确性,所需的存储空间以及创建LUT所需的运行时间。
可以使用GenParamNames和GenParamValues设置基于GMM的LUT分类器的以下参数 :
'bit_depth':
像素使用的位数。它控制LUT分类器的存储需求,并受图像的位深限制('bit_depth' <= 8)。如果LUT的位深度较小('bit_depth' < 8),则多个像素组合的类别将映射到同一LUT条目,这可能导致分类的准确性降低。这些群集之一包含 像素组合,其中NumComponents表示LUT的尺寸,该尺寸在create_class_gmm中指定。例如,对于'bit_depth' = 7, NumComponents = 3,则8个像素组合的类别 映射在同一LUT条目中。LUT最多需要 存储字节。例如,对于NumComponents = 3, 'bit_depth' = 8和NumClasses < 16 (在create_class_gmm中指定),LUT需要8 MB的存储空间并进行内部存储优化。如果NumClasses = 1,则通过使用LUT的完整位深度,LUT仅需要2 MB的存储空间。 如果LUT适合缓存,则classify_image_class_lut中分类的运行时将变得最少。该默认值是8,典型的值是[ 6,7,8 ]。限制:'bit_depth' > = 1, 'bit_depth' <= 8。
'class_selection':
LUT的类别选择方法。可以修改以控制创建LUT分类器所需的准确性和运行时间。如果LUT的位深度最大,则将忽略“ class_selection”中的值,因此“ bit_depth” = 8成立。如果LUT的位深度较小('bit_depth' < 8),则多个像素组合的类别将映射到同一LUT条目。这些群集之一包含 像素组合,其中NumComponents表示LUT的尺寸,该尺寸在create_class_gmm中指定。通过选择 'class_selection' = 'best',群集中最常出现的类存储在LUT中。对于“ class_selection”=“ fast”,仅对簇的一个像素,即,具有最小值的像素(逐分量)进行分类。返回的类存储在LUT中。在这种情况下,后续分类的准确性可能会降低。另一方面,可以减少创建LUT所需的运行时间,它与LUT所需的最大存储空间成正比,该最大存储空间由定义 。该缺省值是“快”,可能的值为[ “快”,“最好”。
'rejection_threshold':
拒绝GMM不确定分类点的阈值。该参数表示分类返回的K-sigma概率度量的阈值(请参阅classify_class_gmm和 valuate_class_gmm)。概率低于“ rejection_threshold”的所有像素 均未分配给任何类别。该默认值是0.0001。限制:'rejection_threshold' > = 0, 'rejection_threshold' <= 1。
并行化
多线程类型:可重入(与非排他运算符并行运行)。
多线程作用域:全局(可以从任何线程调用)。
在内部数据级别自动并行化。
该运算符返回一个句柄。请注意,此句柄类型的实例的状态可以由特定的运算符更改,即使这些运算符将句柄用作输入参数也是如此。
参量
GMM手柄。
可以为LUT分类器创建而调整的通用参数的名称。
默认值: []
建议值:“ bit_depth”,“ class_selection”,“ rejection_threshold”
可以为LUT分类器创建而调整的通用参数的值。
默认值: []
建议值:8、7、6,“快速”,“最佳”
LUT分类器的句柄。
结果
如果参数有效,则运算符create_class_lut_gmm 返回值2(H_MSG_TRUE)。如有必要,将引发异常。
可能的前辈
train_class_gmm, read_class_gmm
可能的继任者
备择方案
create_class_lut_knn, create_class_lut_mlp, create_class_lut_svm
也可以看看
classify_image_class_lut, clear_class_lut

