您的位置:首页 > 其它

基于图像识别的分类器的实现

2017-04-12 09:22 302 查看
最近做了一些图像处理的工作,故想着有时间时候整理一下,随着人工智能的发展,智能化的图像识别也越来越受到重视。以肝病的图像分类器为例,通过对每一位肝病患者的CT图像的特征部位提取,解算其相关的纹理特征,再利用机器学习的相关算法在纹理特征的基础上生成分类器,从而对患者的得病程度进行划分。

在这篇,先分享关于对图像分割以及特征提取的一些感悟

1)图像分割往往是图像处理的第一步,提取ROI区域并且忽略不重要信息往往是机器学习中信息提取的重要一步,提取的方式可以考虑首先手动框选,可以考虑例如MFC中onmouse函数操作来提取感兴趣的区域。

2)而图像分割往往可以实际问题来考量,例如非常传统的阈值分割、二次阈值分割、分水岭算法、GRabcut算法等,当然形态学中的处理算法也是不错的可以选择的方法。

3)接下来是信息提取,在机器学习分类中,很多时候大家都把重点放在机器学习算法上,其实个人认为往往信息提取是图像分类中更重要的一步,选取合理的信息提取信息,在后期机器学习的实现中往往会起到更重要的作用。(机器学习的算法只是来处理数据,而数据如果区分度越明显,当然效果将会越明显),针对B超或者这种CT图像,纹理特征是非常好的选择,也就是行程矩阵或者灰度共生矩阵等等。

4)机器学习算法的分类实现,这里自己所用的是opencv中自带的机器学习算法库,主要是利用随机森林进行了一个特征重要度选取(实现的依据袋外数据误差),再利用opencv中SVM和BP神经网络进行分类对比操作(其实opencv中机器学习的包确实比较成熟了,而且调用方便简洁很好操作),后期考虑是否可以去损失函数的优化算法进行改进避免局部最优的情况。

5)对了,最后一般都要做一下分类的情况的优劣判断,其实这里是比较多种了,但是都是一些比较简单的数学公式了,例如ROC曲线、海明距离、准确率、混淆矩阵等等了。

结果:分水岭区域分割:





Grabcut区域分割:



ROC曲线:



最终学习分类的大概概率也是在90%左右,还是比较准确的,这也说明对于CT图像,纹理特征是具有很强的区分度的,也是特征提取的一种重要选择方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: