数据挖掘技术与应用-图像分析-图像大数据

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第九章图像大数据目录图像分类face_recognition0102图像大数据图像分类n图像数据分析的内容是什么?内容分析,内容识别,检测都离不开图像的分类n分类目标:所谓图像分类问题,就是已有固定的分类标签集合,然后对于输入的图像,从分类标签集合中找出一个分类标签,最后把分类标签分配给该输入图像。图像大数据图像分类的例子图像大数据图像分类的例子n图像分类模型读取该图片,并生成该图片属于集合{cat,dog,hat,mug}中各个标签的概率图像大数据图像分类在别的领域n虽然看起来挺简单的,但这可是计算机视觉领域的核心问题之一,并且有着各种各样的实际应用。n卫星影响n医学领域图像大数据卫星领域“空间考古学家”Sarah使用卫星影像定位过许多遗失的埃及城市、古庙和陵墓。图像大数据医学领域基于海量的放射影像,准确识别疾病病灶并量化,为医生提供最专业的诊断依据图像大数据图像在计算机中的结构n在进行图像分类前我们了解一下图像在计算机中的结构n对于计算机来说,图像是一个由数字组成的巨大的3维数组。图像大数据图像在计算机中的结构图像大数据图像在计算机中的结构n在这个例子中,猫的图像大小是宽248像素,高400像素,有3个颜色通道,分别是红、绿和蓝(简称RGB)。如此,该图像就包含了248X400X3=297600个数字,每个数字都是在范围0-255之间的整型,其中0表示全黑,255表示全白。图像大数据图像与机器学习n我们发现了图像是以数组形式进行的表达n能否将这些数组放入机器学习算法中n通过比较数组的距离进行分类图像大数据图像与机器学习图像大数据图像分类的简单实现n我们在进行线性分类前,先了解一下将会使用到的工具OpenCVnOpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库n该库包含了横跨工业产品检测、医学图像处理、安防、用户界面、摄像头标定、三维成像、机器视觉,该库也包含了比较常用的一些机器学习算法图像大数据OpenCVnOpenCV功能非常强大,我们在此只对常用功能做介绍n更多的详情参考:图像大数据最简单的线性划分importcv2#Loadinputimage--'table.jpg'input_file='D:/ml/flower.jpg'img=cv2.imread(input_file)图像大数据最简单的线性划分input_file2='D:/ml/flower.jpg'img2=cv2.imread(input_file2)print(img2-img))图像大数据图像分类困难和挑战n计算机是机械的,即使非常细微的变化在图像矩阵中也会变为巨大的差异图像大数据图像分类困难和挑战n视角变化(Viewpointvariation):同一个物体,摄像机可以从多个角度来展现。n大小变化(Scalevariation):物体可视的大小通常是会变化的(不仅是在图片中,在真实世界中大小也是变化的)。n形变(Deformation):很多东西的形状并非一成不变,会有很大变化。图像大数据图像分类困难和挑战n遮挡(Occlusion):目标物体可能被挡住。有时候只有物体的一小部分(可以小到几个像素)是可见的。n光照条件(Illuminationconditions):在像素层面上,光照的影响非常大。n背景干扰(Backgroundclutter):物体可能混入背景之中,使之难以被辨认。图像大数据图像分类的光照图像大数据图像分类的变形图像大数据图像分类的遮挡图像大数据图像分类困难和挑战n思考:为什么人可以快速识别?你是如何快速判断的一个事物的呢?图像大数据图像分类困难和挑战n答案:特征,人们通过物体的特征来确定,回想一下我们是否通过尾巴和尖尖的耳朵确定了躲在窗帘后的猫?图像大数据图像分类的特征提取nSIFT算法,尺度不变特征转换(Scale-invariantfeaturetransform或SIFT)算法是一种特征提取的方法。它在尺度空间中寻找极值点,并提取出其位置、尺度、旋转不变量,并以此作为特征点并利用特征点的邻域产生特征向量图像大数据图像分类的特征提取nFAST特征点检测是公认的比较快速的特征点检测方法,只利用周围像素比较的信息就可以得到特征点,简单,有效。该方法多用于角点检测。图像大数据图像分类的特征提取图像大数据图像分类的特征提取实现importcv2sift=cv2.xfeatures2d.SIFT_create()图像识别案例人脸识别n人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术n人脸与人体的其它生物特征(指纹、虹膜等)一样与生俱来,它的唯一性和不易被复制的良好特性为身份鉴别提供了必要的前提图像识别案例人脸识别n人脸识别第三方库face_recognitionn该库可以通过python或者命令行即可实现人脸识别的功能。使用dlib识别技术构建,在户外脸部检测数据库基准(LabeledFacesintheWild)上的准确率为99.38%图像识别案例人脸识别HOWITWORK?n输入的图像不是完全随机的。尽管它们存在差异,但在任何输入信号中都存在模式。这样的可以在所有信号中观察到的模式,可能是在面部识别领域。一些物体(眼睛、鼻子、嘴巴)在任何面部和相关部位的存在这些物体之间的距离图像识别案例人脸识别HOWITWORK?n图像总是存在模型规律的:这些特征被称为特征脸面部识别(或主要成分)nface_recognition的算法是EigenFace算法,从思想上其实挺简单,就相当于把人脸从像素空间变换到另一个空间,在另一个空间中做相似性的计算图像识别案例人脸识别HOWITWORK?n那为什么要变换到另一个空间呢?n当然是为了更好的做识别或者分类了,因为变换到另一个空间,同一个类别的图像会聚到一起,不同类别的图像会距离比较远,或者在原像素空间中不同类别的图像在分布上很难用个简单的线或者面把他们切分开,然后如果变换到另一个空间,就可以很好的把他们分开了图像识别案例EigenFace算法n基于EigenFace人脸识别实现过程:n1)将训练集的每一个人脸图像都拉长一列,将他们组合在一起形成一个大矩阵A。假设每个人脸图像是MxM大小,那么拉成一列后每个人脸样本的维度就是d=MxM大小了。假设有N个人脸图像,那么样本矩阵A的维度就是dxN了。图像识别案例EigenFace算法n图像集图像识别案例EigenFace算法n2)将所有的N个人脸在对应维度上加起来,然后求个平均,就得到了一个“平均脸”。你把这个脸显示出来的话,还挺帅的哦n3)将N个图像都减去那个平均脸图像,得到差值图像的数据矩阵Φ。图像识别案例EigenFace算法n“平均脸”图像识别案例EigenFace算法n4)计算协方差矩阵C=ΦΦT。再对其进行特征值分解。就可以得到想要的特征向量(特征脸)了n5)将训练集图像和测试集的图像都投影到这些特征向量上了,再对测试集的每个图像找到训练集中的最近邻或者k近邻啥的,进行分类即可图像识别案例人脸识别与PCAnPCA带来了什么n可能在直观上,感觉特征越多,就越多的描述样本的属性,可提高识别率图像识别案例人脸识别与PCAn如果特征向量维度过高,不仅会增加计算复杂度,还会给分类问题带来负面影响,造成识别,或者分类精度降低n实质上尽可能好的保留原始数据信息的条件下,我们只需要那些大的特征值对应的特征向量,而那些十分小甚至为0的特征值对于我们来说,对应的特征向量几乎没有意义图像识别案例人脸识别HOWITWORK?n特征向量与面部识别有什么关系?图像识别案例人脸识别HOWITWORK?n每个特征向量只表示某个脸部的某些特征,可能存在,也可能不存在于原始图像中,如果脸部特征在原始图像中是较高的程度的存在,那么相应的特征向量在权重更大图像识别案例人脸识别算法的实现n首先,训练集的图像转换成一组面部的特征,计算训练集的每个图像存储在集合W中n在获得未知图像X时计算新图像的权重并且存储在向量Wx中图像识别案例人脸识别算法的实现n如果Wf和未知的图像Wx权重向量的权重向量之间这个平均距离超过某一阈值θ那么我们可以视为非人脸图像n一种方法是把每个权值视为向量空间中的一点,并计算出一个平均距离Dn如果X是一个人脸,我们比较它与集合W中所有数据的相似性,如果Wx不存在W集合中,它的权重向量Wx将被存储以供以后分类。图像识别案例图像识别案例图像识别代码biden_face_encoding=face_recognition.face_encodings(biden_image)[0]results=face_recognition.compare_faces(known_faces,unknown_face_encoding)感谢您的观赏THANKYOUFORWATCHING

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功