该项目是暑假时和儿子一起为他学校秋季“校园科技节”准备的项目。不过,他因是高一新生,今年的“校园科技节”没有安排高一新生参加,现在把该项目的制作过程的全部资料公布出来,供有兴趣的朋友参考:
人工智能手写数字识别机项目简介
手写数字识别机是利用人工智能最基础的mnist(手写数字识别)项目,加上摄像头与arduino及数码管组成。手写数字识别机能识别摄像头拍摄到的手写数字,并在数码管上显示出识别结果。
使用方法:将arduino、摄像头用分别接到电脑的USB端口。运行pc机上主程序,将写有数字的白纸放在USB摄像头前方20厘米处,移动纸张,观察屏幕上的图像,使数字处于取景框内,程序自动运行神经网络模型,并把识别结果通过数码管显示出来。
项目创意:mnist是人工神经网络深度学习的入门级例子,从数据集的获取到神经网络的搭建与训练都十分简单,是个十分纯粹的软件项目。为了增加该例子的趣味性和互动性,我受到神经网络智能小车项目的启发,给电脑增加摄像头,用于获取图像,增加arduino驱动数码管,用于显示识别结果,增加了用户友好性。
制作过程:从一个Python零基础小白到制作出识别手写数字机,历经两个星期时间,分别学习python基础知识、神经网络、opencv及python的pyserial库与arduino驱动数码管。
制作感悟:人工智能近年来已成为热门话题,作为科幻作品中的热门题材,对于大众来说是一个神秘的技术。但经历两个星期的学习后,对人工智能中最重要的部分——深度学习,有了一个初步的了解,体会到了数学与计算机两个工具结合而产生的强大威力。
互联网上信息丰富,但良莠不齐。即是个消磨时光的方式,也是个学习知识的便捷渠道。
项目制作要应用到电脑、数学、物理等方面知识,是一个综合能力的提升与考验。
扩展应用:将该项目进行扩展,可以做成无人驾驶车以及人脸识别等多种应用。
参考资料:才云科技郑泽宇顾思宇的《TensorFlow实战Google深度学习框架》,林大贵的《TensorFlow+Keras深度学习人工智能实践应用》,乔.米尼奇诺 约瑟夫.豪斯的《OpenCV3计算机视觉Python语言实现》,Eric Matthes的《Python编程从入门到实践》,及众多网络文章。
项目环境搭建
项目需要搭建opencv的开发环境,现把整个安装过程整理如下。(环境为python3.6+win10+64位系统)
Python 是一个有条理的和强大的面向对象的程序设计语言,已经成为最受欢迎的程序设计语言之一,连Google都在大规模使用Python。有前辈说,写一个项目代码,C语言要写1000行代码,而Python可能只要20行。
由于Python语言的简洁性、易学、免费、开源、可移植、可扩展性等优点,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV,Python专用的科学计算扩展库就更多了,例如NumPy、matplotlib,它们分别为Python提供了快速数组处理、绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。
1.安装python3.6(目前可安装3.7)从www.python.org上下载python for windows,运行安装。
以管理员身份运行cmd,具体过程详见:
https://jingyan.baidu.com/album/3a2f7c2edee51226afd611f0.html?picindex=1
2.升级安装工具pip :
Python -m pip install --upgrade pip
3.安装tensorflow
pip install tensorflow
4.安装keras :
Pip install keras
5.安装 h5py和matplotlib,用于保存模型文件和图片显示
Pip install h5py
Pip install matplotlib
6.安装opencv 与串口通信库
pip install opencv-python
Pip install pyserial
7.安装arduino IDE,过程可参考网络帖子《Arduino入门教程--课前准备--Arduino驱动安装及1.0 IDE菜单介绍》https://www.cnblogs.com/gaosheng-221/p/6631383.html
领取专属 10元无门槛券
私享最新 技术干货