halcon分类器算子:create_class_lut_gmm

create_class_lut_gmm

名称

create_class_lut_gmm —使用高斯混合模型创建查找表以对字节图像进行分类。

签名

create_class_lut_gmm(::GMMHandleGenParamNamesGenParamValuesClassLUTHandle

描述

create_class_lut_gmm使用经过训练的高斯混合模型(GMM) GMMHandle的数据生成查找表(LUT) ClassLUTHandle以对多通道字节图像进行分类。通过使用分类器操作这种基于GMM-LUT classify_image_class_gmm 后续分类的可由操作者更换 classify_image_class_lut由于GMM的每种可能的响应都存储在LUT中,因此不再需要在每个图像点中对类进行估计,因此分类得到了极大的提高。对于LUT的生成,参数NumDim, PreprocessingNumComponents在前面称为运算符create_class_gmm定义的定义很重要。NumDim中,定义必须对图像进行分类的图像通道数。通过使用预处理 (请参阅create_class_gmm),可以将图像通道的数量转换为NumComponentsNumComponents定义特征向量的长度,分类器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所需的运行时间。

可以使用GenParamNamesGenParamValues设置基于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' = 8NumClasses < 16 (在create_class_gmm中指定),LUT需要8 MB的存储空间并进行内部存储优化。如果NumClasses = 1,则通过使用LUT的完整位深度,LUT仅需要2 MB的存储空间。 如果LUT适合缓存,则classify_image_class_lut分类的运行时变得最少。默认值8,典型的值是[ 678 ]。限制:'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




并行化

  • 多线程类型:可重入(与非排他运算符并行运行)。

  • 多线程作用域:全局(可以从任何线程调用)。

  • 在内部数据级别自动并行化。

该运算符返回一个句柄。请注意,此句柄类型的实例的状态可以由特定的运算符更改,即使这些运算符将句柄用作输入参数也是如此。

参量

GMMHandle(input_control)  class_gmm → (整数)

GMM手柄。

GenParamNames(input_control)  attribute.name-array → (字符串)

可以为LUT分类器创建而调整的通用参数的名称。

默认值: []

建议值:“ bit_depth”“ class_selection”“ rejection_threshold”

GenParamValues(input_control)  attribute.value-array → (字符串/整数/实数)

可以为LUT分类器创建而调整的通用参数的值。

默认值: []

建议值:8、7、6“快速”“最佳”

ClassLUTHandle(output_control)  class_lut → (整数)

LUT分类器的句柄。

结果

如果参数有效,则运算符create_class_lut_gmm 返回值2(H_MSG_TRUE)。如有必要,将引发异常。

可能的前辈

train_class_gmm, read_class_gmm

可能的继任者

classify_image_class_lut

备择方案

create_class_lut_knn, create_class_lut_mlp, create_class_lut_svm

也可以看看

classify_image_class_lut, clear_class_lut


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864