EM 类


  • public class EM
    extends StatModel
    此类实现期望最大化算法。参见:参考:ml_intro_em
    • 字段详情

      • 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
        另请参见
        常量字段值
    • 构造函数详情

      • EM

        protected EM​(long addr)
    • 方法详情

      • __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,
                             Mat results,
                             int flags)
        返回提供的样本的后验概率
        覆盖
        predict 在类 StatModel
        参数
        samples - 输入样本,浮点型矩阵
        results - 可选的输出 \( nSamples \times nClusters\) 结果矩阵。它包含输入样本的每个后验概率。
        flags - 此参数将被忽略
        返回值
        自动生成
      • predict

        public float predict​(Mat samples,
                             Mat results)
        返回提供的样本的后验概率
        覆盖
        predict 在类 StatModel
        参数
        samples - 输入样本,浮点型矩阵
        results - 可选的输出 \( nSamples \times nClusters\) 结果矩阵。它包含输入样本的每个后验概率。
        返回值
        自动生成
      • predict

        public float predict​(Mat samples)
        返回提供的样本的后验概率
        覆盖
        predict 在类 StatModel
        参数
        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的文件路径
        返回值
        自动生成
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        覆盖
        finalize 在类 StatModel
        抛出
        java.lang.Throwable