首页 > 其他分享 >分类器——高斯混合模型/Gaussian-Mixture-Models(GMM)之图像分割

分类器——高斯混合模型/Gaussian-Mixture-Models(GMM)之图像分割

时间:2024-03-07 14:45:10浏览次数:17  
标签:Mixture GMM gmm WindowHandle dev 分类器 Message class

图像分割之高斯混合模型

使用GMM的步骤如下:

首先,GMM由create_class_gmm创建。

然后,通过add_sample_class_gmm添加训练向量,然后可以使用write_samples_class_gmm将它们写入磁盘。

通过train_class_gmm确定分类器中心参数(如上定义)。

此外,它们可以与write_class_gmm一起保存,以便以后分类。

**********************************************************************************************************

如下实例,将树莓的红色和绿色分割出来

*分类器使用2种不同的颜色进行训练。
*与其他分类器相比,未经训练的颜色很容易被拒绝。
dev_update_off ()
dev_close_window ()
dev_open_window (0, 0, 735, 485, 'black', WindowHandle)
set_display_font (WindowHandle, 14, 'mono', 'true', 'false')
dev_set_draw ('margin')
dev_set_colored (6)
dev_set_line_width (3)
read_image (Image, 'test')
dev_display (Image)
Color := ['indian red','cornflower blue','white','black','yellow']

*创建包含2个类的训练样本的区域
draw_circle(WindowHandle, Row, Column, Radius)
gen_circle(Red, Row, Column, Radius)
draw_circle(WindowHandle, Row, Column, Radius)
gen_circle(Green, Row, Column, Radius)
concat_obj(Green,Red,Classes)

Message := 'Training regions for the color classifier'
disp_message (WindowHandle, Message, 'window', 12, 12, 'cyan', 'false')
disp_continue_message (WindowHandle, 'cyan', 'false')
stop ()

*创建分类器和添加分类器样本
create_class_gmm (3, 2, [1,10], 'full', 'none', 2, 42, GMMHandle)
add_samples_image_class_gmm (Image, Classes, GMMHandle, 2.0)

dev_display (Image)
Message := '训练中 ...'
disp_message (WindowHandle, Message, 'window', 12, 12, 'cyan', 'false')

*训练分类器
train_class_gmm (GMMHandle, 500, 1e-4, 'uniform', 1e-4, Centers, Iter)
Message := Message + ' 完成.'
Message[1] := '分割/分类图像'
disp_message (WindowHandle, Message, 'window', 12, 12, 'cyan', 'false')

*分割/分类图像
classify_image_class_gmm (Image, ClassRegions, GMMHandle, 0.0001)
region_to_mean (ClassRegions, Image, ImageClass)
dev_display (ImageClass)
Message[1] := Message[1] + ' 完成.'
disp_message (WindowHandle, Message, 'window', 12, 12, 'cyan', 'false')

原图

 分割后图像

1.create_class_gmm — Create a Gaussian Mixture Model for classification  创建一个高斯混合模型分类器

  create_class_gmm( : : NumDim, NumClasses, NumCenters, CovarType, Preprocessing, NumComponents, RandSeed : GMMHandle)

    *NumDim   数据维数,如2D图像数据为2

    *NumClasses  分类器分类种数

    *NumCenters  每个类中心数量设置

2.region_to_mean — Paint regions with their average gray value.  使用区域的平均灰度值绘制区域。

 

标签:Mixture,GMM,gmm,WindowHandle,dev,分类器,Message,class
From: https://www.cnblogs.com/echo-efun/p/18058474

相关文章

  • [NLP复习笔记] 朴素贝叶斯分类器
    1.贝叶斯决策论假设有\(N\)中类别标记\(\gamma=\{c_1,c_2,\dots,c_N\}\),\(\lambda_{ij}\)是将一个真实标记为\(c_{j}\)分类为\(c_i\)所产生的损失。基于后验概率\(P(c|\mathbf{x})\)可以得到样本\(\mathbf{x}\)分类为\(c_i\)的期望损失(\(\text{expectedlo......
  • OpenCV的人形识别级联分类器使用方法
    OpenCV的人形识别级联分类器使用方法如下:首先,确保已经安装了OpenCV库。如果没有安装,可以使用以下命令进行安装:pipinstallopencv-python下载一个预训练的人形识别级联分类器文件,例如haarcascade_fullbody.xml。这个文件可以在OpenCV的GitHub仓库中找到:https://github.com/......
  • 深度学习笔记4:在卷积基上添加数据增强代码块和分类器
    特征提取的另一种方式是将原有模型与一个新的密集分类器相连接,以构建一个新的模型,然后对整个模型进行端到端的训练。这种方法在输入数据上进行整体训练,使模型能够更好地适应数据特性并提取更有效的特征。通过这种方式,模型的性能可以得到进一步提高,同时也能更好地捕捉到数据中......
  • 网络分类器 cgroup 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/admin-guide/cgroup-v1/net_cls.html网络分类器cgroup网络分类器cgroup提供了一个接口,用于给网络数据包打上一个类别标识符(classid)。流量控制器(tc)可以用来为来自不同cgroup的数据包分配不同的优先级。此外,Netfilter(iptables)也可以......
  • GMMSeg: Gaussian Mixture based Generative Semantic Segmentation Models
    前置知识:【EM算法深度解析-CSDNApp】http://t.csdnimg.cn/r6TXMMotivation目前的语义分割通常采用判别式分类器,然而这存在三个问题:这种方式仅仅学习了决策边界,而没有对数据分布进行建模;每个类仅学习一个向量,没有考虑到类内差异;OOD数据效果不好。生成式分类器通过对联合分布......
  • 高斯混合模型:GMM和期望最大化算法的理论和代码实现
    高斯混合模型(gmm)是将数据表示为高斯(正态)分布的混合的统计模型。这些模型可用于识别数据集中的组,并捕获数据分布的复杂、多模态结构。gmm可用于各种机器学习应用,包括聚类、密度估计和模式识别。在本文中,将首先探讨混合模型,重点是高斯混合模型及其基本原理。然后将研究如何使......
  • 深度学习算法原理实现——线性分类器
     importnumpyasnpimporttensorflowastfimportmatplotlib.pyplotaspltdefmodel(inputs):returntf.matmul(inputs,W)+bdefsquare_loss(targets,predictions):per_sample_losses=tf.square(targets-predictions)returntf.reduce_mean......
  • 声纹识别之GMM-UBM系统框架
    声纹识别简介声纹识别,也称做说话人识别,是一种通过声音来判别说话人身份的技术。根据研究表明,声纹虽然不如指纹、人脸这样,个体差异明显,但是由于每个人的声道、口腔和鼻腔(发音要用到的器官)也具有个体差异性。因为反映到声音上,也是具有差异性的。就比如说,当我们在接电话的时候,通过......
  • 线性分类器与非线性分类器的区别
    机器学习中的分类器可以大致分为线性分类器和非线性分类器,它们在处理数据时有一些基本的区别。线性分类器:决策边界:线性决策边界:线性分类器假设数据可以通过一个超平面(在二维空间中是一条直线)来划分成不同的类别。例如,对于二分类问题,可以用一条直线将两个类别分开。模型形......
  • 高斯混合模型GMM实现
    ​ (1)以下matlab代码实现了高斯混合模型:function[Alpha,Mu,Sigma]=GMM_EM(Data,Alpha0,Mu0,Sigma0)%%EM迭代停止条件loglik_threshold=1e-10;%%初始化参数[dim,N]=size(Data);M=size(Mu0,2);loglik_old=-realmax;nbStep=0;Mu=Mu0;......