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 int
COV_MAT_DEFAULT
static int
COV_MAT_DIAGONAL
static int
COV_MAT_GENERIC
static int
COV_MAT_SPHERICAL
static int
DEFAULT_MAX_ITERS
static int
DEFAULT_NCLUSTERS
static int
START_AUTO_STEP
static int
START_E_STEP
static int
START_M_STEP
-
继承自类 org.opencv.ml.StatModel 的字段
COMPRESSED_INPUT,PREPROCESSED_INPUT,RAW_OUTPUT,UPDATE_MODEL
-
-
构造函数摘要
构造函数 修饰符 构造函数 描述 protected
EM(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static EM
__fromPtr__(long addr)
static EM
create()
创建空的 %EM 模型。protected void
finalize()
int
getClustersNumber()
参见:setClustersNumberint
getCovarianceMatrixType()
参见:setCovarianceMatrixTypevoid
getCovs(java.util.List<Mat> covs)
返回协方差矩阵 返回协方差矩阵向量。Mat
getMeans()
返回聚类中心(高斯混合的均值) 返回行数等于混合数、列数等于空间维数的矩阵。TermCriteria
getTermCriteria()
参见:setTermCriteriaMat
getWeights()
返回混合的权重 返回元素个数等于混合个数的向量。static EM
load(java.lang.String filepath)
从文件中加载并创建一个序列化的 EM 使用 EM::save 将 EM 序列化并存储到磁盘。static EM
load(java.lang.String filepath, java.lang.String nodeName)
从文件中加载并创建一个序列化的 EM 使用 EM::save 将 EM 序列化并存储到磁盘。float
predict(Mat samples)
返回提供的样本的后验概率float
predict(Mat samples, Mat results)
返回提供的样本的后验概率float
predict(Mat samples, Mat results, int flags)
返回提供的样本的后验概率double[]
predict2(Mat sample, Mat probs)
返回给定样本的似然对数和最有可能的混合分量的索引。void
setClustersNumber(int val)
getClustersNumber 参见:getClustersNumbervoid
setCovarianceMatrixType(int val)
getCovarianceMatrixType 参见:getCovarianceMatrixTypevoid
setTermCriteria(TermCriteria val)
getTermCriteria 参见:getTermCriteriaboolean
trainE(Mat samples, Mat means0)
根据样本集估计高斯混合参数。boolean
trainE(Mat samples, Mat means0, Mat covs0)
根据样本集估计高斯混合参数。boolean
trainE(Mat samples, Mat means0, Mat covs0, Mat weights0)
根据样本集估计高斯混合参数。boolean
trainE(Mat samples, Mat means0, Mat covs0, Mat weights0, Mat logLikelihoods)
根据样本集估计高斯混合参数。boolean
trainE(Mat samples, Mat means0, Mat covs0, Mat weights0, Mat logLikelihoods, Mat labels)
根据样本集估计高斯混合参数。boolean
trainE(Mat samples, Mat means0, Mat covs0, Mat weights0, Mat logLikelihoods, Mat labels, Mat probs)
根据样本集估计高斯混合参数。boolean
trainEM(Mat samples)
根据样本集估计高斯混合参数。boolean
trainEM(Mat samples, Mat logLikelihoods)
根据样本集估计高斯混合参数。boolean
trainEM(Mat samples, Mat logLikelihoods, Mat labels)
根据样本集估计高斯混合参数。boolean
trainEM(Mat samples, Mat logLikelihoods, Mat labels, Mat probs)
根据样本集估计高斯混合参数。boolean
trainM(Mat samples, Mat probs0)
根据样本集估计高斯混合参数。boolean
trainM(Mat samples, Mat probs0, Mat logLikelihoods)
根据样本集估计高斯混合参数。boolean
trainM(Mat samples, Mat probs0, Mat logLikelihoods, Mat labels)
根据样本集估计高斯混合参数。boolean
trainM(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 均值算法估计。与许多 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 均值算法估计。与许多 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 均值算法估计。与许多 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 均值算法估计。与许多 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)从文件加载模型。- 返回值
- 自动生成
-
加载
public static EM load(java.lang.String filepath, java.lang.String nodeName)
从文件加载并创建一个序列化的EM。使用EM::save序列化并将EM存储到磁盘。通过使用此函数和文件路径再次加载EM。您可以选择指定包含分类器的文件的节点。- 参数
filepath
- 序列化EM的文件路径nodeName
- 包含分类器的节点名称- 返回值
- 自动生成
-
加载
public static EM load(java.lang.String filepath)
从文件加载并创建一个序列化的EM。使用EM::save序列化并将EM存储到磁盘。通过使用此函数和文件路径再次加载EM。您可以选择指定包含分类器的文件的节点。- 参数
filepath
- 序列化EM的文件路径- 返回值
- 自动生成
-
-