导读:很多朋友问到关于人工智能图像分类如何实现的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
本文目录一览:
1、136.人工智能-PySide6:可视化窗口实现图像分类预测2、人工智能读片的方法之一是利用目标检测3、如何通过人工神经网络实现图像识别4、图像分类处理简介136.人工智能-PySide6:可视化窗口实现图像分类预测
可以不用再担心PyQt的版权问题,因为PySide来了,完全可以代替PyQt,PySide6的安装和测试可以参看:132.Python——PySide6:安装和VSCode中配置及使用。
本文主要继续使用测试一下PySide6,看看PySide6与PyQt5的在实际应用中有什么不同。
在前一文中,有讲过如何使用分类模型实现图像分类预测,可以参看:116.人工智能——基于Paddle的部署模型推理。
本文主要就是把图像分类模型预测,用PySide6做个可视化客户端,来体验一下PySide6。
先看一下运行效果
主窗口界面上下两部分,上部分使用一个ListView和Label,用来列出图像文件和显示预测结果,下部分使用一个文本框,用来显示文本信息。子窗口仅一个Label,用来显示原图像。
从体验来看,PySide6完全兼容原来的PyQt5(一直在使用版本),所以用PySide6来取代PyQt5或PyQt6,完全是没有问题。
人工智能读片的方法之一是利用目标检测
关于人工智能读片的方法之一是利用目标检测的解释如下:
目标检测(object detection)是计算机视觉中非常重要的一个领域。在卷积神经网络出现之前,都利用一些传统方法手动提取图像特征进行目标检测及定位,这些方法不仅耗时而且性能较低。
而在卷积神经网络出现之后,目标检测领域发生了翻天覆地的变化。最著名的目标检测系统有RCNN系列、YOLO和SSD。RCNN系列的技术演进过程可参见 基于深度学习的目标检测技术演进:R-CNN、Fast R-CNN、Faster R-CNN 。
目标检测分为两步:第一步是对图像进行分类,即图像中的内容是什么;第二步则是对图像进行定位,找出图像中物体的具体位置。简单来说就是图像里面有什么,位置在哪。
然而,由于不同图片中物体出现的大小可能不同(多尺度),位置也可能不同,而且摆放角度,姿态等都可以不同,同时一张图片中还可以出现多个类别。这使得目标检测任务异常艰难。上面任务用专业的说法就是:图像识别+定位
两个不同的分支分别完成不同的功能,分类和定位。回归(regression)分支与分类分支(classification)共享网络卷积部分的参数值。
还是刚才的分类识别+回归定位思路。只是现在我们提前先取好不同位置的框,然后将这个框输入到网络中而不是像思路一将原始图像直接输入到网络中。然后计算出这个框的得分,取得分最高的框。
如何通过人工神经网络实现图像识别
人工神经网络(Artificial Neural Networks)(简称ANN)系统从20 世纪40 年代末诞生至今仅短短半个多世纪,但由于他具有信息的分布存储、并行处理以及自学习能力等优点,已经在信息处理、模式识别、智能控制及系统建模等领域得到越来越广泛的应用。尤其是基于误差反向传播(Error Back Propagation)算法的多层前馈网络(Multiple-Layer Feedforward Network)(简称BP 网络),可以以任意精度逼近任意的连续函数,所以广泛应用于非线性建模、函数逼近、模式分类等方面。
目标识别是模式识别领域的一项传统的课题,这是因为目标识别不是一个孤立的问题,而是模式识别领域中大多数课题都会遇到的基本问题,并且在不同的课题中,由于具体的条件不同,解决的方法也不尽相同,因而目标识别的研究仍具有理论和实践意义。这里讨论的是将要识别的目标物体用成像头(红外或可见光等)摄入后形成的图像信号序列送入计算机,用神经网络识别图像的问题。
一、BP 神经网络
BP 网络是采用Widrow-Hoff 学习算法和非线性可微转移函数的多层网络。一个典型的BP 网络采用的是梯度下降算法,也就是Widrow-Hoff 算法所规定的。backpropagation 就是指的为非线性多层网络计算梯度的方法。一个典型的BP 网络结构如图所示。
我们将它用向量图表示如下图所示。
其中:对于第k 个模式对,输出层单元的j 的加权输入为
该单元的实际输出为
而隐含层单元i 的加权输入为
该单元的实际输出为
函数f 为可微分递减函数
其算法描述如下:
(1)初始化网络及学习参数,如设置网络初始权矩阵、学习因子等。
(2)提供训练模式,训练网络,直到满足学习要求。
(3)前向传播过程:对给定训练模式输入,计算网络的输出模式,并与期望模式比较,若有误差,则执行(4);否则,返回(2)。
(4)后向传播过程:a. 计算同一层单元的误差;b. 修正权值和阈值;c. 返回(2)
二、 BP 网络隐层个数的选择
对于含有一个隐层的三层BP 网络可以实现输入到输出的任何非线性映射。增加网络隐层数可以降低误差,提高精度,但同时也使网络复杂化,增加网络的训练时间。误差精度的提高也可以通过增加隐层结点数来实现。一般情况下,应优先考虑增加隐含层的结点数。
三、隐含层神经元个数的选择
当用神经网络实现网络映射时,隐含层神经元个数直接影响着神经网络的学习能力和归纳能力。隐含层神经元数目较少时,网络每次学习的时间较短,但有可能因为学习不足导致网络无法记住全部学习内容;隐含层神经元数目较大时,学习能力增强,网络每次学习的时间较长,网络的存储容量随之变大,导致网络对未知输入的归纳能力下降,因为对隐含层神经元个数的选择尚无理论上的指导,一般凭经验确定。
四、神经网络图像识别系统
人工神经网络方法实现模式识别,可处理一些环境信息十分复杂,背景知识不清楚,推理规则不明确的问题,允许样品有较大的缺损、畸变,神经网络方法的缺点是其模型在不断丰富完善中,目前能识别的模式类还不够多,神经网络方法允许样品有较大的缺损和畸变,其运行速度快,自适应性能好,具有较高的分辨率。
神经网络的图像识别系统是神经网络模式识别系统的一种,原理是一致的。一般神经网络图像识别系统由预处理,特征提取和神经网络分类器组成。预处理就是将原始数据中的无用信息删除,平滑,二值化和进行幅度归一化等。神经网络图像识别系统中的特征提取部分不一定存在,这样就分为两大类:① 有特征提取部分的:这一类系统实际上是传统方法与神经网络方法技术的结合,这种方法可以充分利用人的经验来获取模式特征以及神经网络分类能力来识别目标图像。特征提取必须能反应整个图像的特征。但它的抗干扰能力不如第2类。② 无特征提取部分的:省去特征抽取,整副图像直接作为神经网络的输入,这种方式下,系统的神经网络结构的复杂度大大增加了,输入模式维数的增加导致了网络规模的庞大。此外,神经网络结构需要完全自己消除模式变形的影响。但是网络的抗干扰性能好,识别率高。
当BP 网用于分类时,首先要选择各类的样本进行训练,每类样本的个数要近似相等。其原因在于一方面防止训练后网络对样本多的类别响应过于敏感,而对样本数少的类别不敏感。另一方面可以大幅度提高训练速度,避免网络陷入局部最小点。
由于BP 网络不具有不变识别的能力,所以要使网络对模式的平移、旋转、伸缩具有不变性,要尽可能选择各种可能情况的样本。例如要选择不同姿态、不同方位、不同角度、不同背景等有代表性的样本,这样可以保证网络有较高的识别率。
构造神经网络分类器首先要选择适当的网络结构:神经网络分类器的输入就是图像的特征向量;神经网络分类器的输出节点应该是类别数。隐层数要选好,每层神经元数要合适,目前有很多采用一层隐层的网络结构。然后要选择适当的学习算法,这样才会有很好的识别效果。在学习阶段应该用大量的样本进行训练学习,通过样本的大量学习对神经网络的各层网络的连接权值进行修正,使其对样本有正确的识别结果,这就像人记数字一样,网络中的神经元就像是人脑细胞,权值的改变就像是人脑细胞的相互作用的改变,神经网络在样本学习中就像人记数字一样,学习样本时的网络权值调整就相当于人记住各个数字的形象,网络权值就是网络记住的内容,网络学习阶段就像人由不认识数字到认识数字反复学习过程是一样的。神经网络是按整个特征向量的整体来记忆图像的,只要大多数特征符合曾学习过的样本就可识别为同一类别,所以当样本存在较大噪声时神经网络分类器仍可正确识别。在图像识别阶段,只要将图像的点阵向量作为神经网络分类器的输入,经过网络的计算,分类器的输出就是识别结果。
五、仿真实验
1、实验对象
本实验用MATLAB 完成了对神经网络的训练和图像识别模拟。从实验数据库中选择0~9 这十个数字的BMP 格式的目标图像。图像大小为16×8 像素,每个目标图像分别加10%、20%、30%、40%、50%大小的随机噪声,共产生60 个图像样本。将样本分为两个部分,一部分用于训练,另一部分用于测试。实验中用于训练的样本为40个,用于测试的样本为20 个。随机噪声调用函数randn(m,n)产生。
2、网络结构
本试验采用三层的BP 网络,输入层神经元个数等于样本图像的象素个数16×8 个。隐含层选24 个神经元,这是在试验中试出的较理想的隐层结点数。输出层神经元个数就是要识别的模式数目,此例中有10 个模式,所以输出层神经元选择10 个,10 个神经元与10 个模式一一对应。
3、基于MATLAB 语言的网络训练与仿真
建立并初始化网络
% ================
S1 = 24;% 隐层神经元数目S1 选为24
[R,Q] = size(numdata);
[S2,Q] = size(targets);
F = numdata;
P=double(F);
net = newff(minmax(P),[S1 S2],{'logsig'
'logsig'},'traingda','learngdm')
这里numdata 为训练样本矩阵,大小为128×40, targets 为对应的目标输出矩阵,大小为10×40。
newff(PR,[S1 S2…SN],{TF1 TF2…TFN},BTF,BLF,PF)为MATLAB 函数库中建立一个N 层
前向BP 网络的函数,函数的自变量PR 表示网络输入矢量取值范围的矩阵[Pmin max];S1~SN 为各层神经元的个数;TF1~TFN 用于指定各层神经元的传递函数;BTF 用于指定网络的训练函数;BLF 用于指定权值和阀值的学习函数;PF 用于指定网络的性能函数,缺省值为‘mse’。
设置训练参数
net.performFcn = 'sse'; %平方和误差
性能函数
net.trainParam.goal = 0.1; %平方和误
差目标
net.trainParam.show = 20; %进程显示
频率
net.trainParam.epochs = 5000;%最大训
练步数
net.trainParam.mc = 0.95; %动量常数
网络训练
net=init(net);%初始化网络
[net,tr] = train(net,P,T);%网络训练
对训练好的网络进行仿真
D=sim(net,P);
A = sim(net,B);
B 为测试样本向量集,128×20 的点阵。D 为网络对训练样本的识别结果,A 为测试样本的网络识别结果。实验结果表明:网络对训练样本和对测试样本的识别率均为100%。如图为64579五个数字添加50%随机噪声后网络的识别结果。
六、总结
从上述的试验中已经可以看出,采用神经网络识别是切实可行的,给出的例子只是简单的数字识别实验,要想在网络模式下识别复杂的目标图像则需要降低网络规模,增加识别能力,原理是一样的。
图像分类处理简介
数字图像的恢复、增强,乃至复合处理,归根到底只是改善图像的品质,提高图像的可解译性。但处理系统(计算机)并未对图像上地物的类别作出“判决”(解译)。由计算按一定的判别模式来自动完成这一“判决”,便是图像分类处理的过程。
图像分类处理的最终目标是智能化,使遥感图像处理发展成为一种人工智能系统。广义的分类处理,既包括波谱信息的分类,也包括空间信息的分类。后者一般包括图形识别、边缘和线条信息的检测与提取,以及纹理结构分析等,通常也称图像的空间信息分析。关于这一部分对于地质工作者显然感兴趣的内容,可参阅文献[3]等著作。限于篇幅,这里仅介绍按波谱信息分类的基本概念。
(一)图像分类的依据
一般来说,同一类地物有着相似的波谱,在多波段遥感的数字图像中,可以粗略地用它们在各个波段上的像元值的连线(亨利曲线)来表示(图4-29A);由于受光照条件、环境背景等因素的影响,在实际的多维波谱空间中,它们的像元值向量往往不是一个点,而是呈点群分布(集群),不同地物的点群处在不同的位置(图4-29B);不仅如此,在实际图像中,不同地物的波谱集群还存在有交叉过渡,受图像分辨力的限制,一个像元中可能包括有若干个地物类别,即所谓“混合像元”。因此,对不同集群的区分一般要依据它们的统计特征(统计量)。例如,集群位置用均值向量表示、点群的中心及离散度常用标准差或协方差来量度等等;数字图像常用的几种统计量见表4-4。
图4-29 索尔顿湖和因佩里亚谷地陆地卫星MSS数字图像上主要几种地物的光谱反射比曲线和集群分布
表4-4 数字图像常用的统计量
图像分类处理的实质就是按概率统计规律,选择适当的判别函数、建立合理的判别模型把这些离散的“集群”分离开来,并作出判决和归类。通常的做法是,将多维波谱空间划分为若干区域(子空间),位于同一区域内的点归于同一类。子空间划分的标准可以概括为两类:①根据点群的统计特征,确定它所应占据的区域范围。例如,以每一类的均值向量为中心,规定在几个标准差的范围内的点归为一类;②确定类别之间的边界,建立边界函数或判别函数。不论采取哪种标准,关键在于确定同一类别在多维波谱空间中的位置(类的均值向量)、范围(协方差矩陈)及类与类边界(判别函数)的确切数值。按确定这些数据是否有已知训练样本(样区)为准,通常把分类技术分为监督和非监督两类。
(二)非监督分类
非监督分类是在没有已知类别的训练数据及分类数的情况下,依据图像数据本身的结构(统计特征)和自然点群分布,按照待分样本在多维波谱空间中亮度值向量的相似程度,由计算机程序自动总结出分类参数,进而逐一对像元作归类,通常也称聚类(集群)分析。使用的方法有图形识别、系统聚类、分裂法和动态聚类等。
其中,比较实用的是动态聚类。它是首先根据经验和分类数,选定若干个均值向量,作为“种子”,建立一批初始中心,进行初步概略的分类,然后根据规定的参数(阈值)检验分类结果,逐步修改调整分类中心,再重新分类,并根据各类离散性统计量(如均方差等)和不同类别之间可分离性统计量(如类间标准化距离等),进行类的合并或分裂;此后再修改中心,直至分类结果合理为止。动态聚类中,聚类中心和分类数可以按客观的波谱特征自动调整,分类效果一般比较好,但分类结果的确切含义(类别的属性)需另作分析,从实况调查或已有的地面资料中去确定它们的地物类型。
非监督分类由于事先不需训练样本,故处理速度较快,较客观,并能为监督分类的训练样区选择提供参照,一般在有目的的监督分类之前进行。
(三)监督分类
监督分类一般是先在图像中选取已知样本(训练区)的统计数据,从中找出分类的参数、条件,建立判别函数,然后对整个图像或待分类像元作出判别归类。遥感图像处理中常用的监督分类方法有最小距离法、费歇尔线性判别法、贝叶斯线性和非线性判别法(最大似然法)等。
其中,最小距离法在算法上比较简单:首先在图像显示屏上选出训练样区,并且从图像数据中求出训练样区各个波段的均值和标准差;尔后再去计算其它各像元的亮度值向量到训练样区波谱均值向量之间的距离。如果距离小于指定的阈值(一般取标准差的倍数),且与某一类的距离最近,遂将该像元归为某类。该分类法的精度取决于训练样区(地物类别)的多少和样本区的统计精度。由于计算简便,并可按像元顺序逐一扫描归类,一般分类效果也较好,因而是较常用的监督分类方法。
最大似然法也是常用的监督分类方法之一。它是用贝叶斯判别原则进行分析的一种非线性监督分类。简单地说,它可以假定已知的或确定的训练样区典型标准的先验概率,然后把某些特征归纳到某些类型的函数中,根据损失函数的情况,在损失最小时获得最佳判别。该法分类效果较好,但运算量较大。
监督分类的结果明确,分类精度相对较高,但对训练样本的要求较高,因此,使用时须注意应用条件,某一地区建立的判别式对别的地区不一定完全适用。此外,有时训练区并不能完全包括所有的波谱样式,会造成一部分像元找不到归属。故实际工作中,监督分类和非监督分类常常是配合使用,互相补充的。
图像分类处理目前在农林、土地资源遥感调查中应用较广。对于地质体的分类,由于干扰因素较大,不容易取得十分理想的效果,故在地质应用上尚不很普遍。但最近已陆续出现了一批使用分类技术的遥感地质应用成果,较多的是用经变换(比值、K-L等)处理的图像再作分类处理,用于岩性填图或热液蚀变填图等,是值得重视的发展方向。
结语:以上就是首席CTO笔记为大家整理的关于人工智能图像分类如何实现的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于人工智能图像分类如何实现的相关内容别忘了在本站进行查找喔。