类 EM
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.ml.StatModel
-
- org.opencv.ml.EM
-
public class EM extends StatModel
该类实现了期望最大化算法。参见: REF: 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 模型。protected voidfinalize()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算法估计。与许多机器学习模型不同,%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算法估计。与许多机器学习模型不同,%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算法估计。与许多机器学习模型不同,%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算法估计。与许多机器学习模型不同,%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模型的路径- 返回
- 自动生成
-
-