计算机视觉大作业

计算机视觉大作业
计算机视觉大作业

基于OpenCV的切水果外挂设计

第一章引言

1.1 背景

在计算机视觉课程的前几课中,听覃老师说,曾经有个学长自己动手做了一个游戏的外挂,获得了很大的成功。跟人感觉这位学长能将自己所学与个人的技能相结合,成功的做出了实际的东西,着实厉害;同时这个过程将会对于个人的学习和成长都将有积极影响和意义。

笔者在听了覃老师的介绍后,对于与计算机视觉相关的游戏外挂的设计产生了浓厚的兴趣。有考虑到笔者在外来两年内的研究方向都将图像处理或是计算机视觉,且近期笔者正在使用QT+OpenCV+OpenGL进行基于嵌入式Linux的图像处理和开发。所以笔者若选择一个类似的外挂程序的编写和设计,将对个人今后的学习有着积极的意义。因此笔者在网上搜索了很多与图像处理有关网页游戏,如图1所示。笔者试玩了多种计算机视觉相关的游戏,并最终决定写一个切水果的游戏的外挂程序。

图 1 各种网页游戏图2 各类切水果的游戏

1.2 OpenCV简介

OpenCV[1]的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用,可以运

行在Linux、Windows和Mac OS操作系统上。

OpenCV库的所有代码都经过优化,计算效率很高,因为,它更专注于设计成为一种用于实时系统的开源库。OpenCV采用C语言进行优化,而且,在多核机器上面,其运行速度会更快。它的一个目标是提供友好的机器视觉接口函数,从而使得复杂的机器视觉产品可以加速面世。该库包含了横跨工业产品检测、医学图像处理、安防、用户界面、摄像头标定、三维成像、机器视觉等领域的超过500个接口函数。近年来,在入侵检测、特定目标跟踪、目标检测、人脸检测、人脸识别、人脸跟踪等领域,OpenCV可谓大显身手,而这些,仅仅是其应用的冰山一角。

本文便是通过在Visual Studio 2013平台下安装OpenCV,通过编写C++程序,并调用OpenCV计算机视觉和图像处理的API,对游戏中的图像进行处理、识别,为程序的下一步操作提供基础。

1.3游戏外挂简介

游戏外挂[2],其实是一种游戏外辅助程序,他可以协助玩家自动产生游戏动作、修改游戏网络数据包以及游戏内存数据等,以实现玩家用最少的时间和金钱完成功力升级和过关斩将。

根据游戏的类型,游戏外挂可以大致分为两类:

(1)将游戏中大量繁琐和无聊的攻击动作使用外挂自动完成,以帮助玩家轻松搞定攻击对象并可以跨度增加玩家的经验值,并取得更好的成绩。

(2)由外挂程序产生的欺诈性的网络游戏封包,并将这些封包发送到网络游戏服务器,利用这些虚假的信息欺骗服务器进行游戏数值的修改,达到修改角色能力数值的目的。具体有可以分为模拟操作型、修改内存型、封包型等。

本文所编写的既是第一类游戏外挂。在切水果的游戏中,游戏玩家需要注意在页面底侧飞出来的各种水果和炸弹,在游戏的初期水果和炸弹飞出的速度较慢,玩家玩起来很轻松。伴随着游戏的进行,游戏的难度将增加,水果和炸弹的出现速度将越来越快。眼花缭乱的水果和炸弹不仅增加了游戏的难度,对于该类游戏的爱好者的视力也将有一定的损伤。

因此,本文编写的外挂的目的既是自动识别水果和炸弹,并通过编写程序模拟鼠标操作,进而自动的完成大量的繁琐的切水果的操作。

第二章开发环境搭建

笔者在开始安装OpenCV的过程[3]中,遇到了很多问题,浪费了一些时间。这里我给出一个简单的安装步骤。具体如下所示:

Step 1、下载一个较新的OpenCV安装包。注意:不要过新的OpenCV版本,笔者在开始时下载了最新的 3.0版本的OpenCV,但是该版本与 2.x版本的OpenCV有一定区别。网络上也没有相关的教程,因此浪费了些时间。笔者最终使用的是2.4.9版本的OpenCV。

Step 2、下载OpenCV后,双击运行exe,选择输出(解压)目录,我选择的是C:\opencv。然后解压缩后就完成了整个安装。

Step 3、配置OpenCV,这里是整个环境搭建的核心内容。

Step 3.1在“我的电脑”右击弹出“系统属性”对话框,选择“高级”再点击“环境变量”,然后在“系统变量”中的Path对话框中输入:“;C:\opencv\opencv\build\x64\vc12\bin”; 具体如图3所示。

图3 配置环境变量

Step 3.2 打开项目的属性页面,单击“配置属性”,然后点击“VC++目录”,然后手动的加入库文件、引用文件和包含文件。具体操作如图4所示。

图4 OpenCV 配置截图1

Step 3.3 在已经打开的项目的属性页面中,点击“链接器”,然后点击“输入”,然后手动添加附加依赖项。具体操作如图5所示。

图5 OpenCV 配置截图2

至此,整个OpenCV环境已经搭建、配置完成。但仍需说明的是,在程序运

行时,需要在工程的Debug目录下添加一些DLL文件。笔者为了方便,所以在该目录下添加了程序可能需要的OpenCV的全部DLL文件。具体如图6所示:

图6 添加DLL文件

第三章预分析与预处理

3.1 游戏选择

在确定游戏为“切水果”类型的之后,笔者试完了多个不同版本的切水果的游戏。通过试玩,笔者发现一部分游戏背景复杂,与传统的切水果游戏相差较大,需要处理内容较多,需要程序进行的控制,以及游戏策略均很复杂,这一类游戏如图7中的“切水果完美版”所示。

图7 切水果完美版图8喜洋洋切水果还有一部分游戏,游戏开发者可能是为了开发速度,或是降低玩家的难度,

不需要用鼠标滑过水果(可能是食物),只需要用鼠标左键点击食物的周围区域即可。这类游戏如图8中的“喜洋洋切水果”所示。通过试玩,笔者发现这一类游戏很容易“错切”。

还有一部分游戏,与传统的切水果游戏很接近,水果飞出速度合理,鼠标滑过水果后,屏幕出现划痕,切碎的水果自动掉落,如图9中的“简约切水果”所示。个人感觉这样的游戏,控制策略简单;需要的图像处理始终;需要识别的内容也叫简单。因此很适合笔者来写这第一个游戏外挂程序。

图9简约切水果

3.2 获取实验源图像

确定具体游戏后,笔者编写了一个简单小程序。通过简单的人机交互,即可获得目标区域的图像,通过设置定时器时间,可以每个30ms读取一次屏幕中目标区域,并将目标区域图像保存至特定目录。本文中人机交互图片如图10所示,实验中保存了500张实验图片,其中部分实验图如图11所示。

图10 人机交互图

图11 部分实验图

3.3 背景减除

考虑到实验图中背景单一不变,且游戏运行开始时,游戏中并没有飞出任何水果或是炸弹。因此笔者多次调试程序,终于获得了背景图片,如图12所示。

图12 游戏背景图片

而后,笔者编写简单的背景减除代码,去掉了全部背景,结果如图13所示。

图14 背景减除后效果图

3.4 颜色空间分析

考虑到后期需要检测和识别水果、水渍、切过的水果和炸弹等。因此如果这些在颜色空间有不同的分布,那么便可选择一种对水果更加敏感的色彩空间来表示本文中的实验图像。接下来的处理过程复杂度将会大大减小。因此笔者简单学习了一下四种颜色模型[4,5]。

(1)RGB颜色模型

RGB(Red, Green, Blue)颜色模型是最常见的颜色模型,RGB描述的是红绿蓝三色光的数值。其中R代表着Red红色,G代表着Green绿色,B代表这Blue蓝色。通过这3种基本的颜色不同组合,即可合成约1670万种颜色。

(2)YUV颜色模型

YUV颜色模型是视频中常采用的色彩表示方法,Y指颜色的亮度(Brightness),U和V是两个色差信号。YUV颜色模型的亮度信号和色差信号U、V是分离的,可以单独处理。根据一个场景内色度总是基本一致且单一,即使是属于不同摄像头的相邻两帧,其色度也具有变化不大的特点。它和红、绿、蓝三色光的关系可用如下式的方程描述:Y=0.3R+0.59G+0.11B 这就是常用的亮度公式。色差U、V是由B-Y、R-Y按不同比例压缩而成的。

(3)HSV颜色模型

HSV (色相hue,饱和度saturation, 明度value), 也称HSB (B指brightness) 是艺术家们常用的,因为与加法减法混色的术语相比,使用色相,饱和度等概念描述色彩更自然直观。HSV 是RGB色彩空间的一种变形,它的内容与色彩尺度与其出处——RGB色彩空间有密切联系。

(4)HSL颜色模型

HSL (色相hue, 饱和度saturation,亮度lightness/luminance), 也称HLS 或HSI (I指intensity) 与HSV非常相似,仅用亮度(lightness)替代了明度(brightness)。二者区别在于,一种纯色的明度等于白色的明度,而纯色的亮度等于中度灰的亮度。

由于以上颜色模型均很常见,所以各个颜色模型间的转换关系这里就不一一列出了。同时为了更加清晰了解每个色彩模型对本实验中图像的敏感程度,笔者手动合成了一张几乎包含所有可能出现的图形的图片,如图15所示。而后笔者通过MATLAB展示了图15在RGB、YUV、HSV、HIS四种颜色模型中的具体表现效果,分别如图16(a)、图16(b)、图16(c)、图16(d)所示。

图15 合成图片

(a) RGB颜色空间显示效果

(b) YUV颜色空间显示效果

(c) HSV颜色空间显示效果

(d) HSI颜色空间显示效果

图16 不同颜色空间的显示效果对比图

色彩空间分析比较:

通过分析比较,可以发现切过的水果和未切的水果,在不同的模型和分量下,显示效果相近,并未出现对某个特定的颜色空间特别敏感这一现象。有考虑到,数据读入时便是RGB形式,如果采用其他颜色空间还需要再次进行转换,无疑增加了计算量。因此笔者采用的是RGB颜色模型。因为RGB颜色模型中,B分量与背景差异最大,因此选用该分量进行后续的处理。

3.5 目标区域下采样

考虑到本文所写程序为游戏外挂,因此游戏的处理时间越短越好。因此本文从每个角度上考虑,以尽可能的减少程序占用的资源与运行时间,因此本文首先将目标区域中的1/2作为最终的目标区域,如图17中红框内的图像所示,此时图像的分辨率为760*200,数据量为760*400*3=912000 Bytes=890.6KB。因此,笔者在此将图像下采样处理,图像依旧保留原来的特征,而且最终图像的分辨率为380*100,数据量变为原目标区域的1/4大小,一定程度上减少了处理内容,提高了程序运行速度。最终图像下采样后的图像如图18所示。

图17 缩小后的目标区域示意图

图18 下采样后图像示意图

3.6 中值滤波

中值滤波[6]是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。W为二维模板,通常为3*3,5*5区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。

考虑到图像减除背景后,其B分量图像中存在少量白色噪声点,在后期的处理中会在一定程度上影响处理效果,因此本文采用中值滤波方法对图像进行铝箔处理。原图像与处理后的图像如图19和图20所示。

图19 B分量原始图

图20 中值滤波后图像

3.7膨胀与腐蚀

通过观察,发现如果图像中出现水渍的话,那么会有很多的小的轮廓出现。后续的计算中,这些小的水渍也将增加计算的时间。因此笔者采用膨胀和腐蚀处理方法对图像进行处理。

需要说明的是:OpenCV中膨胀和腐蚀均是针对白色区域进行的。本文中原始图像、腐蚀之后的图像、膨胀之后的图像如图21所示。

(a)原始图像

(b)腐蚀之后的图像

(c)膨胀之后的图像

图21 膨胀与腐蚀操作示意图

通过对比可以发现,最后经过膨胀处理后,图像中较小的水渍几乎都已经被处理掉了,效果很好。

第四章检测与识别

在基本的图像预处理之后,已经获得了较好的待处理图像。因此笔者开始着手目标的检测与识别工作。笔者选择了一些常见的方法,对图像中的未切水果、非未切水果和炸弹进行检测和识别。

4.1霍夫变换检测圆

霍夫变换简介:

计算机视觉中经常需要识别或者定位某些几何图形,比如直线、圆、椭圆,还有其他一些图形。检测直线的霍夫变换提供了在图像中寻找直线的一种算法,是最简单的一种情形,后来发展到检测圆、椭圆、还有一般图形的霍夫变换,其核心思想是把图像中属于某种图形的点集(二维)映射到一个点(可以是高维)上,这个点记录了点集中点的数目,使得程序通过搜索峰值找到该点,这个点就是后面要说到的图形的参数,而该参数的范围就叫做参数空间。

霍夫变换检测圆的原理这里不再赘述,如有需要请参考文献[8]。另外对于OpenCV下该函数原型,以及各项参数的含义这里也不再给出,如有需要请参考文献[9]。

笔者在用该函数进行识别时发现,检测效果与参数设置有很大的关系,经常会出现错误检测和漏检。错检的示意图如图22所示。通过多次尝试,笔者发现该方法错误率和漏检率太高,难以应用于本文的应用。

图22 霍夫变换检测圆示意图

4.2 边缘检测

图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。

本文采用的是OpenCV自带函数cvCanny(),函数cvCanny 采用CANNY 算法发现输入图像的边缘而且在输出图像中标识这些边缘。函数的参数这里同样不予给出,如有需要请参考文献[10]。边缘检测的示意图如图23所示。

(a) 边缘检测示意图1 (b) 边缘检测示意图2

图22 边缘检测示意图

4.3 轮廓周长与面积约束

边缘检测后,笔者发现一些边缘的轮廓很长,有一些很多;有些轮廓的面积很大,有些则很小;而这些都不是未切的水果。而在笔者查找资料的过程中发现,OpenCV中自带检测轮廓面积和周长的函数,因此笔者调用函数去除掉了这些周长和面积不符合要求的轮廓。

实际绘制后,目标的轮廓为多边形。这对于后期的再次处理有一定的影响,因此,笔者根据轮廓的位置,对目标在此处理——用矩形框框住目标轮廓。实验结果示意图如图24所示。有本图可以看出,本文的处理时间基本满足实时性的需要,单帧处理时间为25ms左右。

图24 轮廓约束并外接矩形框示意图

4.4保留检测出的样本

为了更好地分析,不同的目标之间的区别与识别,笔者编写了一个简单的小程序,保存了300张目标图像。如图25所示。

图25 目标图像示意图

4.5 样本分类

为了找出不同的目标图像之间的区别,笔者计算了各个目标矩形框的内图像的像素差值的均值和均方差,甚至还计算了目标图像的频谱信息。但是都没有找到明显的区别。当然,全黑的炸弹可以非常轻松的识别出来。

本文还通过MATLAB的imtool()工具详细观察了图像上的每一个像素值,其示意图如图26所示。

图26 查看图像的像素值示意图

4.6 颜色对比

通过多种方法,依旧没有去除掉已经切过的水果,因此笔者编写了一段小程序,检测图像中出现的特殊颜色,如图27中的红色。检测到特殊颜色后即标记这个目标区域为已经切过的水果,不再此切割。最终去除掉了已经切过的西瓜、划痕、切过的梨子等。

图27中最右侧对比图中的白色区域为检测到的红色,本文的程序即是根据这些白点的多少判断是否为未切水果。

图27 颜色对比排除示意图

第五章C++程序模拟鼠标操作

接下来,笔者学习了如何通过编写程序来模拟鼠标[11]的一系列动作。包括鼠标的单击和左键按住滑动(切水果时的动作)。虽然笔者研究了很长时间的C++模拟鼠标的操作,也查找了很多的参考资料,但是,可能是由于笔者接触Windows 编程较少,仅仅实现了鼠标的单击操作。未能实现鼠标的拖动操作。因此也导致最终本文未能完成预期的设计。

图28 模拟鼠标操作函数

第六章总结

本文,使用了多种图像处理的方法,对于游戏中的动画图像进行了大量的处理。最终成功的识别出了未切水果,当然其中包含少量的已经切过的水果。

但是由于最终没用将程序模拟鼠标操作做出来,没有达到预期的期望。但是笔者在整个程序的设计和编写过程中学到了很多。主要包括以下三点:

1、体会了课上老师所讲的多种图像处理的方法和颜色空间。

2、将OpenCV应用到了实际的程序中,体验到了OpenCV的高效与便捷。学会了很多OpenCV的API的使用方法。

3、整个程序编写耗时近3周,总共编写代码近900行。可以说一定程度上锻炼了个人的编程能力。

由于笔者的研究方向和今后所使用的研究平台均与图像处理和OpenCV息息相关,可以说这一次的锻炼对今后的学习也会有一定的帮助。

参考文献

1、瑞祯, 仕琪. OpenCV 教程: 基础篇[M]. 北京航空航天大学出版社, 2007.

2、彭建胥. API 在VB 编写游戏外挂中的应用[J]. 福建电脑, 2008 (6): 170-170.

3、https://www.360docs.net/doc/ff3203961.html,/freedomshe/archive/2012/04/25/2470540.html

4、聂洪印, 周卫东, 刘辉. 多颜色模型和综合特征下的车牌定位新方法[J]. 计算机工程与应用, 2010.

5、孟章荣. 各种颜色模型选用需求分析[J]. 中国图象图形学报: A 辑, 1996, 1(3): 238-241.

6、刘丽梅, 孙玉荣, 李莉. 中值滤波技术发展研究[J]. 云南师范大学学报: 自然科学版, 2004, 24(1): 23-27.

7、欧先锋, 贾振红, 郝军. 多结构抗噪膨胀-腐蚀型数字灰度图像边缘检测的研究[J]. 激光杂志, 2009, 30(1): 40-41.

8、朱桂英, 张瑞林. 基于Hough 变换的圆检测方法[J][J]. 计算机工程与设计, 2008, 29(6): 1462-1464.

9、https://www.360docs.net/doc/ff3203961.html,/html/exception/651/651947_651946_651949.htm

10、https://www.360docs.net/doc/ff3203961.html,/uid-26020768-id-3187984.html

11、https://www.360docs.net/doc/ff3203961.html,/hhaoma/article/details/3170778

附录:

这里给出本文程序编程过程参考的一些网络资料的链接,具体如下所示:游戏链接:

https://www.360docs.net/doc/ff3203961.html,/flash/77013_2.htm

OPENCV API相关链接:

https://www.360docs.net/doc/ff3203961.html,/xingma0910/archive/2013/07/18/3197502.html

https://www.360docs.net/doc/ff3203961.html,/uid-26404201-id-3359299.html

https://www.360docs.net/doc/ff3203961.html,/articles/Mn2EBn

https://www.360docs.net/doc/ff3203961.html,/zsdydl-Neusoft/archive/2012/09/27/2706168.html

https://www.360docs.net/doc/ff3203961.html,/xuehuic/article/details/7401181

https://www.360docs.net/doc/ff3203961.html,/resound/archive/2010/08/03/1791031.html

https://www.360docs.net/doc/ff3203961.html,/topics/310020686

https://www.360docs.net/doc/ff3203961.html,/slysky/archive/2011/10/14/2212227.html

https://www.360docs.net/doc/ff3203961.html,/s/blog_628821950100vi73.html

https://www.360docs.net/doc/ff3203961.html,/augusdi/article/details/9022793

Windows API相关链接:

https://www.360docs.net/doc/ff3203961.html,/link?url=g0nlvzoixilTaO71cYl3yiqDml0g3N-IAe-2KU UGnHtzItctHD4dyusyBANRyzN72KOSQikhxoEM8Czecndw8px27FksI18CryVClI mxZAC

MATLAB相关链接:

https://www.360docs.net/doc/ff3203961.html,/wk119911/article/details/7381268

西电计算机视觉大作业

数字水印技术 一、引言 随着互联网广泛普及的应用,各种各样的数据资源包括文本、图片、音频、视频等放在网络服务器上供用户访问。但是这种网络资源的幵放也带了许多弊端,比如一些用户非法下载、非法拷贝、恶意篡改等,因此数字媒体内容的安全和因特网上的侵权问题成为一个急需解决的问题。数字水印作为一项很有潜力的解决手段,正是在这种情况下应运而生。 数字水印(技术是将一些代表性的标识信息,一般需要经过某种适合的变换,变换后的秘密信息(即数字水印),通过某种方式嵌入数字载体(包括文档、音频、软件等)当中,但不影响原载体的使用价值,也不容易被人的知觉系统(如视觉或听觉系统)觉察或注意到。通过这些隐藏在载体中的信息,可以达到确认内容创建者、购买者、传送隐秘信息或者判断载体是否被篡改等目的。在发生产权和内容纠纷时,通过相应的算法可以提取该早已潜入的数字水印,从而验证版权的归属和内容的真伪。 二.算法原理 2.1、灰度图像水印 2.1.1基本原理 处理灰度图像数字水印,采用了LSB(最低有效位)、DCT变换域、DWT变换域三种算法来处理数字水印。在此过程中,处理水印首先将其预处理转化为二值图像,简化算法。 (1)LSB算法原理:最低有效位算法(Least Sig nificant Bit , LSB)是很常见的空间域信息隐藏算法, 该算法就是通过改变图像像素最不重要位来达到嵌入隐秘信息的效果, 该方法隐藏的信息在人的肉眼不能发现的情况下, 其嵌入方法简单、隐藏信息量大、提取方法简单等而获得广泛应用。LSB 信息嵌入过程如下: S′=S+f S ,M 其中,S 和S′分别代表载体信息和嵌入秘密信息后的载密信息;M为待嵌入的秘密信息, 而隐写分析则是从S′中检测出M以至提取M 。 (2)DCT算法原理:DCT 变换在图像压缩中有很多应用,它是JPEG,MPEG 等数据

计算机视觉第八次作业

计算机视觉第八次作业 Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

第十一章 立体视觉 习题 证明:对于校正过的图像对,在第一个摄像机的归一化坐标系内,P 点深度可 以表示为B z d =-,其中B 是基线,d 是视差。 图 11-1 一个校正图像对 证明:为了证明B z d =-,有必要根据图11-1对题目背景及符号进行说明。 符号说明: 1) ∏、'∏分别为物体平面(d ∏)对应的两个像平面; 2) O 、O '分别为第一、二个摄像机的光心,且基线长度为B OO '=; 3) p 、p '分别为物体平面d ∏中点P 在两个像平面中的投影点; 4) q 、q '分别为物体平面d ∏中点Q 在两个像平面中的投影点; 5) 0C 、0 C '分别为过光心O 、O '与基线垂直相交的点(垂足); 6) H 为过Q 点与线段O O '垂直相交的点(垂足); 7) u 、u '的方向分别表示第一、二个摄像机坐标系的横轴x 的正方向,且 彼此相互平行; 8) v 、v '的方向分别表示第一、二个摄像机坐标系的纵轴y 的正方向,且 彼此相互平行; 9) 向量0OC 、0 O C ''的方向分别表示第一、二个摄像机坐标系的z 轴正方向,且彼此相互平行; 显然,p 点和p '点位于同一条扫描线上,不妨设p 点和p '的在各自坐标系中的坐标分别为(),u v 和(),u v ',则它们的横坐标之差为视差d u u '=-。 在图11-1中,根据上述符号描述以及相似三角形性质,有

0~QHO OC q ?? ? 00OH qC QH OC = (1) ~QHO O C q ''''?? ? 0 O H q C QH O C '''= '' (2) (1)式与(2)相加得 000 OO qC q C QH OC O C '''= + '' (3) 又因为在第一个摄像机位于归一化坐标系中,即 00 1OC O C ''==; 基线B OO '=,QH z =-,0qC u =-,0q C u '''=,代入(3)式得 证毕。 证明当两个窗口的图像亮度可以用一个仿射变换I I λμ'=+相联系时,相关函 数达到最大值1,其中λ和μ为某个常数,0λ>。 证明:考虑两幅图像I 和I ',分别用向量()12,, ,T p w w w w =和 ()1 2,,,T p w w w w ''''=表示。其中,w 、p w R '∈,()()2121p m n =+?+,m 和n 为正整数。则归一化相关函数可以表示为 显然,为使()max 1C d =,则当且仅当向量w w -与向量w w ''-之间的夹角 为零时,即() ,0w w w w λλ''-=->则 或 w w λμ'=+,,0w w μλλ'=-> 所以当两个窗口的图像亮度可以用一个仿射变换I I λμ'=+相联系时,相关函数达到最大值1,其中λ和μ为某个常数,0λ>。 证毕。

西电射频大作业(精心整理)

射频大作业 基于PSpice仿真的振幅调制电路设计数字调制与解调的集成器件学习

目录 题目一:基于PSpice仿真的振幅调制电路设计与性能分析 一、实验设计要求 (3) 二、理论分析 1、问题的分析 (3) 2、差动放大器调幅的设计理论 (4) 2.1、单端输出差动放大器电路 2.2、双端输出差动放大器电路 2.3、单二极管振幅调制电路 2.4、平衡对消二极管调幅电路 三、PSpice仿真的振幅调制电路性能分析 (10) 1、单端输出差动放大器调幅电路设计图及仿真波形 2、双端输出差动放大器调幅电路设计图及仿真波形 3、单二极管振幅调制电路设计图及仿真波形 4、平衡对消二极管调幅电路设计图及仿真波形 四、实验总结 (16) 五、参考文献 题目二数字调制与解调的集成器件学习 一、实验设计要求 (17) 二、概述 (17) 三、引脚功能及组成原理 (18) 四、基本连接电路 (20) 五、参考文献 (21) 六、英文附录 (21)

题目一基于PSpice仿真的振幅调制电路设计 摘要 随着大规模集成电路的广泛发展,电子电路CAD及电子设计自动化(EDA)已成为电路分析和设计中不可缺少的工具。此次振幅调制电路仿真设计基于PSpice,利用其丰富的仿真元器件库和强大的行为建模工具,分别设计了差分对放大器和二极管振幅调制电路,由此对线性时变电路调幅有了更进一步的认识;同时,通过平衡对消技术分别衍生出双端输出的差分对放大器和双回路二极管振幅调制电路,消除了没用的频率分量,从而得到了更好的调幅效果。本文对比研究了单端输出和双端输出的差分对放大器调幅电路及单二极管和双回路二极管调幅电路,通过对比观察时域和频域波形图,可知平衡对消技术可以很好地减小失真。 关键词:PSpice 振幅调制差分对放大器二极管振幅调制电路平衡对消技术 一、实验设计要求 1.1 基本要求 参考教材《射频电路基础》第五章振幅调制与解调中有关差分对放大器调幅和二极管调幅的原理,选择元器件、调制信号和载波参数,完成PSpice电路设计、建模和仿真,实现振幅调制信号的输出和分析。 1.2 实践任务 (1) 选择合适的调制信号和载波的振幅、频率,通过理论计算分析,正确选择晶体管和其它元件;搭建单端输出的差分对放大器,实现载波作为差模输入电压,调制信号控制电流源情况下的振幅调制;调整二者振幅,实现基本无失真的线性时变电路调幅;观察记录电路参数、调制信号、载波和已调波的波形和频谱。 (2) 参考例5.3.1,修改电路为双端输出,对比研究平衡对消技术在该电路中的应用效果。 (3) 选择合适的调制信号和载波的振幅、频率,通过理论计算分析,正确选择二极管和其它元件;搭建单二极管振幅调制电路,实现载波作为大信号,调制信号为小信号情况下的振幅调制;调整二者振幅,实现基本无失真的线性时变电路调幅;观察记录电路参数、调制信号、载波和已调波的波形和频谱。 (4) 参考例5.3.2,修改电路为双回路,对比研究平衡对消技术在该电路中的应用效果。 1.3 写作报告 (1) 按论文形式撰写,包括摘要、正文和参考文献,等等。 (2) 正文包括振幅调制电路的设计原理、理论分析结果、实践任务中各阶段设计的电路、参数、波形和频谱,对观察记录的数据配以图像和表格,同时要有充分的文字做分析和对比,有规律性认识。 (3) 论文结构系统、完备、条理清晰、理论正确、数据翔实、分析完整。 1.4 相关提示 (1) 所有电路和信号参数需要各人自行决定,各人有不同的研究结果,锻炼学生的独立研究和实验分析能力。 (2) 为了提高仿真精度和减小调试难度,可以将调制信号和载波的频率设置得较低。 二、理论分析 1、问题的分析 根据题目的要求,差分对放大器和二极管振幅调制电路目的都是实现基本无

北邮模式识别课堂作业答案(参考)

第一次课堂作业 1.人在识别事物时是否可以避免错识 2.如果错识不可避免,那么你是否怀疑你所看到的、听到的、嗅 到的到底是真是的,还是虚假的 3.如果不是,那么你依靠的是什么呢用学术语言该如何表示。 4.我们是以统计学为基础分析模式识别问题,采用的是错误概率 评价分类器性能。如果不采用统计学,你是否能想到还有什么合理地分类 器性能评价指标来替代错误率 1.知觉的特性为选择性、整体性、理解性、恒常性。错觉是错误的知觉,是在特定条件下产生的对客观事物歪曲的知觉。认知是一个过程,需要大脑的参与.人的认知并不神秘,也符合一定的规律,也会产生错误 2.不是 3.辨别事物的最基本方法是计算 . 从不同事物所具有的不同属性为出发点认识事物. 一种是对事物的属性进行度量,属于定量的表示方法(向量表示法 )。另一种则是对事务所包含的成分进行分析,称为定性的描述(结构性描述方法)。 4.风险 第二次课堂作业 作为学生,你需要判断今天的课是否点名。结合该问题(或者其它你熟悉的识别问题,如”天气预报”),说明: 先验概率、后验概率和类条件概率 按照最小错误率如何决策 按照最小风险如何决策 ωi为老师点名的事件,x为判断老师点名的概率 1.先验概率: 指根据以往经验和分析得到的该老师点名的概率,即为先验概率 P(ωi ) 后验概率: 在收到某个消息之后,接收端所了解到的该消息发送的概率称为后验概率。 在上过课之后,了解到的老师点名的概率为后验概率P(ωi|x) 类条件概率:在老师点名这个事件发生的条件下,学生判断老师点名的概率p(x| ωi ) 2. 如果P(ω1|X)>P(ω2|X),则X归为ω1类别 如果P(ω1|X)≤P(ω2|X),则X归为ω2类别 3.1)计算出后验概率 已知P(ωi)和P(X|ωi),i=1,…,c,获得观测到的特征向量X 根据贝叶斯公式计算 j=1,…,x

西电数字信号处理大作业

第二章 2.25 已知线性时不变系统的差分方程为 若系统的输入序列x(x)={1,2,3,4,2,1}编写利用递推法计算系统零状态响应的MATLAB程序,并计算出结果。 代码及运行结果: >> A=[1,-0.5]; >> B=[1,0,2]; >> n=0:5; >> xn=[1,2,3,4,2,1]; >> zx=[0,0,0];zy=0; >> zi=filtic(B,A,zy,zx); >> yn=filter(B,A,xn,zi); >> figure(1) >> stem(n,yn,'.'); >> grid on;

2.28图所示系统是由四个子系统T1、T2、T3和T4组成的,分别用单位脉冲响应或差分方程描述为 T1: 其他 T2: 其他 T3: T4: 编写计算整个系统的单位脉冲响应h(n),0≤n≤99的MATLAB程序,并计算结果。 代码及结果如下: >> a=0.25;b=0.5;c=0.25; >> ys=0; >> xn=[1,zeros(1,99)]; >> B=[a,b,c]; >> A=1; >> xi=filtic(B,A,ys); >> yn1=filter(B,A,xn,xi); >> h1=[1,1/2,1/4,1/8,1/16,1/32]; >> h2=[1,1,1,1,1,1]; >> h3=conv(h1,h2); >> h31=[h3,zeros(1,89)]; >> yn2=yn1+h31; >> D=[1,1];C=[1,-0.9,0.81]; >> xi2=filtic(D,C,yn2,xi); >> xi2=filtic(D,C,ys); >> yn=filter(D,C,yn2,xi); >> n=0:99; >> figure(1) >> stem(n,yn,'.'); >> title('单位脉冲响应'); >> xlabel('n');ylabel('yn');

机器人视觉大作业

机器人视觉论文 论文题目:基于opencv的手势识别院系:信息科学与工程学院 专业:信号与信息处理 姓名:孙竟豪 学号:21160211123

摘要 文中介绍了一种易于实现的快速实时手势识别算法。研究借助计算机视觉库OpenCV和微软Visual Studio 2008 搭建开发平台,通过视频方式实时提取人的手势信息,进而经二值化、膨胀腐蚀、轮廓提取、区域分割等图像处理流程甄别出当前手势中张开的手指,识别手势特征,提取出人手所包含的特定信息,并最终将手势信息作为控制仪器设备的操作指令,控制相关设备仪器。 0、引言 随着现代科技的高速发展及生活方式的转变,人们越发追求生活、工作中的智能化,希望享有简便、高效、人性化的智能操作控制方式。而伴随计算机的微型化,人机交互需求越来越高,人机友好交互也日益成为研发的热点。目前,人们已不仅仅满足按键式的操作控制,其目光已转向利用人体动作、表情变化等更加方便、友好、直观地应用智能化交互控制体系方面。近年来,国内外科学家在手势识别领域有了突破性进展。1993 年B.Thamas等人最先提出借助数据手套或在人手粘贴特殊颜色的辅助标记来进行手势动作的识别,由此开启了人们对手势识别领域的探索。随后,手势识别研究成果和各种方式的识别方法也纷然出现。从基于方向直方图的手势识别到复杂背景手势目标的捕获与识别,再到基于立体视觉的自然手势识别,每次探索都是手势识别领域内的重大突破。 1 手势识别流程及关键技术 本文将介绍一种基于 OpenCV 的实时手势识别算法,该算法是在现有手势识别技术基础上通过解决手心追踪定位问题来实现手势识别的实时性和高效性。 基于 OpenCV 的手势识别流程如图 1 所示。首先通过视频流采集实时手势图像,而后进行包括图像增强、图像锐化在内的图像预处理,目的是提高图像清晰度并明晰轮廓边缘。根据肤色在 YCrCb 色彩空间中的自适应阈值对图像进行二值化处理,提取图像中所有的肤色以及类肤色像素点,而后经过膨胀、腐蚀、图像平滑处理后,祛除小块的类肤色区域干扰,得到若干块面积较大的肤色区域; 此时根据各个肤色区域的轮廓特征进行甄选,获取目标手势区域,而后根据目标区域的特征进行识别,确定当前手势,获取手势信息。

计算机视觉应用专题报告

二、技术应用场景及典型厂商分析 1.计算机视觉技术已应用于传统行业和前沿创新,安全/娱乐/营销成最抢先落地的商业化领域 计算机视觉技术已经步入应用早期阶段,不仅渗透到传统领域的升级过程中,还作为最重要的基础人工智能技术参与到前沿创新的研究中。 本报告将重点关注技术对传统行业的影响。其中,计算机对静态内容的识别应用主要体现在搜索变革和照片管理等基础服务层面,意在提升产品体验;伴随内容形式的变迁(文字→图片→视频),动态内容识别的需求愈加旺盛,安全、娱乐、营销成为最先落地的商业化领域。 Analysys易观认为,这三类领域均有一定的产业痛点,且均是视频内容产出的重地,数据体量巨大,适合利用深度学习的方式予以改进。与此同时,行业潜在的商业变现空间也是吸引创业者参与的重要原因。 另一方面,当前计算机视觉主要应用于二维信息的识别,研究者们还在积极探索计算机对三维空间的感知能力,以提高识别深度。

2.计算机视觉的应用从软硬件两个层面优化安防人员的作业效率和深度 安防是环境最为复杂的应用领域,通常的应用场景以识别犯罪嫌疑人、目标车辆(含套牌车/假牌车)以及真实环境中的异常为主。 传统安防产品主要功能在于录像收录,只能为安防人员在事后取证的环节提供可能的线索,且需要人工进行反复地逐帧排查,耗时耗力;智能安防则是将视频内容结构化处理,通过大数据分析平台进行智能识别搜索,大大简化了工作难度,提高工作效率。 除此之外,在硬件层面上,传统安防产品超过4-5米的监控内容通常无法达到图像识别的像素要求,并容易受复杂环境中光影变化和移动

遮挡的影响而产生信息丢失,因此计算机会出现大量的误报漏报,这些局限为治安工作造成了一定的阻碍。 安防技术厂商在此基础上进行了创新,以格灵深瞳为例,目前已将摄像头的有效识别距离稳定至70-80米,同时开创了三维计算机视觉的应用,通过整合各类传感器达到类人眼的效果,减弱了环境对信息采集的负面影响,提高复杂环境下的识别准确度。 Analysys易观认为,计算机视觉的应用从行业痛点出发,以软硬件的方式大大优化了安防人员的作业效率与参考深度,是顺应行业升级的利好。不过,在实际应用过程中,对公安、交警、金融等常见安防需求方而言,更强的视觉识别效果往往意味着更多基础成本(存储、带宽等)的投入,安防厂商的未来将不只以技术高低作为唯一衡量标准,产品的实用性能与性价比的平衡才是进行突围、实现量产的根本,因此市场除了有巨大的应用空间外,还会引发一定的底层创新。

人工神经网络大作业

X X X X大学 研究生考查课 作业 课程名称:智能控制理论与技术 研究生姓名:学号: 作业成绩: 任课教师(签名) 交作业日时间:2010年12月22日

人工神经网络(artificial neural network,简称ANN)是在对大脑的生理研究的基础上,用模拟生物神经元的某些基本功能元件(即人工神经元),按各种不同的联结方式组成的一个网络。模拟大脑的某些机制,实现某个方面的功能,可以用在模仿视觉、函数逼近、模式识别、分类和数据压缩等领域,是近年来人工智能计算的一个重要学科分支。 人工神经网络用相互联结的计算单元网络来描述体系。输人与输出的关系由联结权重和计算单元来反映,每个计算单元综合加权输人,通过激活函数作用产生输出,主要的激活函数是Sigmoid函数。ANN有中间单元的多层前向和反馈网络。从一系列给定数据得到模型化结果是ANN的一个重要特点,而模型化是选择网络权重实现的,因此选用合适的学习训练样本、优化网络结构、采用适当的学习训练方法就能得到包含学习训练样本范围的输人和输出的关系。如果用于学习训练的样本不能充分反映体系的特性,用ANN也不能很好描述与预测体系。显然,选用合适的学习训练样本、优化网络结构、采用适当的学习训练方法是ANN的重要研究内容之一,而寻求应用合适的激活函数也是ANN研究发展的重要内容。由于人工神经网络具有很强的非线性多变量数据的能力,已经在多组分非线性标定与预报中展现出诱人的前景。人工神经网络在工程领域中的应用前景越来越宽广。 1人工神经网络基本理论[1] 1.1神经生物学基础 可以简略地认为生物神经系统是以神经元为信号处理单元,通过广泛的突触联系形成的信息处理集团,其物质结构基础和功能单元是脑神经细胞即神经元(neu ron)。(1)神经元具有信号的输入、整合、输出三种主要功能作用行为。突触是整个神经系统各单元间信号传递驿站,它构成各神经元之间广泛的联接。(3)大脑皮质的神经元联接模式是生物体的遗传性与突触联接强度可塑性相互作用的产物,其变化是先天遗传信息确定的总框架下有限的自组织过程。 1.2建模方法 神经元的数量早在胎儿时期就已固定,后天的脑生长主要是指树突和轴突从神经细胞体中长出并形成突触联系,这就是一般人工神经网络建模方法的生物学依据。人脑建模一般可有两种方法:①神经生物学模型方法,即根据微观神经生物学知识的积累,把脑神经系统的结构及机理逐步解释清楚,在此基础上建立脑功能模型。②神经计算模型方法,即首先建立粗略近似的数学模型并研究该模型的动力学特性,然后再与真实对象作比较(仿真处理方法)。 1.3概念 人工神经网络用物理可实现系统来模仿人脑神经系统的结构和功能,是一门新兴的前沿交叉学科,其概念以T.Kohonen.Pr的论述最具代表性:人工神经网络就是由简单的处理单元(通常为适应性)组成的并行互联网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。 1.4应用领域 人工神经网络在复杂类模式识别、运动控制、感知觉模拟方面有着不可替代的作用。概括地说人工神经网络主要应用于解决下述几类问题:模式信息处理和模式识别、最优化问题、信息的智能化处理、复杂控制、信号处理、数学逼近映射、感知觉模拟、概率密度函数估计、化学谱图分析、联想记忆及数据恢复等。 1.5理论局限性 (1)受限于脑科学的已有研究成果由于生理试验的困难性,目前对于人脑思维与记忆机制的认识尚很肤浅,对脑神经网的运行和神经细胞的内部处理机制还没有太多的认识。 (2)尚未建立起完整成熟的理论体系目前已提出的众多人工神经网络模型,归纳起来一般都是一个由节点及其互连构成的有向拓扑网,节点间互连强度构成的矩阵可通过某种学

西电数据结构大作业

题目:数据结构上机报告学院:电子工程学院 专业:信息对抗技术 学生姓名:甘佳霖 学号:14020310092

西安电子科技大学 数据结构课程实验报告实验名称线性表 电子工程学院 1402031 班Array姓名甘佳霖学号 14020310092 同作者 实验日期 2017 年 3 月 18 日

实验一线性表 一、实验目的 1.熟悉线性表的顺序和链式存储结构 2.掌握线性表的基本运算 3.能够利用线性表的基本运算完成线性表应用的运算 二、实验要求 1.设有一个线性表E={e1, e2, … , e n-1, e n},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={ e n, e n-1 , … , e2 , e1 },要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。 2.已知由不具有头结点的单链表表示的线性表中,含有三类字符的数据元素(字母、数字和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含有同一类的字符,且利用原表中的结点空间,头结点可另辟空间。 三、设计思路 1.顺序表做逆置操作时将对应的首尾元素位置交换,单链表的指针end指向链表的末尾,指针start指向链表头结点,指针s用来找到指向end节点的节点,将指向链表末尾和头结点的存储内容交换,然后头结点指针指向下一节点,s指针从start节点开始遍历寻找指向end 指针的节点,并将end指针赋值为s指针,就完成了单链表的逆置,可以看出单链表和顺序表都可以完成线性表的逆置。 2.分解单链表的实现思路是首先新建3个循环链表,然后顺序遍历单链表,ASCII码判断链表中的元素属于哪一类元素,然后将这个元素添加到对应的循环链表中,从而实现分解单链表的功能。 四、运行结果 1.单链表逆置:

人工神经网络大作业

X X X X 大学 研究生考查课 作业 课程名称:智能控制理论与技术 研究生姓名:学号: 作业成绩: 任课教师(签名) 交作业日时间:2010 年12 月22 日

人工神经网络(artificial neural network,简称ANN)是在对大脑的生理研究的基础上,用模拟生物神经元的某些基本功能元件(即人工神经元),按各种不同的联结方式组成的一个网络。模拟大脑的某些机制,实现某个方面的功能,可以用在模仿视觉、函数逼近、模式识别、分类和数据压缩等领域,是近年来人工智能计算的一个重要学科分支。 人工神经网络用相互联结的计算单元网络来描述体系。输人与输出的关系由联结权重和计算单元来反映,每个计算单元综合加权输人,通过激活函数作用产生输出,主要的激活函数是Sigmoid函数。ANN有中间单元的多层前向和反馈网络。从一系列给定数据得到模型化结果是ANN的一个重要特点,而模型化是选择网络权重实现的,因此选用合适的学习训练样本、优化网络结构、采用适当的学习训练方法就能得到包含学习训练样本范围的输人和输出的关系。如果用于学习训练的样本不能充分反映体系的特性,用ANN也不能很好描述与预测体系。显然,选用合适的学习训练样本、优化网络结构、采用适当的学习训练方法是ANN的重要研究内容之一,而寻求应用合适的激活函数也是ANN研究发展的重要内容。由于人工神经网络具有很强的非线性多变量数据的能力,已经在多组分非线性标定与预报中展现出诱人的前景。人工神经网络在工程领域中的应用前景越来越宽广。 1人工神经网络基本理论[1] 1. 1神经生物学基础 可以简略地认为生物神经系统是以神经元为信号处理单元, 通过广泛的突触联系形成的信息处理集团, 其物质结构基础和功能单元是脑神经细胞即神经元(neu ron)。(1) 神经元具有信号的输入、整合、输出三种主要功能作用行为。突触是整个神经系统各单元间信号传递驿站, 它构成各神经元之间广泛的联接。(3) 大脑皮质的神经元联接模式是生物体的遗传性与突触联接强度可塑性相互作用的产物, 其变化是先天遗传信息确定的总框架下有限的自组织过程。 1. 2建模方法 神经元的数量早在胎儿时期就已固定,后天的脑生长主要是指树突和轴突从神经细胞体中长出并形成突触联系, 这就是一般人工神经网络建模方法的生物学依据。人脑建模一般可有两种方法: ①神经生物学模型方法, 即根据微观神经生物学知识的积累, 把脑神经系统的结构及机理逐步解释清楚, 在此基础上建立脑功能模型。②神经计算模型方法, 即首先建立粗略近似的数学模型并研究该模型的动力学特性, 然后再与真实对象作比较(仿真处理方法)。 1. 3概念 人工神经网络用物理可实现系统来模仿人脑神经系统的结构和功能, 是一门新兴的前沿交叉学科, 其概念以T.Kohonen. Pr 的论述最具代表性: 人工神经网络就是由简单的处理单元(通常为适应性) 组成的并行互联网络, 它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。 1. 4应用领域 人工神经网络在复杂类模式识别、运动控制、感知觉模拟方面有着不可替代的作用。概括地说人工神经网络主要应用于解决下述几类问题: 模式信息处理和模式识别、最优化问题、信息的智能化处理、复杂控制、信号处理、数学逼近映射、感知觉模拟、概率密度函数估计、化学谱图分析、联想记忆及数据恢复等。 1. 5理论局限性 (1) 受限于脑科学的已有研究成果由于生理试验的困难性, 目前对于人脑思维与记忆机制的认识尚很肤浅, 对脑神经网的运行和神经细胞的内部处理机制还没有太多的认识。 (2) 尚未建立起完整成熟的理论体系目前已提出的众多人工神经网络模型,归纳起来一般都是一个由节点及其互连构成的有向拓扑网, 节点间互连强度构成的矩阵可通过某种学

北邮模式识别课堂作业答案(参考)

第一次课堂作业 ? 1.人在识别事物时是否可以避免错识? ? 2.如果错识不可避免,那么你是否怀疑你所看到的、听到的、嗅到的到底 是真是的,还是虚假的? ? 3.如果不是,那么你依靠的是什么呢?用学术语言该如何表示。 ? 4.我们是以统计学为基础分析模式识别问题,采用的是错误概率评价分类 器性能。如果不采用统计学,你是否能想到还有什么合理地分类器性能评价指标来替代错误率? 1.知觉的特性为选择性、整体性、理解性、恒常性。错觉是错误的知觉,是在特定条件下产生的对客观事物歪曲的知觉。认知是一个过程,需要大脑的参与.人的认知并不神秘,也符合一定的规律,也会产生错误 2.不是 3.辨别事物的最基本方法是计算.从不同事物所具有的不同属性为出发点认识事物.一种是对事物的属性进行度量,属于定量的表示方法(向量表示法)。另一种则是对事务所包含的成分进行分析,称为定性的描述(结构性描述方法)。 4.风险 第二次课堂作业 ?作为学生,你需要判断今天的课是否点名。结合该问题(或者其它你熟悉的识别问题, 如”天气预报”),说明: ?先验概率、后验概率和类条件概率? ?按照最小错误率如何决策? ?按照最小风险如何决策? ωi为老师点名的事件,x为判断老师点名的概率 1.先验概率:指根据以往经验和分析得到的该老师点名的概率,即为先验概率P(ωi ) 后验概率:在收到某个消息之后,接收端所了解到的该消息发送的概率称为后验概率。 在上过课之后,了解到的老师点名的概率为后验概率P(ωi|x) 类条件概率:在老师点名这个事件发生的条件下,学生判断老师点名的概率p(x| ωi ) 2. 如果P(ω1|X)>P(ω2|X),则X归为ω1类别 如果P(ω1|X)≤P(ω2|X),则X归为ω2类别 3.1)计算出后验概率 已知P(ωi)和P(X|ωi),i=1,…,c,获得观测到的特征向量X 根据贝叶斯公式计算 j=1,…,x 2)计算条件风险

计算机辅助几何设计大作业

Bezier曲线和B样条曲线的研究 高晶英 (内蒙古民族大学数学学院,内蒙古通辽028000) 摘要:本文简单的介绍了计算机辅助几何设计的历史背景以及计算机辅助几何中的Bezier 曲线和B样条曲线的概念. 关键词:计算机辅助几何设计;Bezier曲线;B样条曲线 THE RESEARCH OF BEZIER CURVE AND B-SPLINE CURVE Gao Jingying (Inner Mongolia University for the Nationalities College of Mathematics, Inner Mongolia Tongliao 028000 ) Abstract: This paper briefly describes the historic background of computer-aided geometric design and concept of Bezier curve and B-spine curve. Key words: Computer-aided geometric design; Bezier curve; B-spine curve 1 引言 计算机辅助几何设计(CAGD)主要研究以复杂方式自由变化的曲线曲面,即所谓的自由型曲线曲面,其中参数曲线曲面造型与形状调整是CAGD的一个重要内容。它起源于汽车制造、飞机、船舶的数学放样和外形设计,随着计算机的出现二产生并迅速发展起来的一门独立的新兴交叉学科。它与近代数学的许多分支学科,如应用数值分析、逼近论、微分几何、应用计算方法、代数几何学、高等代数、拓扑学、微分方程与偏微分方程、分形学、小波分析等,并与一些应用性较强的现代科技知识相互渗透,如计算几何、实体造型、图形图像学、数据结构、计算机程序语言、机械设计和加工制造等学科,是计算机辅助设计、计算机辅助制造等应用系统设计开发的理论基础。CAGD主要解决在计算机图像系统的环境下对几何外形信息的计算机表示、逼近以及用计算机控制、分析有关形状信息等问题。随着计算机技术的飞速发展,计算机辅助几何设计在近三十年来也得到了飞速发展。其研究工作开始于二十世纪六十年代,在几代学者的共同努力下,曲线曲面的表示和造型已形成了较为完备的几何理论体系。CAGD的造型方法和相关的理论已广泛地应用于其他技术领域,如游戏动画制作、计算机视觉、工业造型、建筑设计等。 曲线曲面造型理论是CAGD和CG(Computer Graphics:计算机图形)的重要的内容之一,即研究用计算机来表示、分析、显示和设计关于曲线曲面的相关问题自上世纪六十年代由Coon、Bezier等大师奠定其理论基础以来,已经取得了长足的发展。 工业产品的外形一般可分为两大类:一类是如平面、圆、圆锥面、柱面、球面、等解析曲面组成的外形,许多的机械零件都是归属于这一类,通过利用画法几何和机械制图就可以清楚地表示、传递它内存的形状信息。第二类通常是不能借助初等解析式来表示的曲面构成,而是以较为复杂的方式自由变化的曲线曲面,也就是通常意义下的自由形状的曲线、曲面构成,例如轮船、汽车、飞机等零部件外形。CAGD的主要研究对性是自由形状的曲线、曲面,CAGD的首要任务是建立曲线或曲面的数学模型,即利用直观有效的曲线曲面造型设计技术来对曲线曲面进行恰当的表示、清晰的显示和快速的处理。自由曲线曲面通常用参数方程来表示,相应的曲线或曲面被称为参数曲线或参数曲面。 2 Bezier曲线的研究 Bezier曲线是以“逼近”为基础, 先勾画折线多边形、然后用光滑的参数曲线去逼近这

简单好上手的图像分类教程!

简单好上手的图像分类教程! 今天,Google AI再次放出大招,推出一个专注于机器学习实践的“交互式课程”,第一门是图像分类机器学习实践,已有超过10000名谷歌员工使用这个教程构建了自己的图像分类器。内容简明易上手,不妨来试。 几个月前,Google AI教育项目放出大福利,将内部机器学习速成课程(MLCC)免费开放给所有人,以帮助更多开发人员学习和使用机器学习。 今天,Google AI再次放出大招,推出一个专注于机器学习实践的“交互式课程”。公开的第一门课程是谷歌AI团队与图像模型方面的专家合作开发的图像分类机器学习实践。 这个动手实践课程包含视频、文档和交互式编程练习,分步讲解谷歌最先进的图像分类模型是如何开发出来的。这一图像分类模型已经在Google相册的搜索功能中应用。迄今为止,已经有超过10000名谷歌员工使用这个实践指南来训练自己的图像分类器,识别照片上的猫和狗。 在这个交互式课程中,首先,你将了解图像分类是如何工作的,学习卷积神经网络的构建模块。然后,你将从头开始构建一个CNN,了解如何防止过拟合,并利用预训练的模型进行特征提取和微调。 机器学习实践:图像分类 学习本课程,你将了解谷歌state-of-the-art的图像分类模型是如何开发出来的,该模型被用于在Google Photos中进行搜索。这是一个关于卷积神经网络(CNN)的速成课程,在学习过程中,你将自己构建一个图像分类器来区分猫的照片和狗的照片。 预计完成时间:90~120 分钟 先修要求 已学完谷歌机器学习速成课程,或有机器学习基本原理相关的经验。 精通编程基础知识,并有一些Python编程的经验 在2013年5月,谷歌发布了对个人照片进行搜索的功能,用户能够根据照片中的对象在

计算机视觉第二次作业实验报告

大学计算机视觉实验报告 摄像机标定 :振强 学号:451 时间:2016.11.23

一、实验目的 学习使用OpenCV并利用OpenCV进行摄像机标定,编程实现,给出实验结果和分析。 二、实验原理 2.1摄像机标定的作用 在计算机视觉应用问题中,有时需要利用二位图像还原三维空间中的物体,从二维图像信息出发计算三维空间物体的几何信息的过程中,三维空间中某点的位置与二维图像中对应点之间的相互关系是由摄像机的几何模型决定的,这些几何模型的参数就是摄像机参数,而这些参数通常是未知的,摄像机标定实验的作用就是通过计算确定摄像机的几何、光学参数,摄像机相对于世界坐标系的方位。 2.2摄像机标定的基本原理 2.2.1摄像机成像模型 摄像机成像模型是摄像机标定的基础,确定了成像模型才能确定摄像机外参数的个数和求解的方法。计算机视觉研究中,三维空间中的物体到像平面的投影关系即为成像模型,理想的投影成像模型是光学中的中心投影,也称为针孔模型。实际摄像系统由透镜和透镜组组成,可以由针孔模型近似模拟摄像机成像模型。 图2.1 针孔成像 2.2.2坐标变换 在实际摄像机的使用过程中,为方便计算人们常常设置多个坐标系,因此空间点的成像过程必然涉及到许多坐标系之间的相互转化,下面主要阐述几个重要坐标系之间的转换关系。

2.2.2.1世界坐标系--摄像机坐标系 图2.2 世界坐标系与摄像机坐标系空间关系 世界坐标系与摄像机坐标系之间的转换关系为: ????? ? ????????????=???? ????????111w w w T c c c Z Y X O T R Z Y X R 和T 分别是从世界坐标系到摄像机坐标系的旋转变换和平移变换系数,反映的是世界坐标系和摄像机坐标系之间的关系,因此称为外参数。 2.2.2.2物理坐标系--像素坐标系 图2.3 像素坐标系

算法设计与分析课程大作业

题目作业调度问题及算法分析 学院名称:计算机与信息工程学院 专业名称:计算机科学与技术

目录 《算法设计与分析》课程大作业.................................................................... 错误!未定义书签。一.动态规划算法解决流水作业调度. (4) 1、问题描述 (4) 2、算法分析 (4) 3. 算法的描述 (5) 4、部分算法实现 (6) 5. 运行结果 (8) 6、时空效率分析 (8) 二.贪心算法解多机调度问题 (8) 1、问题描述 (8) 2、算法分析 (9) 3.部分算法实现 (9) 4.计算复杂性分析 (11) 5. 运行结果 (12) 三.回溯法解决批作业调度问题 (12) 1.问题描述 (12) 2.算法思想 (13) 3. 部分算法实现 (14) 4.运行结果 (15) 5.时间复杂性分析 (15) 四.作业调度算法比较 (16) 五.课程学习总结 (16)

摘要: 在现代企业中,作业调度已成为提高资源利用率、从而提高企业运行效益的关键环节之一。把各个作业分配到车间现有的设备上,并确定它们的先后次序,这是一项复杂的工作本文就作业调度排序问题进行了研究,通过对几个经典作业调度算法的分析讨论,总结了各个算法对作业调度的求解过程,并给出了每个算法的复杂度及性能分析。 关键词:作业调度;动态规划;贪心算法;回溯法;

一.动态规划算法解决流水作业调度 1、问题描述 给定n 个作业,每个作业有两道工序,分别在两台机器上处理。一台机器一次只能处理一道工序,并且一道工序一旦开始就必须进行下去直到完成。一个作业只有在机器1上的处理完成以后才能由机器2处理。假设已知作业i 在机器j 上需要的处理时间为t[i,j]。流水作业调度问题就是要求确定一个作业的处理顺序使得尽快完成这n 个作业。 2、算法分析 直观上,一个最优调度应使机器M1没有空闲时间,且机器M2的空闲时间最少。在一般情况下,机器M2上会有机器空闲和作业积压2种情况。 在一般情况下,机器M1开始加工S 中作业时,机器M2还在加工其他作业,要等时间t 后才可利用。将这种情况下完成S 中作业所需的最短时间记为T(S,t)。流水作业调度问题的最优值为T(N,0)。 由流水作业调度问题的最优子结构性质可知, )}},{({min )0,(1i i n i b i N T a N T -+=≤≤(1)

《计算机图形学基础》第一次作业参考答案

《计算机图形学基础》第一次作业参考答案 一、名词解释 1、计算机图形学:是使用计算机通过算法和程序在显示设备上构造出图形来,是真实物体或虚构物体的图形综合技术。 2、图像处理:是景物或图象的分析技术,它所研究的是计算机图形学的逆过程。包括图象增强、模式识别、景物分析、计算机视觉等,并研究如何从图象中提取二维或三维物体的模型。 3、逐点比较法:这是绘图仪经常采用的一种方法,就是在绘图过程中,绘图笔每画一笔,就与规定图形进行比较,然后决定下一步的走向,用步步逼近的方法画出规定的图形。 4、造型技术:要在计算机中构造三维物体的一幅图像,首先必须在计算机中构造出该物体的模型,这一模型是由一批几何数据及数据之间的拓朴关系来表示,这就是造型技术。 二、简答 1、计算机图形系统的组成包括哪些? 答:计算机图形系统由硬件和软件两部分组成,硬件包括:主计算机、图形显示器以及I/O交互工具和存储设备;软件包括操作系统、高级语言、图形软件和应用软件。 现代计算机图形系统与一般计算机系统最主要的差别是具有图形的输入、输出设备以及必要的交互工具,在速度和存储容量上具有较高的要求。另外,人也是这个系统的组成部分。 2、简述图形软件的组成。 答:图形软件系统应该具有良好的结构,要有合理的层次结构的模块结构,以便于设计、维护和调试。 1、零级图形软件:是最底层的软件,主要解决图形设备与主机的通讯、接口等问题,又称设备驱动程序,是一些最基本的输入、输出子程序,要求程序质量高,它是面向系统的,而不是面向用户的。 2、一级图形软件:又称基本子程序,包括生成基本图形元素,对设备进行管理的各程序模块,既面向系统又面向用户。 3、二级图形软件:也称功能子程序,是在一级图形软件基础上编制的,其主要任务是建立图形数据结构,定义、修改和输出图形;以及建立各图形设备之间的联系,要具有较强的交互功能,它是面向用户的。(以上三级通常称为支撑软件) 4、三级图形软件:是为解决某种应用问题的图形软件,是整个应用软件的一部分,通常由用户编写或与设计者一起编写。 三、算法实现 写出Bresenham方法生成直线的C语言算法。 答案: int bres_line(int x1,int y1,int x2,int y2,int color) { int oldcolor,itag; int dx,dy,tx,ty,inc1,inc2,d,curx,cury; oldcolor=setcolor(color);

人工智能大作业

人工智能大作业 人工智能课程 考查论文 学号 姓名 系别 年级 专业 人工智能大作业 (1)什么是人工智能, 人工智能(Artificial Intelligence) ,英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。 人工智能的定义可以分为两部分,即“人工”和“智能”。“人工”比较好理解,争议性也不大。有时我们会要考虑什么是人力所能及制造的,或者人自身的智能程度有没有高到可以创造人工智能的地步,等等。但总的来说,“人工系统”就是通常意义下的人工系统。 人工智能是计算机学科的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪(基因工程、纳米科学、人工智能)三大尖端技术之一。这是因为近三十年来它获得了迅速

的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐步成为一个独立的分支,无论在理论和实践上都已自成一个系统。 人工智能(Artificial Intelligence,AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,但没有一个统一的定义。 (2)简述人工智能的研究内容与研究目标、人工智能的研究途径和 方法、人工智能的研究领域。 A. 人工智能的研究内容: 1、搜索与求解: 为了达到某一目标而多次地进行某种操作、运算、推理或计算的过程。事实上,搜索是人在求解问题时而不知现成解法的情况下所采用的一种普遍方法。许多问题(包括智力问题和实际工程问题)的求解都可以描述为或归结为对某种图或空间的搜索问题。搜索技术就成为人工智能最基本的研究内容 2、学习与发现: 学习与发现是指机器的知识学习和规律发现。事实上,经验积累能力、规律发现能力和知识学习能力都是智能的表现 3、知识与推理: 知识就是力量,知识就是智能,发现客观规律,运用知识解决问题都是有智能的表现,而且是最为基本的一种表现。发现规律和运用知识本身还需要知识,因此知识是智能的基础和源泉。研究面向机器的知识表示形式和基于各种表示的机器推理技术:知识表示要求便于计算机的接受、存储、处理和运用,机器的推理方式与知识的表示又息息相关 4、发明与创造:

相关文档
最新文档