AI-Python编程实践课件03图像识别算法实践

上传人:sat****105 文档编号:325452297 上传时间:2022-07-18 格式:PPTX 页数:55 大小:7.12MB
返回 下载 相关 举报
AI-Python编程实践课件03图像识别算法实践_第1页
第1页 / 共55页
AI-Python编程实践课件03图像识别算法实践_第2页
第2页 / 共55页
AI-Python编程实践课件03图像识别算法实践_第3页
第3页 / 共55页
AI-Python编程实践课件03图像识别算法实践_第4页
第4页 / 共55页
AI-Python编程实践课件03图像识别算法实践_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《AI-Python编程实践课件03图像识别算法实践》由会员分享,可在线阅读,更多相关《AI-Python编程实践课件03图像识别算法实践(55页珍藏版)》请在金锄头文库上搜索。

1、图像识别图像识别算法实践算法实践第三章第三章目 录图像识别算法简介1OpenCV与视频图像处理2基于ImageAI的图像识别3人脸识别4Tesseract OCR 与文本识别5基于百度AI的智能图像识别61ONE图 像 识 别基 本 算 法边缘检测1边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个重要研究领域。图像的边缘是图像的重要特征,是计算机视觉、模式识别的基础,是图象处理中一个重要的环节。边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常包括:深度上的不连续、表面方向不连续、物质属性变化和场景照明变化等。边缘检测算法原理2图像边缘的特征:对于一幅灰度图像而言

2、,边缘两边的灰度值肯定不同,灰度值变化越大,对比度越大,边缘就越明显。边缘检测算法原理2Prewitt算子3Prewitt算子是最简单的图像求导算子,也是一种常用的边缘检测一阶微分算子。它利用像素点上下、左右相邻点的灰度差在边缘处达到极值来进行边缘检测。Prewitt算子在图像空间利用两个方向模板与图像进行邻域卷积(Adjacent Convolution)运算来完成。Sobel算子4Sobel算子是典型的一阶微分边缘检测算子,它利用像素邻近区域的梯度值来计算1个像素的梯度,然后根据一定的绝对值来取舍。在技术上它是离散型的差分算子,用于计算图像亮度函数的梯度近似值。Sobel算子中引入了类似局

3、部平均的运算,因此对噪声具有平滑作用,能很好的消除噪声的影响。Sobel算子对于象素的位置的影响做了加权,与Prewitt算子相比效果更佳。Sobel算子4Laplace算子5该算子比较合适应用于只关心边缘位置而不考虑其周围象素灰度差值的图像边缘检测场景中。Laplace算子对孤立象素的响应要比对边缘的响应要更强烈,因此只适用于无噪声图象处理。存在噪声情况下,使用Laplace算子检测边缘之前需要先对图像进行低通滤波。Laplace算子5Laplace算子5Canny算子6Canny算法是由John F.Canny于1986年提出的一种基于图像梯度计算的边缘检测算法,与基于LoG算法的边缘检测

4、方法类似,也属于先平滑后求导的方法。利用Canny算子实现图像边缘检测的过程一般分为以下几个步骤:1)图像灰度化。2)对图像进行高斯平滑滤波。3)计算梯度值和方向。4)对梯度幅值进行非极大值抑制(Non-Maximum Suppression,NMS)。5)用双阈值法检测和连接边缘。在做图像匹配时,为了保证匹配的准确性,所选择的特征点必须有其独特性,而图像的角点则经常被看成是一种不错的选择。人们通常通过在一个小的窗口区域内观察像素点的灰度值大小来识别角点,如果向任何方向移动窗口都会引起较大的灰度变化,则该处位置往往就是我们要找的角点。角点往往是两条边缘的交点,它是两条边缘方向变换的一种表示,其

5、两个方向的梯度变化通常都比较大并且可被易于检测。角点检测7角点检测7加权函数高斯函数几何形状检测8在图像理解与识别的过程中,物体的形状属于高级信息,而基本几何形状是图像目标的主要特征之一,在数字图像中对其进行准确的检测有着重要的意义。如何对物体的形状特征进行充分准确的描述是目标检测中极其重要的环节,同时针对不同的特征描述应用合理的形状匹配算法也是提高目标检测效果的关键。几何形状检测8在图像理解与识别的过程中,物体的形状属于高级信息,而基本几何形状是图像目标的主要特征之一,在数字图像中对其进行准确的检测有着重要的意义。Hough变换是一种常用的几何图形检测算法,其基本原理是将特定图形上的点变换到

6、一组参数空间上,然后根据参数空间点的累加结果找到一个极大值对应的解,而这个解正对应着要寻找的几何形状的参数(例如直线的斜率k与常数b,圆的圆心o与半径r等)。几何形状检测8xyrPLx=cos y=sin直线方程的极坐标表示首先,利用直线距离原点距离的计算公式,可得下式:=r cos()然后,对该式利用三角函数展开,可得到:=r cos()=r cos()cos()+r sin()sin()根据点P的直角坐标系(x,y)与极坐标(,r)之间的关系r cos()=xr sin()=y可得到:=xcos+ysin尺度不变特征变换9尺度不变特征变换(Scale-Invariant Feature T

7、ransform,SIFT)是用于图像处理领域的一种描述,是一种局部特征描述子,具有尺度不变性,可在图像中检测出关键点。SIFT算法是用于提取图像局部特征的经典算法,其实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换(Affine Transformation)和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。OpenCV内置了SIFT算法的诸多函数,包括:实例化SIFT类的函数:cv2.xfeatures2d.SIFT_create()在图像中查找关键点的函数:sift.detect(gray,N

8、one)计算找到的关键点的描述符的函数:pute(kp)在图中画出关键点的函数:cv2.drawKeypoints(gray,kp,img)尺度不变特征变换92TWOO p e n C V与 视 频 图 像处 理OpenCV简介1OpenCV是一个开源的、跨平台的计算机视觉库,它采用优化的CC+代码编写,能够充分利用多核处理器的优势,提供了Python、Ruby、Matlab以及其他高级语言接口。OpenCV的设计目标是执行速度尽量快,主要面向实时应用,是视频信号处理的主要工具,封装了丰富的视频处理相关的工具包。OpenCV视频读写操作2视频一般有两种来源,一种是从本地磁盘加载,另一种则是从摄

9、像头等设备实时获取。上 述 两 种 视 频 获 取 方 式 分 别 对 应 着 OpenCV2的 两 个 函 数 CaptureFromFile()和 CaptureFromCAM(),在OpenCV3中则统一为一个用于处理视频源载入函数VideoCapture()。OpenCV视频读写操作2从本地载入一个视频文件并将其转化为灰阶图像连续帧并播放,示例代码:import cv2#导入OpenCVcap=cv2.VideoCapture(TestVideo.avi)while(cap.isOpened():ret,frame=cap.read()#循环获取视频中每帧图像gray=cv2.cvtC

10、olor(frame,cv2.COLOR_BGR2GRAY)#将原帧图像转换为灰阶图 cv2.imshow(视频捕捉,gray)#显示处理后的视频图像 if cv2.waitKey(1)&0 xFF=ord(q):#按“q”键退出程序 breakcap.release()#处理完成,释放视频捕捉cv2.destroyAllWindows()#关闭窗口释放资源运动轨迹标记3运动捕捉(Motion Capture)技术可对运动物体或其特征点在三维空间的运动轨迹进行实时、精确、定量地连续测量、跟踪和记录。运动轨迹则是物体从开始位置到运动结束为止所经过的路线组成的空间特征。基于计算机视觉图像处理技术的

11、运动捕捉方案在动画及游戏制作、仿真训练等领域有着广泛的应用。光流(Optical Flow)是图像亮度的运动信息描述,是空间运动物体在观测成像面上的像素运动的瞬时速度,是对视频中运动对象轨迹进行标记的一种常用方法。光流算法4运动捕捉(Motion Capture)技术可对运动物体或其特征点在三维空间的运动轨迹进行实时、精确、定量地连续测量、跟踪和记录。运动轨迹则是物体从开始位置到运动结束为止所经过的路线组成的空间特征。基于计算机视觉图像处理技术的运动捕捉方案在动画及游戏制作、仿真训练等领域有着广泛的应用。光流场(Optical Flow Field)是指图像中所有像素点构成的一种二维瞬时速度场

12、,它是一个二维矢量场。研究光流场的目的就是为了从序列图像中近似计算出不能直接得到的运动场,是三维运动场在二维图像平面上(人的眼睛或者摄像头)的投影,如下图所示。光流算法43D空间运动与2D光流形成示意图OpenCV中实现了不少光流算法,其中,Lucas-Kanade(L-K)是一种广泛使用的光流估计差分算法,它由Bruce D.Lucas和Takeo Kanade发明。光流算法4L-K算法假设光流在像素点的邻域是一个常数,然后使用最小二乘法对邻域中的所有像素点求解基本的光流方程。通过结合几个邻近像素点的信息,L-K算法通常能够消除光流方程中的多义性。而且,与逐点计算的方法相比,L-K算法对图像

13、噪声不敏感。运动检测(Motion Detection),是计算机视觉和视频处理中常用的预处理步骤,是指从视频中识别发生变化或移动的区域。运动检测5运动检测最常见的应用场景是运动目标跟踪,也就是对摄像头记录的视频中的移动目标进行定位的过程,有着非常广泛的应用。运动目标检测算法根据目标与摄像机之间的关系可以分为静态背景下运动检测和动态背景下运动检测。运动检测5第n帧图像差分图像阈值处理连通性分析判别第n-1帧图像延迟二帧差分法运动检测原理示意图运动检测5三帧差分法运动检测原理示意图差分图像阈值处理连通性分析判别第n+1帧图像第n帧图像第n-1帧图像差分图像延迟延迟运动方向判断6OpenCV中的中

14、的goodFeaturesToTrack()函数可用于获取图像中最大特征值的角点,我函数可用于获取图像中最大特征值的角点,我们可以此为契机重新设计物体运动方向检测算法,步骤们可以此为契机重新设计物体运动方向检测算法,步骤如下:如下:1)对相邻两帧图像所有像素点通过absdiff()函数进行差分运算得到差分图像。2)将差分图像转化成为灰度图像并做二值化处理。3)利用goodFeaturesToTrack()函数获取最大特征值的角点。4)计算角点的平均点,写入队列。5)维护一个长度为10的队列,队列满时计算队列中数据的增减情况,并以此来确定目标物体的运动方向。3THREEI m a g e A I

15、图 像 识 别I m a g e A I 是 一 套 面 向 计 算 机 视 觉 编 程 的 P y t h o n工 具 库,支 持 最 先 进 的 机 器 学 习 算 法,主 要 用 于 图像 预 测、物 体 检 测、视 频 对 象 检 测 与 跟 踪 等 多 个 应用 领 域。利 用 I m a g e A I,开 发 人 员 可 用 很 少 的 代码 构 建 出 具 有 包 含 深 度 学 习 和 计 算 机 视 觉 功 能 的 应用 系 统。I m a g e A I 目 前 支 持 在 I m a g e N e t 数 据 集 上 对 多种 不 同 机 器 学 习 算 法 进 行

16、 图 像 预 测 和 训 练。I m a g e A I 项 目 将 为 计 算 机 视 觉 领 域 的 研 究提 供 更 广 泛 和 更 专 业 化 的 支 持,包 括 但 不 限于 特 殊 环 境 和 特 殊 领 域 的 图 像 识 别。ImageAI简介1图图 像像 预预 测测(I m a g e P r e d i c t i o n),是是指指 利利 用用 由由 各各 种种 不不 同同 算算 法法 构构 建建 而而 成成 的的 预预测测 器器 对对 输输 入入 图图 像像 或或 视视 频频 帧帧 进进 行行 分分 析析 解解构构,并并 返返 回回 其其 中中 所所 包包 含含 的的 物物 体体 对对 象象 名名及及 其其 相相 应应 的的 百百 分分 比比 概概 率率(P e r c e n t a g e P r o b a b i l i t i e s)的 过 程。的 过 程。I m a g e A I 提提 供供 了了 基基 于于 4 种种 不不 同同 算算 法法 和和模模 型型 来来 进进 行行 图图 像像 预预 测测,并并 在在I m a g e N e t 数

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号