语音识别和人脸识别是人工智能(AI)领域中应用最广泛的AI技术。本书抛掉繁杂理论,站在应用开发角度,以语音识别和人脸识别系统为例,手把手带领大家开发出一套商用AI识别系统。整套识别系统选用TI公司的CC3200芯片作为本地硬件核心,自主搭建服务器作为数据处理中转站,以百度开源SDK作为语音人脸识别的算法接口。本书的作者具有多年无线通信软硬件开发经验、高并发服务器开发经验及加解密算法开发经验。对于想要快速开发AI项目,却受困于算法层的开发爱好者、从业者,又或者是正在学习AI语音识别和人脸识别技术的读者,本书都是一本不错的指导书。
随书的源码、视频、套件都可以扫描封底二维码或通过https://www.fengke.club/post/1840官网社区论坛获取。
AI是时下非常火热的技术名词,它是人工智能(Artificial Intelligence)的英文简写,也是计算机科学的一个分支领域。该领域的研究主要包括机器人、语音识别、图像识别、自然语言处理和专家系统等。
在中国人工智能产业起步相对较晚,产业布局、技术研究等基础设施正在布署,但事实上中国人工智能的研究已达到爆发期。伴随着爆发期的出现,各类打着AI标识的产品陆续进入我们的生活,越来越多的企业投身于AI产品的开发中,其中语音识别和人脸识别的相关产品最多。但目前市场上缺少系统讲解AI语音识别及人脸识别技术的应用型书籍,网络上能找到的相关技术资料都过于理论或片面,与真实的产品应用开发相差甚远。正是由于开发资料的稀缺,导致AI研发工程师缺口很大。如何快速掌握AI相关的开发技术,并将其应用于产品开发中,是众多软硬件工程师渴望解决的问题。
其实,对于99%的IT软硬件工程师来说,学习AI识别技术绝不仅仅是学习理论算法。在AI算法方面,已有许多优秀的公司开放了自己的算法接口,如百度、微软、谷歌等,这些算法接口都是在已有的理论基础上优化得来的。作为开发者,我们不必在意算法细节,应该学会如何运用已有的优质开发算法接口,借助前辈的经验累积,快速开发出适合自身需求的商用AI产品。
全书始终以“AI语音识别”和“AI人脸识别”这两个项目为主线,细致地讲解了语音识别和人脸识别的软硬件开发全流程。“工欲善其事,必先利其器”。本书第1章,便是教读者如何打造开发AI项目的“利器”,带领大家完成硬件和服务器的开发环境搭建。第2章则重点讲解了硬件、服务器及算法方面的基础知识,从而打造出“利刃”,之后便是“小试牛刀”,通过一系列基础小项目的开发讲解,让读者持续体会AI开发的乐趣。第3章和第4章属于工程实战,“劈开”AI项目开发这座艰难的大山,一步步带领大家开发出完整的AI识别系统。
本书的特点在于如下方面:
① 实用性强。以两个热门AI项目——“语音识别”和“人脸识别”为例,全面讲解了开发AI语音识别、人脸识别系统的流程和技能。
② 内容全面。全书基本涵盖了从底层硬件到上层软件开发的所有知识点。
③ 实验可靠。书中所有源码都是经过真实环境验证的,具有极高的含金量。
④ 售后答疑。广大读者可扫描封底二维码加入售后答疑QQ群或在https://www.fengke.club/post/1840官网社区提问,编者会不定期做出答疑。
本书适用的读者范围如下:
① AI语音识别和人脸识别项目的爱好者。
② 欲快速开发稳定、可靠的AI语音识别和人脸识别系统的企业。
③ 高校师生。本书既可作为AI项目的开发指南,也可直接作为授课教材。
本书由刘燃负责策划和审校,其中硬件部分由谢华尧在疯壳AI开发套件的基础上改编而来,全书的服务器软件部分由曹强负责在疯壳AI服务器资料的基础上改编而来,其他部分则由刘燃、谢华尧及曹强共同完成。在此特别感谢深圳疯壳团队的每一位小伙伴,为本书的编写提供了可靠的技术支撑与精神鼓励。此外,还要感谢西安电子科技大学出版社的工作人员,正是他们的支持才有本书的问世。
本书的所有内容,尽管编者都给予了认真校验,但也难免会有一些纰漏,读者可通过社区论坛与作者互动,使其日臻完善。
第1章 开发准备 1
1.1 人工智能(AI)简介 1
1.2 AI语音及人脸识别的开发套件 1
1.3 开发环境的搭建 3
1.3.1 IAR安装 3
1.3.2 CCS UniFlash安装 8
1.3.3 CC3200 SDK安装 10
1.3.4 ServicePack安装 15
1.3.5 TI Pin Mux Tool安装 17
1.3.6 JDK安装 19
1.3.7 Eclipse安装 25
1.3.8 Sokit和Pcm2Wav简介 30
第2章 开发基础 31
2.1 硬件开发基础 31
2.1.1 CC3200简介 31
2.1.2 GPIO 33
2.1.3 定时器 43
2.1.4 串口 65
2.1.5 外部中断 84
2.1.6 PWM 90
2.1.7 WiFiUDP网络通信 115
2.1.8 WiFiTCP网络通信 121
2.2 软件开发基础 126
2.2.1 Java简介 126
2.2.2 网络协议基础 134
2.2.3 Netty基础 136
2.2.4 HttpClient基础 140
2.2.5 数据的存储形式 142
2.2.6 加解密算法基础 143
第3章 AI语音识别系统开发实战 149
3.1 语音识别系统架构 149
3.2 语音识别硬件设计 149
3.3 语音识别硬件代码详解 152
3.4 语音识别服务器开发 160
3.4.1 HttpClient语音识别 160
3.4.2 Netty接收语音文件 161
第4章 AI人脸识别系统开发实战 165
4.1 AI人脸识别系统架构 165
4.2 人脸识别硬件设计 166
4.3 人脸识别硬件代码详解 167
4.4 人脸识别服务器开发 172
4.4.1 HttpClient人脸识别 172
4.4.2 Netty接收人脸图像文件 176
附录 AI设备通信协议 180
参考文献 185