




已阅读5页,还剩56页未读, 继续免费阅读
基于计算机视觉的多点触摸系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海大学 硕士学位论文 基于计算机视觉的多点触摸系统的设计与实现 姓名 李谦升 申请学位级别 硕士 专业 设计艺术学 数码交互艺术研究 指导教师 汪大伟 20080401 上海大学硕士学位论文 摘要 多点触摸技术是人机交互领域中一个研究的热门技术 这种崭新的交互方式 建立了人与机器之间自然的交流界面 由于技术条件等原因上的限制 目前还没 有广泛使用在商业领域 但像M i c r o s o f t N Y l7 等著名公司和研究机构已经推出 了基于多点触摸的演示视频和应用案例 将该技术作为一种未来的交互概念推广 向了大众 可以预见 在不远的将来 多点触摸系统将更加深入我们的生活 本文主要通过构建基于计算机视觉技术的多点触摸系统 从而对多点触摸系 统的内部原理和特点进行一些讨论 最后通过一个实际的多点触摸系统和在这个 系统之上创作的一个数码交互艺术作品 城市百态 来对多点系统的应用提出自 己的看法 关键词 多点触摸 计算机视觉 数码交互艺术 算法 V 上海大学硕士学位论文 A B S T R A C T M u l t i t o u c ht e c h n i q u ei sav e r yp o p u l a rf i e l di nH u m a n C o m p u t e rI n t e r f a c e H C I M u l t i t o u c hc o n s t r u c tan a t u r a li n t e r f a c eb e t w e e nt h eh u m a na n dc o m p u t e r B e c a u s e o ft h et e c h n i q u er e a s o n i t sn o tu s e dv e r ym u c hi nb u s i n e s s H o w e v e r l i k eM i c r o s o f t N Y Ua n do t h e rf a m o u sc o m p a n ya n dr e s e a r c hi n s t i t u t i o ni ss p r e a d i n gt h eM u l t i t o u c h a st h ef u t u r ei n t e r f a c e A sw ec a ns e e M u l t i t o u c hw i l lp l a ya ni m p o r t a n tr o l ei nO U r V i at h ep r o c e s so fc o n s t r u c t i o na nM u l t i t o u c hs y s t e m t h i sa r t i c l em a i n l yd i s c u s st h e p r i n c i p l ea n dc h a r a c t e r i s t i co fM u l t i t o u c hs y s t e m F i n a l l y a c c o r d i n gt oa m u l t i t o u c h s y s t e mw h i c hw eb u i l da n da nD i g i t a lA r t w o r kb a s e do ni t r l lp o i n ts o m ea d v i s e a b o u th o wt oa p p l i c a t i o nt h em u l t i t o u c hs y s t e m K e y w o r d s M u l t i t o u c h C o m p u t e rV i s i o n D i g i t a lA r t A l g o r i t h m V I 上海大学硕士学位论文 原创性声明 本人声明 所呈交的论文是本人在导师指导下进行的研究工作 除了文中特别加以标注和致谢的地方外 论文中不包含其他人已发表 或撰写过的研究成果 参与同一工作的其他同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意 签名 本论文使用授权说明 本人完全了解上海大学有关保留 使用学位论文的规定 即 学 校有权保留论文及送交论文复印件 允许论文被查阅和借阅 学校可 以公布论文的全部或部分内容 保密的论文在解密后应遵守此规定 签名 导师签名 日期 姿整 生 上海大学硕士学位论文 第一章绪论 1 1 选题的背景和意义 1 1 1 人机交互学 从计算机发明以来 人与机器交互的问题就已经出现了 只不过早期的电脑 使用者都是计算机科学家 从而复杂的操作也并没有导致很大的问题 再加上当 时机器性能的限制 不可能将多余的计算能力用于用户界面 所以早期的计算机 操作界面是十分晦涩难懂的 但到了八十年代 随着个人电脑的出现 计算机所 面对的用户已经从科学家变为了普通大众 这个时候人机交互问题就越发的严重 起来 如何使计算机拥有一个简单 友好的界面成了许多人机交互专家所面临的 问题 目前国内外人机交互领域的专家一般将交互方式分为以下几个阶段1 1 早期的手工作业阶段 当时交互的特点是由设计者本人 或本部门同事 来使用计算机 他们采用手工操作和依赖机器 二进制机器代码 的方法去适应现 在看来是十分笨拙的计算机 2 作业控制语言及交互命令语言阶段 这一阶段的特点是计算机的主要 使用者 程序员 可采用批处理作业语言或交互命令语言的方式和计算机打交道 虽然要记忆许多命令和熟练地敲键盘 但已可用较方便的手段来调试程序 了解 计算机执行情况 3 图形用户界面 G U I 阶段 G U I 的主要特点是桌面隐喻2 由于G U I 简 明易学 减少了敲键盘 实现了事实上的标准化 因而使不懂计算机的普通用户 也可以熟练地使用 开拓了用户人群 它的出现使信息产业得到空前的发展 4 网络用户界面的出现 以超文本标记语言H T M L 及超文本传输协议H T T P 为主要基础的网络浏览器是网络用户界面的代表由它形成的W w w 网已经成为当 今I n t e r n e t 的支柱这类人机交互技术的特点是发展快 新的技术不断出现 如 1 引自h t t p b a i k e b a i d u c o m v i e w 5 2 3 2 9 7 h t m 2 W l M P 技术 直接操纵和所见即所得 W Y S I W Y G 1 上海大学硕士学位论文 搜索引擎 网络加速 多媒体动画 聊天工具等 5 多通道 多媒体的智能人机交互阶段 以虚拟现实为代表的计算机系 统的拟人化和以手持电脑 智能手机为代表的计算机的微型化 随身化 嵌入化 是当前计算机的两个重要的发展趋势 而以鼠标和键盘为代表的G U I 技术是影响 它们发展的瓶颈 利用人的多种感觉通道和动作通道 如语音 手写 姿势 视 线 表情等输入 以并行 非精确的方式与 可见或不可见的 计算机环境进行 交互 可以提高人机交互的自然性和高效性 多通道 多媒体的智能人机交互对 我们既是一个挑战 也是一个极好的机遇 在人机交互的发展中 一大批专家为 此做出了卓越的贡献 所以 从上面总结的历史发展可以看出 我们正处在从第三 四阶段向第五 阶段发展的过程中 1 1 2 数码交互艺术 艺术是艺术家对社会 对人类自身 对大自然思考的结晶 艺术家通过各种 形式将这种思考提供给大众 其中有批判的 有赞美的 有消极的 也有积极的 艺术发展到现在 已经有了很多艺术形式 如绘画 音乐 雕塑 建筑等 各种 艺术形式都有自己的载体 但载体中承载的东西确是一样的 随着2 0 世纪以来信息技术的发展 信息技术已经很大程度上改变了人类生 活的面貌 作为艺术家 对这种趋势是不可能置之不理的 很多艺术家都表达了 对这场革命不同的看法 有恐慌的 有对未来美好憧憬的 而这些看法都寄居在 了一个个活生生的作品当中 为了表达自己对信息技术的看法 最直接的方式就 是使用信息技术本身来表达自己的思想 数码交互艺术也就应运而生了 作为构建在计算机技术之上的艺术作品 交互艺术最大的特性也就是计算机 的最大特性一交互性 只有具有了这个特性的艺术作品 我们才能真正的称之为 数码交互艺术 这点就像国画离不开笔墨特性 音乐离不开音律的变化一样 数 码艺术家通过一个个交互的艺术作品 对我们的生活提出了疑问 提出了肯定 提出了对未来生活的无限可能性 上海大学硕士学位论文 1 1 3 人机交互与交互艺术 上面简单介绍人机交互和数码交互艺术的概念 那么它们之问有着什么联系 和区别呢 在我看来 这两个领域是用了同一种设备来完成不同目的的两个学 科 人机交互关注的焦点是通过交互设备建立一个简单快速友好的交互方式 让 人们可以使用一种更自然的方式来使用信息技术 而数码交互艺术是数码艺术家 使用各种交互设备 通过计算机的计算能力 创造出一个个体现了艺术家个人思 想的艺术作品 从这个角度讲 一个是为大众设计的工具 一个是表达个体意愿 的工具 但它们两者又是相互联系的两个学科 通过人机交互的发展 数码艺术家可 以使用更加方便的交互工具来创作交互作品 而人机交互的科学家们也可以由一 个个充满想象力的数码交互作品启发灵感 从而设计出更加实用和方便的人机交 互界面 1 2 本文的贡献 2 0 0 5 年来自于纽约大学的一名叫J e f f e r s o nY H a n 的计算机科学家发表了一 篇名为 L o w C o s tM u l t i T o u c hS e n s i n gt h r o u g hF r u s t r a t e dT o t a lI n t e r n a l R e f l e c t i o n 的论文 提出了一种通过物理光学中的F T I R 受抑内全反射 现 象来构建大尺寸 成本低廉的多点触摸屏技术 这种技术和传统的多点触摸技术 相比有着很多的优点 譬如硬件设备制作工艺相对简单 成本低 屏幕尺寸大等 该技术的出现对多点触摸的普及和发展起了很大的推动作用 一些国外的研究机 构和公司开始关注多点触摸领域 J e f f e r s o nY H a n 本人也提出了一些多点触摸 解决方案的实例3 不过 在多点触摸领域目前还是存在两个主要问题 第一 F T I R 多点触摸技 术的出现 虽然带来了一些多点触摸的解决案例 但这些大多是演示性质的案例 缺少实质的应用性内容 而且 相关硬件和软件上的技术细节也没有公开 这方 面的技术资料很少 第二 现在人们普遍使用的是基于视窗技术的操作方式 最 著名的就是微软公司的W i n d o w s 系列的操作系统 但这种基于鼠标和键盘所设计 3 h t t p c s n y u e d u 一j h a n 3 上海大学硕士学位论文 的操作方式很难在多点触摸的环境下使用 从而不能发挥出多点触摸的很多优 势 上海大学美术学院数码交互工作室从2 0 0 6 年开始关注多点触摸领域 根据 J e f f e r s o nY H a n 所提出的多点触摸技术原理 通过一年多的技术攻关 已经成 功的制作出了多点触摸交互系统 整个过程中 本人有幸参与了这个研究团队 根据我的知识背景 在课题中我主要负责的是多点触摸技术中软件的设计工作 其中包括软件开发环境的选择 开发平台的搭建 编码 调试 和团队中其他软 件工程师共同制定软件通信规则等工作 根据一年多研究过程中开发出的多点触摸软件系统 本文比较详细的介绍和 讨论了多点触摸技术中的问题和解决方案 并且提供了一套作为多点触摸交互的 指令接口 从而对接下来开发多点触摸的其他应用程序构建出一个软件平台 1 3 本文的组织 首先 本文在第一章中介绍了人机交互 数码交互艺术的基本概念 并且论 述了两者之间的关系 为本文提供了一个大的学科背景 第二章则介绍了多点触 摸技术的基本概念 发展状况 并且从软硬件两个方面全面的介绍了当前在多点 触摸领域中的各种关键技术 为本文提供了专业背景 在第三章和第四章中则讨 论了F T I R 多点触摸技术软件中的两个关键问题 手指的跟踪和交互动作的判断 这是F T I R 多点触摸软件系统中最重要的两个方面 也是本文的重点所在 接下 来 在第五章中介绍了我们自己研制开发的多点触摸系统 魔台 作为本篇文章 的实际案例 最后 在本文的结尾 我对多点触摸技术的发展趋势提出自己的展 望 上海大学硕士学位论文 第二章多点触摸技术 2 1 交互艺术中的输入设备 输入设备是用户向计算机输入数据和信息的设备 是计算机与用户或其他设 备之间通信的途径 输入设备是用户和计算机系统之间进行信息交换的主要装置 之一 鼠标 键盘 摄像头 扫描仪 手写输入板 光笔4 游戏杆 语音输入装置等都 属于输入设备 I n p u tD e v i c e 它把原始数据和处理这些数的程序输入到计算 机中 现在的计算机能够接收各种各样的数据 既可以是数值型的数据 也可以是 各种非数值型的数据 如图形 图像 声音等都可以通过不同类型的输入设备输 入到计算机中 进行存储 处理和输出 计算机的输入设备按功能可分为下列几 类5 1 字符输入设备 键盘 2 光学阅读设备 光学标记阅读机 光学字符阅读机 3 图形输入设备 鼠标器 操纵杆 光笔 4 图像输入设备 摄像机 扫描仪 传真机 5 模拟输入设备 语言模数转换识别系统 输入设备是人机交互中非常重要的一个方面 一个适合的人机交互设备可以 让用户更加方便的与机器进行交流 从另一个方面讲 输入设备也是交互艺术家 创作交互艺术作品非常重要的工具 所以对输入工具的研究是人机交互专家和交 互艺术家非常关注的领域 2 2 多点触摸概述 从九十年代初开始 触摸屏技术开始出现在我们的视野中 作为一种新的交 互输入方式 使用者只要用手指轻轻的触摸计算机显示屏上的图形和文字 就能 够实现对计算机的操作 相对于以前的交互方式相比 触摸屏有着一项不可比拟 4 一种单手手持笔状的输入装置 5 该分类引自h t t p b a i k e b a i d u c o m v i c w 6 3 2 6 8 0 h t m 上海大学硕士学位论文 的优点 直接操作用户看见的对象 这种人与计算机交互的方式简单 自然并且 直接一触击物体 然后计算机做出反应 这大大降低了普通用户学习和使用计算 机的难度 触摸屏从形式上可以分为两大类 第一种是目前已经在市场上使用比较成熟 的单点触摸屏 另外一种就是多点触摸屏 相对于多点触摸 单点触摸技术从交 互方式上来说限制就比较多了 首先 对于现在已经广泛使用的窗口系统来说 单点触摸屏只是作为一个鼠标的代替品 但从精确度 对窗口的操作方便程度上 讲 单点触摸屏并不如鼠标来的灵活 另外 在很多软件中 鼠标配合快捷键的 使用 可以大大加快操作速度 而使用单点触摸屏就做不到这点 所以 单点触 摸屏可以说只是交互手段变革的过渡方式 第二 目前市场也有一些专门为单点 触摸屏开发的应用 这些应用摒弃了传统的窗口系统中的基本元素 重新构建了 适合触摸屏的交互模式 但因为单点触摸行为上的限制一只能响应一个点 所以 这些应用中的操作模式很单一 基本上是点击菜单的方式 一些比较复杂的操作 如需要双手配合的操作 就很难实现 甚至没有办法做到 例如 放大一幅图片 的操作 使用单点触摸屏就很难完成 这些限制导致了单点触摸屏在目前市场上 的使用范围不广 更不要说替代鼠标和键盘了 讨论完了单点触摸 再来看看触摸屏的另一种类型一多点触摸技术 使用双 手工作是人类的一项基本技能 几千年来人们使用双手解决了很多劳动问题 人 们从双手劳动中也学习到了很多的技能 可这种用双手解决问题的技能却没有很 好的运用到人机交互的过程当中 多点触摸技术在一定程度上解决了这个问题 因为一次可以响应多个操作点 所以使用者可以通过双手来进行操作 这样不仅 可以让使用者更加自然的与机器进行交互 并且很多原来很复杂的操作可以简化 到一步操作 譬如 原来在鼠标或单点触摸屏中要旋转一个物体必须要先选中物 体 再确定旋转点 最后再旋转一个物体 而在多点触摸屏中 只需要使用双手 控制物体 就可以将上面三个步骤一次完成 这种交互方式对使用者来说相对鼠 标和键盘更加的自然和直观 综上所述 多点触摸技术对于人机交互的发展将会起到非常大的推动作用 多点触摸技术将会成为新一代的人机交互接口 l 海大学硕上学位论文 2 3 多点触摸硬件系统 从1 9 8 2 年多伦多大学的N i m is hM e h t a 教授发表了一篇题名为 AF 1e x i h l e M a c h i n eI n t e r f a c e 的论文6 开始 人们开始尝试建立各种各样的多点触摸系统 总结起来 基本上可以分为几种类型 下面就列出这几种类型并给出相应的一些 实例 在分类之前先要说明一下 触摸屏 S c r e e n 和触摸板 T a b i e t 是两个不 同的概念 触摸屏是透明的类似于电视屏幕一样的平面 而触摸板是不透明的平 板 1 基于计算机视觉技术的多点触摸板 图2 1 微软公司的 P l a y A n y w h e r e 多点交瓦系统 2 0 0 5 年微软公司在其网站上公布了一项名为 P 1 a y A n y w h e r e 图21 的 研究成果 这就是一个腆型的基于计算机视觉的多点触摸板 通过使用摄像头捕 捉使用者的双手 识别出使用者的手指 从而相应的触发由使用者多个手指产牛 的多点触摸事件 然后使用一个正向投影仪 将操作对象投影到桌面上来 2 基于计算机视觉技术的多点触摸屏 6 h n p w w w b i l l b u x l o nc o m 7 h n p r e s e a r c hr n i c r o s o i lc o m l a w J l s o n l p a p e r s l w J l s o n 2 0 p l a y a n y w h e r e 2 0 u i s t 2 0 2 0 0 5p d f 上海大学硕上学位论文 图22 基于F T I R 原理的多点触摸屏 2 0 0 5 年纽约大学的计算机科学家J e F f e r s o nY H a n 提出使用F T I R 受抑内 全反射 现象来构建多点触摸系统 图2 2 的想法 这种方式就是属于基于计 算机视觉技术的多点触摸屏 之所以称之为触摸屏 就是因为屏幕本身是透明的 通过一个背投的投影仪来成像 这种结构 也是本文的软件系统所基于的硬件平 台 3 基于电容传感器的多点触摸板 图23 基于电容技术的多点触摸板 1 9 8 5 年多伦多大学的输入研究小组 I n p u tR e s e a r c hG r o u p 就发明了一种 使用电容传感器技术的多点触摸屏 图2 3 它可以响应多个手指的触摸 4 基于电容传感器的多点触摸屏 8 h t m m b j l l b H mc o r n B 一 上海大学硕上学位论文 图2 4 苹果公司推出的多点触摸手机i P h o n e 2 0 0 7 年苹果公司推出的一款名为i P h o n e 的手机使用的就是多点触摸屏 图 24 基于上述的介绍 可以看到 多点触摸在硬件上的实现有多种方式 而各种 方式的实现都有各自的优缺点 如 基于计算机视觉的实现方式优点是触摸屏尺 寸太 成本低廉 但缺点是体积很大 不够轻薄 不能使用C R T 或液晶显示器作 为显示设备等 而基于电容的多点触摸屏优点是体积小巧 使用方便 但缺点是 成本太高 很难做出大尺寸的多点触摸屏 另外 值得一提的是 虽然多点触摸的技术已经研究了将近2 0 个年头 但 比较成熟的商业应用也是最近才出现于人们的视野中 这充分说明多点触摸技术 还是一个比较新的事物 有待更进一步的发展 我们上海大学美术学院数码交互工作室经过研究比较 选用第二种硬件实现 方案 主要是基于两个因素的考虑 一 第二种硬件方案可以制作大尺寸的多点 触摸系统 二 制作工艺相对简单 实现方便 2 4 多点触摸软件系统 在本节中 将从整体上介绍本文中多点触摸软件应用和开发平台 并且介绍 了各个模块的总体结构 上海大学硕士学位论文 2 4 1 应用和开发平台 开发应用平台 本系统基于微软的W i n d o w s 操作系统 整个系统在W i n d o w s 2 0 0 0 和W i n d o wX P 上经过测试 都可以顺利运行 开发语言 本系统采用后台 前台的开发方式 图象处理等低层运算使用c 语言开发 前台界面部分使用f l a s h 开发 开发工具 微软公司的V i s u a lS t u d i o2 0 0 5 9 和A d o b e 公司的F l a s hC S 3 1 0 2 4 2 计算机视觉技术 计算机视觉是指用计算机实现人的视觉功能一一对客观世界的三维场景 的感知 识别和理解 计算机视觉的研究目标是 根据感测到的图像对实际物 体和场景作出有意义的判定 图2 5 实现过程是先通过图像创建或恢复现实 世界模型 然后认知现实世界 图2 5 计算机视觉系统目标 从上一节的介绍可以看出 实现多点触摸屏的手段有很多中 各自都有优缺 点 本文所实现的多点触摸系统从软件上来说是基于上面介绍的计算机视觉技术 的 通过使用摄象机捕捉使用者手指触摸的图象 进而判断出使用者所进行的多 点操作 使用计算机视觉技术构建的多点触摸系统相对于其他实现多点触摸屏的技 术相比 具有面积大 成本低廉的特点 在后面的章节中 我们就将具体介绍我 们的多点触摸软件系统中的具体问题 9 微软公司于2 0 0 5 年推出的一个用于开发基于w i n d o w s 操作系统应用程序的集成开发环境软件 o A d o b e 公司于2 0 0 7 年推出的主要应用于I R A 英特网富客户端程序 的集成开发环境软件 上海大学硕士学位论文 2 4 3 系统总体模块 图2 6 系统总体模块图 从上面的图中 图2 6 可以看出整个软件主要由四个模块组成 图像处理 运动跟踪 动作识别和互动界面 下面就简单介绍下四个模块各自的功能 图像处理模块 将摄像机捕捉到的图像进行灰度变换 平滑去躁 去除背景 分割目标对象等处理 从而从原始画面中分离出需要处理的部分 运动跟踪模块 通过对连续桢的计算分析 从而对触摸点进行跟踪 得到触 摸点的运动状态等信息 这个模块是软件中比较重要的一个部分 将在下面的第 三章中重点讨论 动作识别模块 得到了触摸点的运动信息之后 就要根据触摸点的运动状态 来分析用户在触摸屏上的操作动作 如点击操作 拖动操作等 这个内容将在第 四章中重点讨论 互动界面模块 这个模块主要是实现美工所设计出的各种效果 譬如按钮点 击后的变化效果等 在下面的章节中我将重点介绍其中的图象处理 运动跟踪和动作识别三个模 块的内容 上海大学硕士学位论文 2 5 本章小结 本章重点介绍了多点触摸的概念 历史发展 并且讨论了本文所写的多点触 摸软件所基于的硬件环境 最后讨论了本文中多点触摸软件的体系结构 l 海大学硕士学位论文 3 1 目标 第三章触摸点的跟踪 在本帝中我们将介绍如何对触摸点进行运动跟踪 什么是麒踪呢 举个简单 的例子 在一条高速公路上 要对路面上出现的每辆车判断其行驶情况 那么就 要对路面上的车辆进行跟踪 图3 一1 要对物体进行跟踪 分为两个步骤 识别和P 硅踪 识别就是在画面中找到要跟踪的物体 并且将各种物体区分出来 譬如在上 面的例子中 就要将汽车从整个画面中识别出来 并且要区分出每辆不同的车 跟踪就是在 段删阋的序列祯中 找到上述被识别物体的运动轨迹 并且计 算出运动中的各种状态 如运动的方向 速度等 在j 面例子中 通过跟踪 就 可以知道每辆车在高速公路上的运动状态 从而可以判断如汽车有没有超速 或 者有没有偏离出路面等 在多点触摸系统中对触摸点的运动跟踪 图3 2 是非常重要的一个步骤 能不能正确的对触摸点进行跟踪 是实现触摸动作判断的前提条件 上海大学顾士学位论文 图3 2 触摸的手和经过处理后的触摸点 运动跟踪模块的总体框架如下图所示 网3 3 图33 运动跟踪处理流程 下面就多点触摸系统中运动跟踪模块的三个部分分别进行介绍 3 2 图像预处理 罔像处理就是用计算机对图像进行分析 已达到所需的图像效果 图像处理 的概念已经随处可见 使用很广的P h o t o S h o p 就是一款著名的图像处理软件 通 过各种对图像的操作 将图像中的有用信息增强 而将一些对分析没有帮助的信 息如 噪声 无关的背景等去掉 这是图像处理的一个重要的作用 在计算机视 觉的处理过程中 第一步就是要使用图像处理的相关技术得到一幅清晰的 易于 处理的图像 海大学硕f 学位论文 图3 3 原始图像图34 灰度图像 在灰度处理中 要将彩色摄像机拍摄的彩色图像 图3 3 转换为灰色图像 图34 这个过程称之为灰度变换 g r a y s c a l et r a n s f o r m a t i o n 之所以 要这样做主要有两个原因 第一 去掉图片中没有作用的彩色信息 减少处理数 据量 在我们的软件中 是依靠手指的轮廓形状判断是否为触摸点 这个在下面 的章节中会提到 图像中的色彩信息对我们下面的处理工作没有任何的帮助 而 对于数字图像 彩色图像的存储空间要比灰度图像大的多 所以 在图像的预处 理工作中 第一步就要将彩色图像转换为灰度图像 将不必要的色彩信息去掉 以保证接下去程序的效率 第二 简化算法 在下面的处理中 分析轮廓和分析 海大学硕l 学位论文 形状的算法对于彩色图像的处理要比对于灰度图像的处理要复杂的多 所以首先 将图像转换为灰度图像之后 对于简化F 面的算法有很大的帮助 将彩色数字图像转变为灰度图像使用了一个经典的心理学公式计算的 G r a y 0 2 9 9 R 0 5 8 7 6 0 1 1 4 B 公式中G r a y 就是计算出的各个像素的灰度值 之所以R G B 三种颜色分量要使用0 2 9 9 05 8 7 01 1 4 这几个比例混合 这是根 据人眼对颜色中三种色彩的敏感度决定的 在经过变化之后 可以看到原始的彩色图像变成了上面的灰色图像 3 2 2 平滑去噪 k 一 一 I 一 r 一 图3 5 灰度图像图36 平滑后的图像 在上述的变换中 图像由彩色图像变为了灰度图像 从而去掉了不必要的色 彩信息 但这样是不够的 因为在数字摄像机拍摄到的图像中还存在很多噪声 罔3 5 也就是所谓的干扰点 光进行灰度变换是无法将这些没有用的噪声 信息去掉的 在图像的预处理步骤中 有一个很重要的步骤就是对图像进行平滑 处理 s m o o t h i n g 图像平滑是一种局部预处理的方法 丰要用于抑制图像噪声 它利用了图像 数据的冗余性 对图像的平滑操作可以去掉图像噪声 但同时也会造成图像中含 有重要信息的边缘变的模糊 这对我们软件中下面的轮廓分析会有比较大的影 响 所以要选用一种合适的平滑算法 让去掉图像噪声的同时可以最大程度的保 存图像有用信息 在这里我们选择了使用中值滤波 m e d i a nf i l t e r i n g 的平滑方法 T y a n 此处的噪声不是针对声音领域 而是指图像h 的因为硬件的电气特性造成的T 扰点 1 6 一 L 圩大学硕L 学位论文 它的思想是用邻域中亮度的中值代替图像当前的点 经过平滑处理就将图像中的 噪声很大程度的去掉了 效果如L 图 图36 经过平滑去噪的处理后 图像中的噪声就被去掉 下面就可以进行背景的去 处 3 2 3 去除背景 图3 8 灰度平滑图图3 9 去除背景后图像 在我们的多点触摸系统中 由于硬件上的因素 很难做到屏幕上一点干扰都 没有 这种T 扰和上面平滑操作中提到的图像噪点是不同的 图像噪点是由于数 字摄像机内部的电气特性和A v 线传输信号的过程中叠加在图像卜的 通常都是 一个比较小的噪点 而这边所提到的干扰是多点触摸系统中由于硬件工艺所产生 的问题 如投影仪的反光 因为是使用背投的形式进行成像 投影仪和摄像机时 在同 个位置的 所以投影仪的反光会被摄像机拍到 另外 还有室内或者室外 些红外光线的T 扰 这些都会被摄像机捕捉在画面中 在平滑去噪的操作中也 没有办法把这些干扰去掉 这种下扰对F 面的分析来说会产牛非常巨人的影响 但仔细分析下来 这些干扰基术上是静止不动的 就像图像上的背景一样 每一祯的图像上都会有 并且每一祯上这些T 扰的位置也是不变的 这样我们就 可以使用图像差分的方法将这些背景去掉 b a c k g r o u n dr e m o v e 图像差分就是 让两幅图像相减 譬如用一幅由人物前景和背景构成的图像去减掉一幅只有同样 背景的图案 这样 得到的图像上就只有人物前景T 图37 人和背景的图片一背景 人 L 海大学颤1 学位m Z 图37 川筹分法去除背景后只剩下前景巾的 当然在实际的使用过程中 灯光等外部环境也会变化 这样图像背景也就变 化了 那么这样差分出来的图像就是不准确的图像 解决这个问题有两个办法 是通过设置 重新捕捉背景 按键 当出现外部光线条件变化的时候 点击 重 新捕捉背景 按钮 就会重新捕捉新的背景 当然这并不是最好的办法 因为过 程巾耍柯人的干预 最好是通过硬什I 一的改进 使整个系统小受外部环境的影响 这是最好的办法 这也是我们下一步改进的目标 通过背景的去除 就可以从下滑罔像 图3 8 得到一幅相对明确的扶度图 像 图39 下而就可以对图像进行闷值分割r 3 2 4 图像分割 图31 0 去除背景的图像 图31 1 分割出触摸点 经过上述的三个步骤 灰度转换 F 精去噪 和背景去除 我们可以统称它 们为圈像的预处理 总的来说预处理的作用就是将幅原始图像中的不必要信息 去掉 并且将有用的信息增强 在预处理之后 我们就要对图像进行分割 剧像 分割 i m a g es e g m e n t a t i o n 的主要目标是将图像中含有的真实世界中具有强相 18 上海大学硕I 上学位论文 关性的物体或区域划分出来 进行处理 简单的说 就是将图像中要处理的部分 分割出来 在对图像预处理之后 可以看到 手指的图像已经可以比较清楚的和其他部 分区分开了 下面我们要做的就是将手指部分从图像中分割出来 图像分割的方 法很多 我们根据实际的问题 选用比较简单的一种方法 阈值法 t h r e s h o l d 阈值法就是将图像中像素灰度值大于某个值以上的部分全部变为1 而以下部分 全部为0 图3 1 0 这样一幅灰度图就转变为了一幅二值图像 也就是说一幅 图像上只有黑和白两个部分 含有信息的部分 手指 就标记为白色 没有信息 的部分就标记为黑色 这样也就把手指部分分割出来了 通过图像的分割 我们可以清晰的看到几个白点 手指 出现在画面上 图 3 1 1 这样 我们就可以进行下面的步骤 手指的识别 3 3 手指的识别 通过上面的四个步骤 我们获得一幅只含有手指信息的二值图 但这样的图 像对电脑来说是没有意义的 所以把这张二值图中所包含的信息变成用数字来描 述 是我们下面的处理目标 从形式上看 上一节中的四个步骤输入的是图像 原 始的彩色图像 处理完之后输出的还是图像 黑白二值图 而本节中输入的是 图像 输出的是相关数据信息 用数字描述 虽然上面我们通过阈值法分割出了清晰的手指图案 但光这样是没有办法从 中提取出有效的信息的 所以 接下去我们还要进行两个步骤 l 对图像中所 有图形提取出其外轮廓 2 找到每个图形轮廓的外切矩形 从而计算手指触摸 点的信息 如大小 位置 倾斜角的等等 接下来 我们就分别对这两个步骤进 行分析 上海大学硕十学位论文 3 3 1 提取图形轮廓 图31 1 提取出触摸点的轮廓 红色框标出 第一步 提取出图形的外轮廓 上面我们已经提到了 经过了预处理的图片 虽然已经清楚地用二值图标示出了我们所关注的部分 但这张图上并没有包括任 何的数据信息 我们要通过对整个图的一种计算来得到各个图形的不同的数据 这里我们通过区域轮廓将不同的图形分割开 图31 1 图中用红色轮廓标出 找到了各个图形的轮廓之后 我们就可以计算出他们的面积 中心等几何特征 提取图形轮廓的算法很多 实现起来也比较复杂 这里 在我们实际的软件中 我使用了I n t e l 公司一套关于图像处理和计算机视觉方面的开源函数库 O p e n C V 其中 就有实现了提取图形轮廓算法的函数 我们通过使用这种封装 好了的功能函数 加快我们的开发进程 并且可以把我们的精力更加集中的放在 整个多点触摸系统的实现上 下面就是这个部分的实现代码 c v F i n d C o n t o u r s i m g i m g p s t o r a g e c o n t s i z e o f C v C o n t o u r C VR E T RT R E E C V c H A l N A P P R O XS I M P L E i f f a b s c v C o n t o u r A r e a r e s u t C V W H O L E S E Q 1 0 0 0 c v C h e c k C o n t o u r C o n v e x i t y r e s u t 从上面的代码可以看出 通过使用c v F i n d C o n t o u r s 函数 我们就找到了图 o l x m c v 是I n t e l 公司推出的一套基于开源的圈像处理 计算机视觉方面的软件库 2 0 I I 论Z 像中所有图形的外轮廓 并且将它们存在丁c e n t 这个数据结构叶 下面就可以 对这些轮廓进行分析了 另外存这边可以注意到在实现中 我们找到轮廓之后并 没有直接进行处柙 而是先进行筛选 把面积小于1 0 0 0 像素和外形不是i n l 包的 轮廓去掉 这样一束又可以将一些前面没有处理掉的噪声去掉 保汪下面处理的 正确性 从上图 图3 1 1 可以磊到 轮廓都是一曲不太规则的多边形 要想从这些 不规 的多边形中获得几何特征是很困难的 所以我们还要进行一步处理就是找 到这衅轮廓的外切矩形 这样 通过外切矩形 我们就会很容易找到每个点的几 何特征了 同样 寻找外 J 矩形的算法我们也使mD p e n C V 中封装好的函数 c v M i n A r e a R e c t 2 0 代码如F b o x c v M i n A r e a R c c t 2 c o n t s t o r a g e b o x 就是各个轮廓的外切矩形 上图就是找到外切矩形之后的图像 剧31 2 蓝也方框标示山每个触摸点的外切矩形 嘲 嘲 要垂恻 图3 一t 2 得到触摸点轮廓的外切矩形 蓝色标出 3 3 2 基本几何特征数据的获得 将罐个图形的轮廓提取出米并且得到外切矩形之后 就町以得到每个触摸点 的几何特征了 下面就是我们的多点触摸系统巾希望得到的几何特征数据 轮廓中心 2 倾斜角度 3 外切矩形左上角坐标 4 外切矩形面积 上海大学硕士学位论文 5 触摸面积 获得这些基本的几何数据是我们下面分析工作的基础 这个在下面一节就可 以看到 获取代码如下 c e n t e r X X 轮廓中心的横坐标 c e n t e r Y Y 轮廓中心的纵坐标 t h i s a n g l e a n g l e 倾斜角度 m i d x w i d t h 水0 5 f m i d y h e i g h t 木0 5 f u p p e r L e f t C o r n e r s e t x m id x y m id y 1 0 w e r R i g h t C o r n e r s e t x m i d x y m i d y a r e a b o x g e t A r e a w e i g h t 0 3 4 手指的跟踪 触摸点左上角横坐标 触摸点左上角纵坐标 外切矩形面积 接触面积 暂没实现 在上面的论述中 我们通过图像处理 轮廓分割等工作已经可以成功的获得 单祯图像上手指的基本几何信息 如中心坐标 面积大小等 在这些工作完成之 后 接着要处理的就是手指的跟踪问题 手指跟踪就是通过连续的几个序列祯来 判断每个触摸点的运动情况 譬如 在第N 祯的图像中存在三个点 在第N I 祯的图像中出现了四个点 多出的一个点肯定是新出现的触摸点 那么第N I 祯上的三个点如何跟前面一祯中的三个点对应起来 哪一个点又是新出现的点 这个就需要通过运动跟踪的方法来判断 图3 1 5 上海大学硕士学位论文 第N 第N I 祯上的触摸点 图3 1 5 两祯图像上的触摸点如何对应 下面首先介绍运动跟踪的基木概念 再介绍我们多点触摸软件中所使用到的 算法 3 4 1 运动跟踪 在生活中 各种运动随处可见 人的眼睛可以很好的检测和识别出这些运动 信息 如将运动的物体从背景中分离出来 或者预判运动物体的运动轨迹 在计 算机视觉领域中 运动跟踪的目的就是用计算机来代替人去跟踪图像中感兴趣的 目标的运动 但对于计算机来说 这是个相当难的任务 目前在计算机视觉领域 运动跟踪己经研究了很多年 取得了不少成果 在很多领域中获得了应用 比如 在自动监控系统中 就需要对人体的运动进行自动识别和跟踪 随着计算机技术 的不断提高 这方面的研究和应用受到人们越来越多的重视 在我们的多点触摸软件中 对点的运动状态的跟踪是非常重要的一个步骤 因为要想判断某个触摸点是新出现的 还是原来就已经存在只是位置出现了变 化 或者是已经消失的点 这些都需要通过运动跟踪获得点的运动状态去判断 上海大学硕士学位论文 3 4 2 跟踪算法的比较和选择 3 4 2 1 跟踪特征点 首先我想使用的跟踪特征点的算法 跟踪特征点算法就是首先找到t 时刻图 像上的特征点集 P 然后根据t a 时刻上的图像中找到特征点集 然后确定两 幅图像上特征点的对应 为什么会选择这样的算法呢 因为我考虑到每个手指的 粗细和触摸时按的力度是不一样的 所以想通过触摸点的大小来区分每个手指 可试验的结果却在一开始就完全否定了这种方法 由于硬件上的原因 经过 处理的触摸点和实际中点的形状已经有了很大的变形 并且在触摸的过程中 每 个人的触摸力度不一样 就是同一个人 在操作过程中 因为疲劳等原因 触摸 的力度也是不一样的 所以根据点的形状和大小根本不能找到特征点 那么跟踪 点的运动状况也就无从说起 3 4 2 2 计算点的运动路径 前面跟踪特征点的方法是识别t 1 时刻图像上的特征点 并查找该点在下一 祯即t 2 时刻图像上对应点 根据两幅图像之间特征点的对应关系来进行运动跟 踪 但在上面一节中我们已经提到 因为硬件 人等各种因素的限制 想得到稳 定一致的触摸点 并将其作为特征点是几乎不可能的事情 所以 下面不得不考 虑另外一种更加针对一般情况的算法一计算点的运动路径 举个例子 如一个装有许多网球的盒子掉到地上 要根据视频序列计算每只 球的运动轨迹 在这个例子中 每个网球的特征是一样 我们是无法通过找特征 的方法来区别每只网球的 但为了实现对每个网球的跟踪 我们使用计算网球运 动轨迹的方法 为了通过计算网球的运动轨迹来实现跟踪 要首先做一些假设 1 物体位置随时间的变化是平稳的 2 物体运动速度随时间的变化是平稳的 包括速度的大小与方向 3 某个时刻物体在空间中只有一个位置 4 两个物体不可能在同一时刻占有同一个位置 上海大学硕士学位论文 从上面的假设可以看出 要运用这种算法 需要物体在空间中的运动是平稳 的 那么它就会在二维的图像序列上产生平滑的运动曲线 然后我们再通过计算 曲线光滑度的数学公式 分别计算出各个点之间的光滑度 然后选取光滑度最好 的那一条曲线作为运动路径 这里所处理的情况和我们多点触摸系统中要处理的 情况基本相似 即一实现对多个相似特征的点的跟踪 所以 我们对这种算法进 行了试验 在实际的实验中 出现了两个很大的问题 第一 程序效率太低 在算法中 为了计算各条曲线的光滑度 对于每一个点 我们都要遍历所有其他的点 计算 出光滑度 然后再选取中间光滑度最好的曲线 但在实际程序中 五个点以下的 情况还好 但当触摸点增加到十个 双手 C P U 的占用率已经快接近9 0 了 这 种占用率对于多点触摸软件系统是不能接受的 因为整个系统还要将资源放在通 信和视觉效果等其几个模块上 第二 触摸的运动轨迹并不能保证是平稳的曲线 在一些特殊的应用中 如画板程序 操作者在画面上画画的轨迹是随心所欲的 并不是根据某种运动规律来的 另外 操作者的操作速度也是不一致的 有些情 况下 操作者想比较快的完成某个任务 就会很快的滑动 有些情况则不然 这 对于光滑度的判断有着很大的干扰 对于以上出现的两个问题 我们做了改进 使用了下面的算法 3 4 2 3 改进的算法 针对上面的问题 我们决定对上面的算法进行如下的改进 将计算光滑度改 为计算点与点之间的距离 同样 虽上面的假设也要进行一些修改 将上面的假设第一条改为 两个点 触摸点不会距离很近 这样的假设在我们的多点触摸系统中是可以实现的 因为 手指是有体积的 所以 即使两个指头摒的再紧 指头所对应的触摸点还是会有 一定距离的 这样 上面的四个假设就都可以成立了 在实际的实验中 这种算法也取得了不错的效果 跟丢 跟错的情况和上面 比起来已经可以降到5 以下 另外 因为计算距离的数学公式比计算光滑度的 数学公式要简单许多 这样即使点在1 5 个左右的时候C P U 的占用率还是保持在 3 0 左右 对于这样的效率是可以接受的 所以最终我们选用了这种算法 下面 上海大学硕士学位论文 是算法的核心实现语句 找到每一个点和所有点的距离 f o r i 0 i b l o b s i z e i c u r r e n t i d i s t a n c e c l e a r c u r r e n t i c l o s e s t c l e a r f o r J 0 j p r e v s i z e j f l o a td i s t a n c e 0 O f d i s t a n c e g e t D i s t a n c e p r e v J c u r r e n t i c u r r e n t i d i s t a n c e p u s h b a c k d i s t a n c e c u r r e n t i c l o s e s t p u s h b a c k j 将每一个点和其余点的距离关系进行排序 f o r i O i b l o b s i z e i f o r j O j p r e v s i z e j f o r k O k p r e v s i z e 一1 一j k i f c u r r e n t i d i s t a n c e c u r r e n t i c l o s e s t k 1 c u r r e n t i d i s t a n c e c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商场安全卫士培训方案课件
- 压力灭菌器安全培训证书课件
- 2025年医疗器械行业远程医疗设备市场前景预测报告
- 2025年循环经济行业发展模式探索与市场前景研究报告
- 孟连傣族拉祜族佤族自治县2025云南普洱市孟连县教体系统事业单位急需紧缺人才第二轮招聘2人笔试历年参考题库附带答案详解
- 国家事业单位招聘2025中国人民大学财务处招聘3人笔试历年参考题库附带答案详解
- 2025重庆轨道集团招聘130人笔试参考题库附带答案详解
- 2025福建泉州晋江市佳豪置业发展有限公司招聘编外3人笔试参考题库附带答案详解
- 2025浙江余姚景隆置业有限公司招聘7人笔试参考题库附带答案详解
- 2025河北中核二四劳务有限公司招聘200人笔试参考题库附带答案详解
- 华为信息安全管理培训课件
- 诗经整本书阅读课件
- (2025年标准)预售小麦协议书
- 2025年院感测试题及答案
- 承包商全流程安全培训
- 养生店国庆节活动方案
- 7.1促进民族团结 课件 2025-2026学年统编版道德与法治九年级上册
- 2025年建筑施工安全教育试题及答案
- 桩基质量管理制度
- 口腔颌面外科缝合技术要点
- 2025至2030中国军用导航仪器行业市场深度研究与战略咨询分析报告
评论
0/150
提交评论