论文部分内容阅读
随着现代社会经济不断发展,人民币纸币的数量急剧增加,而人民币纸币在使用过程中不可避免的会沾染到污渍,进而影响人民币纸币的正常使用。因此银行相关方面需要一个自动化的人民币纸币清分程序,用于完成人民币纸币不同面额的分类,以及人民币纸币是否存在污渍的辨识。本课题以此为背景,进行了基于神经网络的人民币纸币图片分类程序研究,以及基于计算机视觉的人民币纸币图片污渍辨识程序的研究和实现。由于不同神经网络结构所需要的输入图片大小不同,所以首先利用计算机视觉图像处理技术,对输入的人民币纸币原始图片进行裁剪和双线性插值压缩,为后续不同的神经网络结构提供尺寸大小合适的人民币纸币输入图片。由于输入的人民币纸币原始图片纹理比较复杂,使用特征点和轮廓检测的方法不仅算法自身会难度过高,而且非常容易受到光照、图片漂移等因素影响,所以本课题中采用搭建并训练神经网络结构的方式来完成输入人民币纸币图片的分类任务。本课题中自行搭建并训练了一个全连接神经网络结构,除此神经网络结构外,对LeNet-5神经网络结构和AlexNet神经网络结构做了基于本课题实际应用场景的适应性调整并训练。为提高分类准确度,设计了一个综合分类程序,利用上面三个神经网络结构输出的人民币纸币图片分类结果,输出最终的人民币纸币图片分类结果。利用Matlab进行仿真实验得到100%的分类准确度。由于输入的人民币纸币图片中污渍显示为像素值比较低的黑色,因此存在污渍的人民币纸币图片在污渍位置的像素差会比不存在污渍的人民币纸币图片同位置的像素差大,所以在本课题中利用设定像素差基准的方式,给出输入的人民币纸币图片上是否存在污渍的辨识结果。课题中使用了归一化的方式来减小光照非恒定的影响,设定像素差基准时使用了统计的方式减小图片漂移的影响,辨识程序中通过设定像素差阈值和统计阈值的方式提高辨识准确度。利用Matlab进行仿真实验得到99.5%的辨识准确度。以TX2作为实验平台,将Windows操作系统下Matlab环境中的仿真程序向ubuntu操作系统下C++代码移植,完成测试得到99.5%的辨识准确度和14.5ms的单张人民币纸币图片辨识耗时。