《基于ARM53科大讯飞语音库的智能相册管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于ARM53科大讯飞语音库的智能相册管理系统的设计与实现.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、广州大学华软软件学院 本科毕业论文 论文题目 基于ARM53科大讯飞语 音库的智能相册管理系统的设计与实现 专 业 自动化 班 级 16级自动化1班 姓 名 李勇浩 学 号 1640909102 指导教师 陈华珍 广州大学华软软件学院电子系2020年 3 月摘要 近年来语音控制技术逐渐受到了人们的欢迎,本文考虑到语音控制技术的这一流行趋势,设计了一款基于Contex-A53的语音控制智能相册管理系统,系统采用了科大讯飞最新的语音库来对用户的声音进行识别,并在提取到用户的声音指令后,驱动Contex-A53核心板完成对应的动作。经过实验测试,本文的系统能够很好地实现语音控制、自动拍照以及照片管理
2、的功能,可以为用户提供一种更加便捷的相册管理系统。关键词 语音控制;语音识别;相册管理;智能家居ABSTRACT Compared with the traditional manual control mode, voice control has become the first choice for users because of its more efficient characteristics. Especially in smart home system, voice control has become one of the essential technologies.
3、Considering the development trend of voice control technology in the Internet of things, a photo album management system based on iFLYTEK voice library of HKUST is designed to realize the function of intelligent control and management of photo albums. The system provided in this paper has the follow
4、ing functions: voice control function, automatic photo taking function and photo management function, providing a user with a Function rich album management system, but also can provide a certain technical solution to the merchant.KEY WORDS Voice control; Voice recognition; Album management; Smart h
5、ome目 录1. 前 言11.1 研究背景与意义11.2 国内外发展现状21.3 本文的研究内容32. 系统方案设计42.1 需求分析42.2 系统方案设计53. 硬件模块设计63.1 核心板选型63.2 摄像头模块设计73.3 以太网模块设计94. 软件设计104.1 主程序设计104.2 JPEG图像显示设计114.3 RT3070无线网卡配置软件设计125. 系统测试135.1 系统测试流程135.2 系统测试136. 总 结16参考文献17附录18致 谢19III1. 前 言1.1 研究背景与意义图像是我们日常工作和生活中常见的一种承载信息的方式,与普通的文本存储方式相比,图像由于可以
6、存储色度空间的信息,所以可以具有更加丰富的显示内容。而文本则只能够存储普通的文字信息,所以在互联网逐渐普及的今天,慢慢淡出了人们的视野。相比于文本存储方式,图像存储不仅能够存储普通的字符,还能够对物体的形状、色彩等信息进行存储,所以在数据的表示方面,将会有更好的效果,但是随之而来的,由于图像具备丰富的内容,导致对图像的存储需要进行更多的优化,不同于普通的文本在存储时只需要简单地进行持久化即可,在图像存储时,需要设计相应的压缩算法,来节省一定的磁盘空间。所以在对图像进行显示的时候,需要提前进行解码,导致在对图像进行展示时,速度会比一般的文本慢,但是随着处理芯片性能的提高,这种延迟已经缩小到了人们
7、可以接受的范围之内。由于图像在人们进行信息交互时的优良特性,使得人们在对图像进行管理时,可以有多种技术方案,如在手机等便携式设备中,我们一般可以通过手指来对图像进行拖动,缩放,而在PC中,工程师们则可以使用PS等软件来对图像进行裁剪、修饰等操作,使得图像可以满足用户的需求。在这些对图像的基本控制方式中,不管是在手机还是在PC上,都需要用户手动来对图像进行管理,这种传统的控制方式在一些特殊的场合,如运动拍摄中,由于对用户的操作方式有严格的要求,所以表现的并不是很好,没有办法满足用户的需求。在人工智能技术发展的进程中,语音识别已经成为重要分支之一1,相比传统的手动控制方式,语音控制由于具有效率更高
8、的特性,使得其在用户行为控制中得到了广泛的应用,尤其是在物联网技术逐渐普及的今天,结合语音控制来对各种传感器进行控制的方式成为了用户的首选,特别是在智能家居系统中,语音控制已经成为了必不可少的技术之一。本文考虑到传统的图像管理方式存在的缺陷以及语音控制技术的成熟性,设计了一款基于语音控制技术的相册管理系统,系统通过应用科大讯飞公司提供的开源语音识别库来对用户的声音进行识别,从而使系统具备了对相册进行语音控制的功能,避免了传统手动控制方式在运动拍摄等特殊场景中存在的问题。用户采用本文提供的系统时,不仅可以通过语音控制的方式来对相册进行管理,同样可以采用传统的手动方式来对相册进行控制,对比传统的相
9、册应用,本文的系统在功能性方面进行了更多的扩展,可以满足用户多样化的需求。1.2 国内外发展现状图像是一种承载信息的途径,与传统的文本数据类似,都是将一些信息通过计算机可以识别的二进制数据来对数据进行描述的。相比于文本数据,图像不仅可以保存字符信息,对于物体的形状、颜色等信息也可以进行很好地保存,所以从用户的角度出发,图像相比传统的文本数据,会更加受到用户的青睐。虽然图像相比文本格式,能够存储更多的信息,但是对存储系统的要求更高,而且占用的存储资源也更大,这在一些便携式系统中,可能会带来一些问题。随着芯片电子工艺技术的发展,存储芯片的容量也得到了飞速的发展,在上世纪中叶,几平方米大小的芯片只能
10、存储几百KB大小的数据,只能存储一帧高清图片,而现在一枚几平方厘米的存储卡,就可以提供几十GB的存储容量,实现了大量图像的存储需求,这也为图像管理系统的发展提供了一定的契机。据统计,图像已经占据了互联网数据传输中50%以上的数据传输量,每天在google、facebook等大型互联网系统中,都有几十TB的数据需要进行交互,所以对于图片的管理越来越受到厂家的追捧。最早的图像管理系统出现在上世纪八十年代左右,在那个时代,互联网还并没有普及,人们的PC也只有几百M的存储容量,所以图像的清晰度也不高,人们在进行数据交互时,还主要采用文本的方式。随着芯片技术的发展,单核处理器能够存储的数据容量得到了显著
11、地提升,相比于以往的几百KB存储,现在的芯片存储能力已经提升了几千倍,能够满足图像的存储,而在对这些图像进行展示时,一款良好的图像管理系统将更符合用户的需求,所以在电子设备,尤其是一些便携式设备中,都会设计相应的图像管理系统,以满足用户的使用。受限于传统电子设备的影响,图像管理系统一般需要用户手动参与,通过按键或者触摸屏的方式,来对自己设备上的图像进行控制,这种图像管理方式已经存在了三十多年,而且在目前的应用中仍然占据主流。但是随着物联网技术的发展以及5G网络的普及,人工控制的方式将会被人们逐渐淘汰,而其他一些控制方式,如语音控制、手势控制等先进的控制方式由于具有非接触、可远程控制的特性,将会
12、成为图像管理系统的一种发展趋势。1.3 本文的研究内容本文考虑到语音控制技术在物联网中的发展趋势,设计了一款基于科大讯飞语音库的相册管理系统,系统利用科大讯飞提供的开源语音库来对用户的声音进行识别,由远程电源来对平台进行控制,以此验证嵌入式语音识别技术在该平台中的应用效果2,从而实现了对相册的智能化控制与管理的功能。总体而言,本文提供的系统具有如下所示的功能:1语音控制功能。系统采用科大讯飞语音库来对用户的声音进行识别,当用户的声音通过系统的验证后,即可将用户的语音控制指令转换为对应的系统指令,从而实现对相册的控制功能。2自动拍照功能。系统设计摄像头模块来对外界进行拍照,使用时,用户可以通过指
13、令来开启摄像头,拍摄得到的照片将存储到SD卡中,方便用户的检查。3照片管理功能。用户可以对拍摄得到的照片进行相应的操作,包括缩放、存储、删除、动态显示等,这些丰富的选项可以使用户对相册系统进行更加合理的控制。本文通过设计系统的硬件模块与软件模块实现了该语音控制的智能相册管理系统,在硬件模块中,本文采用了GEC-6818开发板、RT3070无线WIFI模块与摄像头模块,而在软件模块中,本文采用了科大讯飞的语音库与madplay 库。通过对软硬件的联调,本文可以给用户提供一个功能丰富的相册管理系统,同时也可以给商家提供一定的技术方案。2. 系统方案设计2.1 需求分析本文主要设计一款基于语音控制的
14、相册管理系统,系统采用Contex-A53架构的GEC-6818开发板作为核心板,搭载Linux操作系统,并采用科大讯飞的语音库来实现用户声音识别,从而识别对相册的控制。在功能方面,本文的系统具有如下所示的需求:1.开机采用视频播放作为开机界面。2.开机后,使用数字密码解锁进入功能页面。3.对功能选择操作时可以采用手动控制或者语音控制。4.拍摄完成后点击拍摄的照片,可以对拍摄的照片放大缩小来查看拍摄效果,觉得不满意可以直接点击删除,拍摄的照片将不会保存在相册中。5.当进入相册功能时,可以对相册照片进行选择动态预览模式,或者静态预览模式下对照片进行预览。6.在没有任何操作10s后,自动进入休眠模
15、式。上述八个部分的内容是对本文智能相册系统提出的功能需求,本文将通过合适的软硬件模块来实现系统的这些功能。本文系统的功能框架如图2-1所示:图2-1 系统功能框架上图给出了系统的功能框架,在整体上,本文将系统分为了三大模块:控制模块、相册管理模块以及存储模块。其中控制模块分为按键控制与语音控制两部分,按键控制与传统的手动控制方式相同,而语音控制则利用科大讯飞的语音库来对语音数据进行识别,通过识别后的指令来对相册进行控制。相册管理模块制定了系统赋予用户对相册的管理功能,包含了对照片的缩放管理与存储管理。最后一个模块为系统的存储模块,系统会对用户需要保存的图片以合适的合适存储到SD卡中。2.2 系
16、统方案设计上文给出了系统的功能框架,将系统细分为了控制模块、管理模块以及存储模块。三个模块均需要对应的硬件与软件来实现对应的功能。在控制模块中,系统需要提供按键控制模块与语音控制模块的软硬件设计,在管理模块中,系统需要提供对照片的管理功能的设计,在存储模块中,系统需要提供对照片的存储电路与存储方案。总体而言,系统在数据交互上具有如图2-2所示的流程:图2-2 系统数据流图上图给出了系统的数据流图,用户的控制数据按照从左往右的顺序进行,无论是按键指令还是语音指令,都会通过对应的硬件电路进行采集与识别后送给核心板,核心板会根据对应的指令来对照片进行控制。3. 硬件模块设计3.1 核心板选型核心板主
17、要负责完成系统的核心功能,在嵌入式系统中,核心板的作用相同于系统的中枢,通过对各路传感器的调度来实现用户所需求的功能。在嵌入式应用中,可以选择的核心板有很多,用户在选择的时候需要根据核心板的成本与性能进行综合的选择。一般而言,性能越高的核心板,在存储能力、计算能力等方面的表现更好,但是成本也越高。本文将对两款常用的核心板进行分析,并根据本文系统的要求来选择合适的核心板。1常用的工业控制核心板AT89C51。AT89C51单片机是一款基于数字信号工作的自带FLASH的控制芯片,采用了8位CMOS制造工艺,能够作为常规工业控制领域中的核心控制器。AT89C51单片机内部自带一路4K的ROM,所以支
18、持4K大小的程序存储,当单片机供电运行时,便会自动在ROM中进行寻址,找到合适的程序偏移地址来执行相关的代码。该单片机具有稳定性高,支持多次擦除的特性,尤其是在代码调试的过程中,使用该单片机能够显著地提升开发效率。该单片机内部设计采用了最小设计原则,包含了最小的通用开发逻辑电路,不仅可以满足日常工业控制的需要,在成本方面的控制也做的很好。硬件电路整体包含了4K的可擦除存储器、128字节的内存电路、32路标准IO引脚、两路定时器、一路串口以及12M的标准时钟振荡器。使用这些相关的模块电路,用户可以实现常用的电子控制功能,如标准输入输出、中断控制、定时器控制以及上下位机通信等。2基于Contex-
19、A53的GEC-6818开发板。区别于AT89C51等低端的控制器,GEC-6818开发板采用了更先进的架构与更强大的硬件,不同于AT89C51的低端MCU,GEC-6818采用了1GHZ的时钟电路来为芯片提供驱动,内部支持1G大小的内存存储,系统支持8核心CPU,在移植操作系统后,可以启动16线程工作,外部设计了4G大小的存储电路,同时也支持外接存储器进行扩容。GEC-6818可以支持更高性能的数据处理,支持5V供电,不需要外部变压电路的参与,所以可以与其他便携式传感器进行直接的数据交互。同时系统对于扩展性的考虑也十分周到,支持串口、USB以及以太网口等常见的数据传输协议,并提供了外部连接的
20、接口,只需要采用对应的数据线即可与PC等设备进行数据传输。智能相册管理系统是一款计算密集型的应用系统,需要能够实时地采集用户的行为,并对相册内的照片进行及时的控制,故采用GEC-6818核心板作为系统的控制处理器。GEC-6818的核心板电路如附录1所示。在智能相册管理系统中,使用到了和核心板的音频输入接口、以太网口、USB口以及HDMI接口。其中音频输入接口用来采集用户的语音信号,采集到的信号会送给语音识别模块来对用户的指令进行识别,以太网口用来连接RT3070无线WIFI模块,用来进行TCP/IP通信,USB口用来连接摄像头模块而HDMI接口用来连接显示屏。在这几个接口的协调下,可以实现本
21、文课题要求的照片拍摄、图片管理以及语音控制的功能。3.2 摄像头模块设计不同类型摄像头的驱动程序几乎不能通用,尤其在嵌入式Linux系统下摄像头驱动程序更是不完善3,摄像头本文采用了支持USB通信协议的摄像头模块,采用标准的USB2.0通信协议,在Linux环境下通过内核的定制实现了图像采集的软件设计4,能够与本文的核心板进行通信。在该款USB电路中,实时的数据传速速率可以达到100MB/S,对于照片拍摄需求来说已经做够。芯片的引脚说明如下表3-1所示:表3-1 PDIUSBD12引脚说明引脚符号引脚描述1-4,6-9Data芯片双向数据引脚5GND芯片接地端,与单片机共地10ALE芯片地址锁
22、存引脚11CS_N芯片片选引脚12SUSPEND芯片挂起引脚13CLKOUT芯片时钟信号输出引脚14INT_N芯片中断引脚续表3-115RD_N芯片读使能引脚16WR_N芯片写使能引脚17DWMREQ芯片DMA通信引脚18DMACK_N芯片DMA应答信号引脚19EOT_N芯片DMA结束引脚20RESET_N芯片复位引脚21GL_N芯片LED指示引脚22XTAL1芯片震荡源引脚23XTAL2芯片震荡源引脚24VCC芯片电源引脚(5V)25D-USB数据线26D+USB数据线27VOUT芯片3.3V输出端28A0芯片地址控制端由于模块集成了USB接口,所以摄像头拍摄得到的图片可以通过USB接口上传
23、给核心板。,在该电路中,在摄像头的核心模块中,采用了USB核心电路来对数据进行传输, USB通信模块的电路原理图如下图3-2所示:图3-2 摄像头USB电路3.3 以太网模块设计系统可能需要连接互联网来进行部分插件的更新,所以需要连接以太网模块来与互联网尽心数据交互。考虑到本文系统的便携性,本文为系统提供了RT3070无线WIFI模块来提供互联网的访问能力。RT3070模块与摄像头模块类似,均采用USB接口来与核心板进行通信,模块的包装如下所示:图3-3 WIFI网卡RT3070WIFI模块是一种WIFI信号采集模块,外设通过USB模块可以将数据通过WIFI模块进行发送,同时外部数据也可以通过
24、WIFI模块来进行接收。在WIFI模块中,包含了以太网卡,所以可以在路由器中定义自己的MAC地址,而在上层通信时,会采用标准的TCP/IP协议进行交互,通过给核心板增加WIFI模块,系统能够正常实现互联网的访问。4. 软件设计4.1 主程序设计本文系统的主程序主要实现对语音信号的采集与识别功能,当采集到用户的语音信号后,会通过科大讯飞提供的语音识别功能来对语音信号进行特征提取,得到对应的关键词,当得到用户语音指令后的关键词后,就会与程序内部的指令进行比对,比对成功后,就根据相应的指令来对照片进行调整。系统的主程序流程如下图图4-1所示:图4-1 系统主流程系统在主程序中,首先会对采用的各个硬件
25、模块进行初始化,当各路外设准备就绪后,会安装科大讯飞的语音库,准备好语音识别环境。此时系统会进入while循环中,等待用户指令的输入,当用户发出语音控制信号后,主程序会调用语音识别库的接口来对语音信号进行识别,得到对应的关键词,如果关键词正确,就去执行关键词对应的指令,否则返回。4.2 JPEG图像显示设计本文的系统将拍摄得到的照片以JPEG的格式存入到系统中,JPEG格式是一种常见的图片压缩格式,可以通过一定的算法来对图片进行压缩。由于本文采用的摄像头每拍摄一张照片都需要占用1M左右的空间,而系统存储空间为4G,所以理论上只能存储400张左右的照片,日常使用来说已经足够但是对于支持互联网数据
26、交互的系统来说,这一存储空间并不能满足用户的需求,所以本文采用JPEG算法来对图像进行压缩。压缩后的图像会存储在系统中,所以程序需要通过一定的方式来读取经过JPEG格式压缩的图片。图片读取的流程如图4-2所示:图4-2 图像读取流程4.3 RT3070无线网卡配置软件设计系统完成LINUX操作系统的迁移后,需要对无线网卡模块驱动程序进行配置,从而允许系统能够正常地访问互联网。本文的操作系统采用了linux-3.4.39,而无线网卡RT3070提供了配套的AP源码,AP源码的配置流程如下所示:图4-3 无线网卡配置流程无线网卡的配置流程虽然繁琐,但是只需要按照配置说明进行流水化配置即可。5. 系
27、统测试5.1 系统测试流程系统测试是开发流程中必不可少的一步,开发人员在完成系统的开发与自测后,将系统提交到测试人员手中,由测试人员进行专门的测试,只有通过测试人员的测试,开发的系统才可以正常流入市场。但是随着企业的发展,公司的系统应用会日益膨胀,导致无法对系统的全部功能进行测试,所以有必要将系统的功能进行拆分,通过对各个子模块功能的测试,来验证系统是否符合预期。为了方便对本文系统的测试,有必要对系统的功能模块进行拆分,首先对系统的子功能进行分步测试,在完成系统的模块化测试后,再对系统进行整体测试。本文的系统拆分后可以分为以下几个功能模块:语音控制模块、按键控制模块、照片拍摄模块。这几个功能模
28、块的测试均需要使用到传感器上传的数据,为了方便测试,本文将模拟几组测试数据,通过对测试数据的验证,来对系统的各个功能模块进行测试。5.2 系统测试系统在完成开机初始化后需要输入密码进入主界面,解锁界面如图5-1所示。图5-1 解锁界面当密码输入正确时,进入管理系统,系统的主界面如下图图5-2所示:图5-2 系统主界面此时可以点击相册,进入相册中对照片进行管理。如图5-3照片管理界面所示。图5-3 照片管理界面当选择动态播放相册时,可以从相册存储的地方读取所有的拍摄照片,随机采用不同的特效播放相册,显示效果如图5-4动态播放。图5-4 动态播放用户也可以通过语音来控制系统,语音控制界面如图图5-
29、5所示。图5-5 语音控制界面当用户录入自己的语音后,系统会对用户的关键词指令进行分析,下图给出了通过语音命令词打开拍照功能所调出的拍照界面如下图5-6所示。图5-6 拍照界面通过上面的测试可以发现,本文的系统可以实现对照片的手动管理和语音控制的功能,成功实现了课题所需的全部功能。6. 总 结本文考虑到语音控制技术在物联网中的发展趋势,设计了一款基于科大讯飞语音库的相册管理系统,系统利用科大讯飞提供的开源语音库来对用户的声音进行识别,从而实现了对相册的智能化控制与管理的功能。总体而言,本文提供的系统具有如下所示的功能:1语音控制功能。系统采用科大讯飞语音库来对用户的声音进行识别,当用户的声音通
30、过系统的验证后,即可将用户的语音控制指令转换为对应的系统指令,从而实现对相册的控制功能。2自动拍照功能。系统设计摄像头模块来对外界进行拍照,使用时,用户可以通过指令来开启摄像头,拍摄得到的照片将存储到SD卡中,方便用户的检查。3照片管理功能。用户可以对拍摄得到的照片进行相应的操作,包括缩放、存储、删除、动态显示等,这些丰富的选项可以使用户对相册系统进行更加合理的控制。本文通过设计系统的硬件模块与软件模块实现了该语音控制的智能相册管理系统,在硬件模块中,本文采用了GEC-6818开发板、RT3070无线WIFI模块与摄像头模块,而在软件模块中,本文采用了科大讯飞的语音库与madplay 库。通过
31、对软硬件的联调,本文可以给用户提供一个功能丰富的相册管理系统,同时也可以给商家提供一定的技术方案。参考文献1袁毅,陈胜勇.基于Cortex-A9的嵌入式语音识别系统设计J.现代信息科技,2019,3(14):166-168.2孙晓杰.嵌入式语音识别技术实现J.信息记录材料,2018,19(08):118-119. 3李彦龙. Linux下USB摄像头驱动设计与实现D.北方工业大学,2015.4张宜君,史智兴.嵌入式Linux下USB摄像头单帧图像采集系统的实现J.河北农业大学学报,2014,37(02):111-114. 5 焦国胜.嵌入式远程视频监控系统设计D. 杭州:杭州电子科技大学,20
32、126 屈丹、彭煊、王炳锡.实用语音识别基础M. 北京:国防工业出版社,20057 严蔚敏、李冬梅、吴伟民.数据结构(C语言版)(第2版)M. 北京:人民邮电出版社,20158郝雯超,冯月芹,李春光,陈义.基于嵌入式平台的实用语音识别研究J.电子器件,2018,41(01):110-114.附 录:附录1:GEC-6818核心板电路图致 谢时光荏苒,岁月如梭,我的学生生涯即将结束。在这漫长而又短暂的学生生涯中,我遇到了很多可爱的人与事。这些在我学生生涯中遇到的人与事都给予了我很多知识,这些知识将成为我生命中不可缺少的回忆,激励我的成长。在这即将毕业,即将走出校园的一刻,请允许我对所有帮助过我的
33、人道一声谢,是你们给予了我美好的学生生涯,助我在人生的道路上进一步成长。我的学生设计在指导老师的帮助下得以完成,我的指导老师是一位十分负责任的老师,在我收到毕业课题时,主动地找我约谈,为我分析课题需求,并给出了清晰的设计方案,正是在她的帮助下,我从对课题完全不懂的状态,过度到了能够分析问题,乃至解决问题的状态,没有她,我的毕设课题将存在无法解决的问题,最终导致毕业遥遥无期。除了指导老师,我还要对我的室友进行感谢,是你们为我提供了一个良好的学习氛围,我才能得以全身心地投入到毕设内容的编写与设计过程中。在我遇到问题不知该如何下手时,你们不辞辛劳地为我提供解决方案,为我集思广益,正是在你们的帮助下,
34、我的毕设课题得以圆满。最后我还要感谢一下我的父母,是你们无私的奉献才让我得以继续的我学生生涯,在我生活中遇到各种问题时,总是看到你们在我的身后,为我默默地付出,是你们的无私奉献,才有我今天的成就,真的很感谢你们。漫长的学生生涯终于结束了,在这最后的毕设过程中,我为自己的学生生涯画上了圆满的句号,从对课题的完全陌生,到能够得心应手地解决各类问题,我的个人素质以及思想状态得到了显著的提升,还记得第一次遇到代码BUG时自己的手足无措,直到翻遍各种资料才解决这个问题,能够清晰地感觉到自己的进步。学生生涯带给我的各种成长,都将助我在将来的工作道路上走的更远,这段学生生涯的记忆也将永远埋藏在我的心底,成为我永远无法忘记的烙印。19