您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 基于移动终端的图像分类器研究与系统实现
龙源期刊网基于移动终端的图像分类器研究与系统实现作者:张溦溦于金亮张豪派肖雪徐婷来源:《科学与信息化》2018年第15期摘要图像识别技术是根据图像的语义信息将不同类别图像区分开,TensorFlow框架是谷歌开源的第二代人工智能学习系统。本文记述由图像识别算法卷积神经网络入手,基于TensorFlow语法,在电脑端实现重新训练模型,并将其移植到移动端,实现了移动终端分类器。关键词图像分类;TensorFlow;Android;卷积神经网络;人工智能AbstractImagerecognitiontechnologydistinguishesdifferenttypesofimagesbasedonthesemanticinformationoftheimages.TheTensorFlowframeworkisGoogle’ssecond-generationartificialintelligencelearningsystem.Thisarticledescribestheimagerecognitionalgorithmconvolutionalneuralnetworktostart,basedonTensorFlowsyntax,re-trainingmodelonthecomputerside,andtransplantittothemobileterminal,toachieveamobileterminalclassifier.KeywordsImageClassification;TensorFlow;Android;ConvolutionalNeuralNetwork;ArtificialIntelligence引言人工智能作为新一轮产业变革的核心驱动力,将催生新的技术、产品、产业、业态、模式,从而引发经济结构的重大变革,实现社会生产力的整体提升。麦肯锡预计,到2025年全球人工智能应用市场规模总值将达到1270亿美元,人工智能将是众多智能产业发展的突破点[1]。而作为人工智能领域的一个重要方向,图像识别得到了各方的重视。所谓图像识别是根据图像的语义信息将不同类别图像区分开来,是计算机视觉中重要的基本问题。近些年,由于轻便、方便携带等特点,移动终端得到了极大的发展。由于手机相机方便获取、手机内存不断扩大容量和人们习惯运用手机记录生活,人们的手机中储存了越来越多的图像,在这种背景下,移动终端与图像分类技术的结合已是必然趋势。1可行性研究自2015年11月首次发布以来,TensorFlow凭借谷歌的强力支持,快速的更新和迭代,齐全的文档和教程,以及上手快且简单易用等诸多的优点,已经在图像识别、语音识别、自然语言处理、数据挖掘和预测等AI场景中得到了十分广泛的应用。龙源期刊网应用场景中,或许是源于视觉对人类的直观性和重要性,图像识别成为其中发展速度最快的一个。目前,该技术已经逐渐趋于成熟,并在人脸和情绪识别、安防、医疗筛查和汽车壁障等诸多领域都取得了重大成功。目前移动终端图像分类不便捷的现象普遍存在,本课题计划通过在Android上运行TensorFlow,调用已有算法,并进行优化,以实现在移动设备上的图像分类。2Tensorflow框架简介2.1基本概念TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。TensorFlow可被用于语音识别或图像识别等多项机器学习和深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。TensorFlow将完全开源,任何人都可以用。2.2卷积神经网络如下图1所示,输入一张图像,该图像通过卷积层、池化层和全连接层的处理,最终被分类为四种种类,即dog、cat、boa、,bird。图片显示了,卷积神经网络接收一张boat的图像,输出boat的概率为0.94。这说明卷积神经网络有很大的把握这是一张boat的图像。2.3图像输入如下图2所示,每张图像都是由像素点组成。由此我们可以通过将图像表示为矩阵,输入到卷积神经网络中。卷积层使用一个小规模的矩阵在图像上进行卷积操作,目的是获得输入图片的特征。如下图3所示,我们将一张图像表示为5x5的矩阵A。如下图4所示是一个3x3小规模的矩阵B。如下图5所示,使用小规模矩阵在图像上进行卷积运算。得到卷积特征的第一个值。然后将3x3矩阵B向右滑动,进行下一次卷积运算。依次进行下去,最后就能得到一个完整的图像卷积特征。龙源期刊网小规模矩阵又叫作卷积核或者过滤器,用不同卷积核(过滤器)处理图像会得到不同的图像特征,有些图像特征可能包含图像的边缘线条,而有些图像特征可能将图像锐利化处理。2.5池化层池化层减小了图像特征的维度但是仍保留了最主要的图像特征信息。如在最大池化中,我们以2步长滑动,每次选取窗口中的最大值作为输出。如下图7所示在全连接层中,上一层的每一个神经元都与本层的神经元连接。全连接层通过接受来自卷积层和池化层得到的图像特征作为输入,经过训练好的隐藏层的处理,计算出最原始的图像对各个种类的值,再将该组值输入softmax函数中,将值转化成概率,这时各种种类概率总和为1,也就可以作为最后的输出。那么这些隐藏层是怎么训练的呢?我们需要大量的图像,并赋予这些图片标签,将一张图像输入到模型之中,经过卷积层、池化层的处理得到图像的特征,输入到全连接层中,这些特征通过与隐藏层的矩阵参数做矩阵乘法得到最后的结果,然后将结果与标签比较,我们会发现这些结果与标签所代表的正确答案相去甚远,模型就会反向修改参数矩阵,使得结果与答案的“距离”缩短,以达到优化的目的。等到指定训练次数完成之后,可以在模型中输入一些新的图像和标签,来测试模型的准确率。3训练Tensorflow模型,提高准确率3.1基于Mobilenet模型的Android图像分类器迁移训练可以重新训练Mobilenet模型。下面我们在Windows上利用Mobilenet模型来训练自己的图像分类器,并将其移植到TensorFlow在Android移动端的官方小样中。(1)TensorFlow的安装这里以Windows(Windows10)环境为例,TensorFlow在Windows上只支持python3.5和python3.6。①安装python3.5或者python3.6使用python3的pip包管理命令进行安装。在AndroidStudio中实现TensorFlowDemo下载安装最新版本AndroidStudio从GitHub上获取源码。为电脑配置git命令。龙源期刊网。导入build.gradle文件,找到nativeBuildSystem变量,修改变量值为none点击运行Run-Run’android’3.2准备数据集[2]①我们可以通过百度图像准备自己想要训练的图像,如搜索5种动物布谷鸟、青蛙、狮子、猫头鹰、麻雀的图像,每种目录图像在不同环境下及地点各100张图像,共约700张。为了使图像分类器有很好的泛化能力,我们可以加入一些扭曲的图像。②在TensorFlow目录下创一个文件夹。将每类图像集移动到相应的文件夹中。3.3重新训练模型向系统传入变量。cd~/tensorflow/tensorflow/examples执行。--image_dir=tf_files/ImageSets训练完成后会在tf_files目录下发现文件retrained_graph.pb和retrained_labels.txt。这时训练好的retrained_graph.pb模型还不能够在移动端使用,这是因为在电脑端训练的模型中具有许多仅在电脑端使用的op,这是因为TensorFlowMobile中仅含有常用的op,是受限的库。所以我们需要对模型进行优化才能移植到手机端。我们完成优化所需要使用的脚本文件是~/tensorflow/tensorflow/python/tools/optimize_for_inference.py训练完成后会在tf_files目录下发现文件optimized_graph.pb。3.4完成移植①使用AndroidStudio打开tensorflow-tensorflow-examples-android②将optimized_graph.pb和retrained_labels.txt文件复制到assets目录下③修改路径privatestaticfinalStringLABEL_FILE=”file:///android_asset/retrained_labels.txt”④重新编译龙源期刊网效果初现将训练好的模型移植到移动端后,图像识别分类器已基本实现,可进行初步的图像识别,效果如下图9所示。导入图片后,经过模型识别,给出识别结果,其中包括了图像的类型以及系统识别的准确度(如图中自信程度)。5结束语TensorFlow是一个很好的机器学习框架,利用TensorFlow可以快速实现分类器,通过对图像分类算法的分析,利用预训练好的Inception模型,快速实现了移动端图像分类器。参考文献[1]佚名.中国《人工智能标准化白皮书2018》发布[J].智能建筑,2018,(2):22-22.[2]曹大有,胥帅.基于TensorFlow预训练模型快速、精准的图像分类器[J].汉江师范学院学报,2017,37(3):27-32.指导教师王宏伟,中国民航大学计算机科学与技术学院讲师,计算机创新创业实践基地指导教师。
本文标题:基于移动终端的图像分类器研究与系统实现
链接地址:https://www.777doc.com/doc-3947912 .html