类 EM
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.ml.StatModel
-
- org.opencv.ml.EM
-
public class EM extends StatModel
该类实现了期望最大化算法。参见:引用:ml_intro_em
-
-
字段摘要
字段 修饰符和类型 字段 描述 static intCOV_MAT_DEFAULTstatic intCOV_MAT_DIAGONALstatic intCOV_MAT_GENERICstatic intCOV_MAT_SPHERICALstatic intDEFAULT_MAX_ITERSstatic intDEFAULT_NCLUSTERSstatic intSTART_AUTO_STEPstatic intSTART_E_STEPstatic intSTART_M_STEP-
从类 org.opencv.ml.StatModel 继承的字段
COMPRESSED_INPUT, PREPROCESSED_INPUT, RAW_OUTPUT, UPDATE_MODEL
-
-
构造函数摘要
构造函数 修饰符 构造函数 描述 保护EM(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static EM__fromPtr__(long addr)static EMcreate()创建空的 %EM 模型。intgetClustersNumber()参见:setClustersNumberintgetCovarianceMatrixType()参见:setCovarianceMatrixTypevoidgetCovs(java.util.List<Mat> covs)返回协方差矩阵 返回协方差矩阵的向量。MatgetMeans()返回聚类中心(高斯混合的均值) 返回行数等于混合数、列数等于空间维度数的矩阵。TermCriteriagetTermCriteria()参见:setTermCriteriaMatgetWeights()返回混合权重 返回元素数量等于混合数量的向量。static EMload(java.lang.String filepath)从文件加载并创建序列化的 EM 模型。使用 EM::save 将 EM 模型序列化并存储到磁盘。static EMload(java.lang.String filepath, java.lang.String nodeName)从文件加载并创建序列化的 EM 模型。使用 EM::save 将 EM 模型序列化并存储到磁盘。floatpredict(Mat samples)返回给定样本的后验概率floatpredict(Mat samples, Mat results)返回给定样本的后验概率floatpredict(Mat samples, Mat results, int flags)返回给定样本的后验概率double[]predict2(Mat sample, Mat probs)返回给定样本的似然对数和最可能混合分量的索引。voidsetClustersNumber(int val)getClustersNumber 参见:getClustersNumbervoidsetCovarianceMatrixType(int val)getCovarianceMatrixType 参见:getCovarianceMatrixTypevoidsetTermCriteria(TermCriteria val)getTermCriteria 参见:getTermCriteriabooleantrainE(Mat samples, Mat means0)从样本集估计高斯混合参数。booleantrainE(Mat samples, Mat means0, Mat covs0)从样本集估计高斯混合参数。booleantrainE(Mat samples, Mat means0, Mat covs0, Mat weights0)从样本集估计高斯混合参数。booleantrainE(Mat samples, Mat means0, Mat covs0, Mat weights0, Mat logLikelihoods)从样本集估计高斯混合参数。booleantrainE(Mat samples, Mat means0, Mat covs0, Mat weights0, Mat logLikelihoods, Mat labels)从样本集估计高斯混合参数。booleantrainE(Mat samples, Mat means0, Mat covs0, Mat weights0, Mat logLikelihoods, Mat labels, Mat probs)从样本集估计高斯混合参数。booleantrainEM(Mat samples)从样本集估计高斯混合参数。booleantrainEM(Mat samples, Mat logLikelihoods)从样本集估计高斯混合参数。booleantrainEM(Mat samples, Mat logLikelihoods, Mat labels)从样本集估计高斯混合参数。booleantrainEM(Mat samples, Mat logLikelihoods, Mat labels, Mat probs)从样本集估计高斯混合参数。booleantrainM(Mat samples, Mat probs0)从样本集估计高斯混合参数。booleantrainM(Mat samples, Mat probs0, Mat logLikelihoods)从样本集估计高斯混合参数。booleantrainM(Mat samples, Mat probs0, Mat logLikelihoods, Mat labels)从样本集估计高斯混合参数。booleantrainM(Mat samples, Mat probs0, Mat logLikelihoods, Mat labels, Mat probs)从样本集估计高斯混合参数。-
从类 org.opencv.ml.StatModel 继承的方法
calcError, empty, getVarCount, isClassifier, isTrained, train, train, train
-
从类继承的方法 org.opencv.core.Algorithm
clear, getDefaultName, getNativeObjAddr, save
-
-
-
-
字段详情
-
DEFAULT_NCLUSTERS
public static final int DEFAULT_NCLUSTERS
- 另请参阅
- 常量字段值
-
DEFAULT_MAX_ITERS
public static final int DEFAULT_MAX_ITERS
- 另请参阅
- 常量字段值
-
START_E_STEP
public static final int START_E_STEP
- 另请参阅
- 常量字段值
-
START_M_STEP
public static final int START_M_STEP
- 另请参阅
- 常量字段值
-
START_AUTO_STEP
public static final int START_AUTO_STEP
- 另请参阅
- 常量字段值
-
COV_MAT_SPHERICAL
public static final int COV_MAT_SPHERICAL
- 另请参阅
- 常量字段值
-
COV_MAT_DIAGONAL
public static final int COV_MAT_DIAGONAL
- 另请参阅
- 常量字段值
-
COV_MAT_GENERIC
public static final int COV_MAT_GENERIC
- 另请参阅
- 常量字段值
-
COV_MAT_DEFAULT
public static final int COV_MAT_DEFAULT
- 另请参阅
- 常量字段值
-
-
方法详情
-
__fromPtr__
public static EM __fromPtr__(long addr)
-
getClustersNumber
public int getClustersNumber()
参见:setClustersNumber- 返回
- 自动生成
-
setClustersNumber
public void setClustersNumber(int val)
getClustersNumber 参见:getClustersNumber- 参数
val- 自动生成
-
getCovarianceMatrixType
public int getCovarianceMatrixType()
参见:setCovarianceMatrixType- 返回
- 自动生成
-
setCovarianceMatrixType
public void setCovarianceMatrixType(int val)
getCovarianceMatrixType 参见:getCovarianceMatrixType- 参数
val- 自动生成
-
getTermCriteria
public TermCriteria getTermCriteria()
参见:setTermCriteria- 返回
- 自动生成
-
setTermCriteria
public void setTermCriteria(TermCriteria val)
getTermCriteria 参见:getTermCriteria- 参数
val- 自动生成
-
getWeights
public Mat getWeights()
返回混合权重 返回元素数量等于混合数量的向量。- 返回
- 自动生成
-
getMeans
public Mat getMeans()
返回聚类中心(高斯混合的均值) 返回行数等于混合数、列数等于空间维度数的矩阵。- 返回
- 自动生成
-
getCovs
public void getCovs(java.util.List<Mat> covs)
返回协方差矩阵 返回协方差矩阵的向量。矩阵的数量是高斯混合的数量,每个矩阵都是一个NxN的浮点方阵,其中N是空间维度。- 参数
covs- 自动生成
-
predict
public float predict(Mat samples)
返回给定样本的后验概率
-
predict2
public double[] predict2(Mat sample, Mat probs)
返回给定样本的似然对数和最可能混合分量的索引。- 参数
sample- 用于分类的样本。它应该是一个单通道矩阵,大小为 \(1 \times dims\) 或 \(dims \times 1\)。probs- 可选的输出矩阵,包含给定样本的每个分量的后验概率。它的大小为 \(1 \times nclusters\),类型为 CV_64FC1。该方法返回一个包含两个元素的双精度向量。第一个元素是样本的似然对数值。第二个元素是给定样本最可能混合分量的索引。- 返回
- 自动生成
-
trainEM
public boolean trainEM(Mat samples, Mat logLikelihoods, Mat labels, Mat probs)
从样本集估计高斯混合参数。此变体以期望步骤开始。模型参数的初始值将通过 k-means 算法估计。与许多 ML 模型不同,%EM 是一种无监督学习算法,它不将响应(类别标签或函数值)作为输入。相反,它从输入样本集计算高斯混合参数的*最大似然估计*,将所有参数存储在结构中:probs 中的 \(p_{i,k}\),means 中的 \(a_k\),covs[k] 中的 \(S_k\),weights 中的 \(\pi_k\),并可选择为每个样本计算输出“类别标签”:\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。训练好的模型可以像任何其他分类器一样用于预测。训练好的模型类似于 NormalBayesClassifier。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。logLikelihoods- 可选的输出矩阵,包含每个样本的似然对数值。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。labels- 可选的每个样本的输出“类别标签”:\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。probs- 可选的输出矩阵,包含给定每个样本的每个高斯混合分量的后验概率。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
trainEM
public boolean trainEM(Mat samples, Mat logLikelihoods, Mat labels)
从样本集估计高斯混合参数。此变体以期望步骤开始。模型参数的初始值将通过 k-means 算法估计。与许多 ML 模型不同,%EM 是一种无监督学习算法,它不将响应(类别标签或函数值)作为输入。相反,它从输入样本集计算高斯混合参数的*最大似然估计*,将所有参数存储在结构中:probs 中的 \(p_{i,k}\),means 中的 \(a_k\),covs[k] 中的 \(S_k\),weights 中的 \(\pi_k\),并可选择为每个样本计算输出“类别标签”:\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。训练好的模型可以像任何其他分类器一样用于预测。训练好的模型类似于 NormalBayesClassifier。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。logLikelihoods- 可选的输出矩阵,包含每个样本的似然对数值。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。labels- 可选的每个样本的输出“类别标签”:\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。给定每个样本的混合分量。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
trainEM
public boolean trainEM(Mat samples, Mat logLikelihoods)
从样本集估计高斯混合参数。此变体以期望步骤开始。模型参数的初始值将通过 k-means 算法估计。与许多 ML 模型不同,%EM 是一种无监督学习算法,它不将响应(类别标签或函数值)作为输入。相反,它从输入样本集计算高斯混合参数的*最大似然估计*,将所有参数存储在结构中:probs 中的 \(p_{i,k}\),means 中的 \(a_k\),covs[k] 中的 \(S_k\),weights 中的 \(\pi_k\),并可选择为每个样本计算输出“类别标签”:\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。训练好的模型可以像任何其他分类器一样用于预测。训练好的模型类似于 NormalBayesClassifier。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。logLikelihoods- 可选的输出矩阵,包含每个样本的似然对数值。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。给定每个样本的混合分量。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
trainEM
public boolean trainEM(Mat samples)
从样本集估计高斯混合参数。此变体以期望步骤开始。模型参数的初始值将通过 k-means 算法估计。与许多 ML 模型不同,%EM 是一种无监督学习算法,它不将响应(类别标签或函数值)作为输入。相反,它从输入样本集计算高斯混合参数的*最大似然估计*,将所有参数存储在结构中:probs 中的 \(p_{i,k}\),means 中的 \(a_k\),covs[k] 中的 \(S_k\),weights 中的 \(\pi_k\),并可选择为每个样本计算输出“类别标签”:\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。训练好的模型可以像任何其他分类器一样用于预测。训练好的模型类似于 NormalBayesClassifier。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。每个样本。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。给定每个样本的混合分量。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
trainE
public boolean trainE(Mat samples, Mat means0, Mat covs0, Mat weights0, Mat logLikelihoods, Mat labels, Mat probs)
从样本集估计高斯混合参数。此变体以期望步骤开始。您需要提供混合分量的初始均值 \(a_k\)。您可以选择传递混合分量的初始权重 \(\pi_k\) 和协方差矩阵 \(S_k\)。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。means0- 混合分量的初始均值 \(a_k\)。它是一个单通道矩阵,大小为 \(nclusters \times dims\)。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。covs0- 混合分量的初始协方差矩阵 \(S_k\) 的向量。每个协方差矩阵都是一个单通道矩阵,大小为 \(dims \times dims\)。如果矩阵不是 CV_64F 类型,它们将被转换为该类型的内部矩阵以进行后续计算。weights0- 混合分量的初始权重 \(\pi_k\)。它应该是一个单通道浮点矩阵,大小为 \(1 \times nclusters\) 或 \(nclusters \times 1\)。logLikelihoods- 可选的输出矩阵,包含每个样本的似然对数值。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。labels- 可选的每个样本的输出“类别标签”:\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。probs- 可选的输出矩阵,包含给定每个样本的每个高斯混合分量的后验概率。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
trainE
public boolean trainE(Mat samples, Mat means0, Mat covs0, Mat weights0, Mat logLikelihoods, Mat labels)
从样本集估计高斯混合参数。此变体以期望步骤开始。您需要提供混合分量的初始均值 \(a_k\)。您可以选择传递混合分量的初始权重 \(\pi_k\) 和协方差矩阵 \(S_k\)。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。means0- 混合分量的初始均值 \(a_k\)。它是一个单通道矩阵,大小为 \(nclusters \times dims\)。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。covs0- 混合分量的初始协方差矩阵 \(S_k\) 的向量。每个协方差矩阵都是一个单通道矩阵,大小为 \(dims \times dims\)。如果矩阵不是 CV_64F 类型,它们将被转换为该类型的内部矩阵以进行后续计算。weights0- 混合分量的初始权重 \(\pi_k\)。它应该是一个单通道浮点矩阵,大小为 \(1 \times nclusters\) 或 \(nclusters \times 1\)。logLikelihoods- 可选的输出矩阵,包含每个样本的似然对数值。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。labels- 可选的每个样本的输出“类别标签”:\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。给定每个样本的混合分量。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
trainE
public boolean trainE(Mat samples, Mat means0, Mat covs0, Mat weights0, Mat logLikelihoods)
从样本集估计高斯混合参数。此变体以期望步骤开始。您需要提供混合分量的初始均值 \(a_k\)。您可以选择传递混合分量的初始权重 \(\pi_k\) 和协方差矩阵 \(S_k\)。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。means0- 混合分量的初始均值 \(a_k\)。它是一个单通道矩阵,大小为 \(nclusters \times dims\)。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。covs0- 混合分量的初始协方差矩阵 \(S_k\) 的向量。每个协方差矩阵都是一个单通道矩阵,大小为 \(dims \times dims\)。如果矩阵不是 CV_64F 类型,它们将被转换为该类型的内部矩阵以进行后续计算。weights0- 混合分量的初始权重 \(\pi_k\)。它应该是一个单通道浮点矩阵,大小为 \(1 \times nclusters\) 或 \(nclusters \times 1\)。logLikelihoods- 可选的输出矩阵,包含每个样本的似然对数值。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。给定每个样本的混合分量。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
trainE
public boolean trainE(Mat samples, Mat means0, Mat covs0, Mat weights0)
从样本集估计高斯混合参数。此变体以期望步骤开始。您需要提供混合分量的初始均值 \(a_k\)。您可以选择传递混合分量的初始权重 \(\pi_k\) 和协方差矩阵 \(S_k\)。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。means0- 混合分量的初始均值 \(a_k\)。它是一个单通道矩阵,大小为 \(nclusters \times dims\)。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。covs0- 混合分量的初始协方差矩阵 \(S_k\) 的向量。每个协方差矩阵都是一个单通道矩阵,大小为 \(dims \times dims\)。如果矩阵不是 CV_64F 类型,它们将被转换为该类型的内部矩阵以进行后续计算。weights0- 混合分量的初始权重 \(\pi_k\)。它应该是一个单通道浮点矩阵,大小为 \(1 \times nclusters\) 或 \(nclusters \times 1\)。每个样本。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。给定每个样本的混合分量。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
trainE
public boolean trainE(Mat samples, Mat means0, Mat covs0)
从样本集估计高斯混合参数。此变体以期望步骤开始。您需要提供混合分量的初始均值 \(a_k\)。您可以选择传递混合分量的初始权重 \(\pi_k\) 和协方差矩阵 \(S_k\)。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。means0- 混合分量的初始均值 \(a_k\)。它是一个单通道矩阵,大小为 \(nclusters \times dims\)。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。covs0- 混合分量的初始协方差矩阵 \(S_k\) 的向量。每个协方差矩阵都是一个单通道矩阵,大小为 \(dims \times dims\)。如果矩阵不是 CV_64F 类型,它们将被转换为该类型的内部矩阵以进行后续计算。浮点矩阵,大小为 \(1 \times nclusters\) 或 \(nclusters \times 1\)。每个样本。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。给定每个样本的混合分量。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
trainE
public boolean trainE(Mat samples, Mat means0)
从样本集估计高斯混合参数。此变体以期望步骤开始。您需要提供混合分量的初始均值 \(a_k\)。您可以选择传递混合分量的初始权重 \(\pi_k\) 和协方差矩阵 \(S_k\)。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。means0- 混合分量的初始均值 \(a_k\)。它是一个单通道矩阵,大小为 \(nclusters \times dims\)。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。协方差矩阵是一个单通道矩阵,大小为 \(dims \times dims\)。如果矩阵不是 CV_64F 类型,它们将被转换为该类型的内部矩阵以进行后续计算。浮点矩阵,大小为 \(1 \times nclusters\) 或 \(nclusters \times 1\)。每个样本。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。给定每个样本的混合分量。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
trainM
public boolean trainM(Mat samples, Mat probs0, Mat logLikelihoods, Mat labels, Mat probs)
从样本集估计高斯混合参数。此变体以最大化步骤开始。您需要提供初始概率 \(p_{i,k}\) 才能使用此选项。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。probs0- 概率logLikelihoods- 可选的输出矩阵,包含每个样本的似然对数值。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。labels- 可选的每个样本的输出“类别标签”:\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。probs- 可选的输出矩阵,包含给定每个样本的每个高斯混合分量的后验概率。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
trainM
public boolean trainM(Mat samples, Mat probs0, Mat logLikelihoods, Mat labels)
从样本集估计高斯混合参数。此变体以最大化步骤开始。您需要提供初始概率 \(p_{i,k}\) 才能使用此选项。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。probs0- 概率logLikelihoods- 可选的输出矩阵,包含每个样本的似然对数值。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。labels- 可选的每个样本的输出“类别标签”:\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。给定每个样本的混合分量。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
trainM
public boolean trainM(Mat samples, Mat probs0, Mat logLikelihoods)
从样本集估计高斯混合参数。此变体以最大化步骤开始。您需要提供初始概率 \(p_{i,k}\) 才能使用此选项。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。probs0- 概率logLikelihoods- 可选的输出矩阵,包含每个样本的似然对数值。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。给定每个样本的混合分量。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
trainM
public boolean trainM(Mat samples, Mat probs0)
从样本集估计高斯混合参数。此变体以最大化步骤开始。您需要提供初始概率 \(p_{i,k}\) 才能使用此选项。- 参数
samples- 用于估计高斯混合模型的样本。它应该是一个单通道矩阵,每行是一个样本。如果矩阵不是 CV_64F 类型,它将被转换为该类型的内部矩阵以进行后续计算。probs0- 概率。每个样本。它的大小为 \(nsamples \times 1\),类型为 CV_64FC1。\(\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\)(每个样本最可能混合分量的索引)。它的大小为 \(nsamples \times 1\),类型为 CV_32SC1。给定每个样本的混合分量。它的大小为 \(nsamples \times nclusters\),类型为 CV_64FC1。- 返回
- 自动生成
-
create
public static EM create()
创建空的 %EM 模型。然后应使用 StatModel::train(traindata, flags) 方法训练该模型。另外,您可以使用 EM::train\* 方法之一或使用 Algorithm::load<EM>(filename) 从文件加载它。- 返回
- 自动生成
-
load
public static EM load(java.lang.String filepath, java.lang.String nodeName)
从文件加载并创建序列化的 EM 模型。使用 EM::save 将 EM 模型序列化并存储到磁盘。通过调用此函数并指定文件路径,可以再次从该文件加载 EM 模型。可选地指定包含分类器的文件中的节点。- 参数
filepath- 序列化 EM 模型的路径nodeName- 包含分类器的节点的名称- 返回
- 自动生成
-
load
public static EM load(java.lang.String filepath)
从文件加载并创建序列化的 EM 模型。使用 EM::save 将 EM 模型序列化并存储到磁盘。通过调用此函数并指定文件路径,可以再次从该文件加载 EM 模型。可选地指定包含分类器的文件中的节点。- 参数
filepath- 序列化 EM 模型的路径- 返回
- 自动生成
-
-