一种基于云计算的室内场景识别方法

文档序号:10570352阅读:373来源:国知局
一种基于云计算的室内场景识别方法
【专利摘要】本发明提供一种基于云计算的室内场景识别方法,包括:将典型室内场景图像作为训练图像集上传到云平台;利用MapReduce对训练图像集并行训练得到SVM多类分类器;室内机器人携带Kinect摄像机在室内运动,将获得的室内场景的RGB图像作为测试样本集并上传到云平台;利用MapReduce并行对测试样本集中各图像进行边缘检测和PHOG特征提取;利用MapReduce并行对提取出的测试样本集中各图像的PHOG特征进行分类,完成室内场景识别。本发明将需要进行大量运算的图像特征提取和分类器训练的过程并行化,转移到云端多个计算节点上,在保证场景识别准确率的情况下,大大解放了本地计算资源的巨大压力,提高了实时性,对于实时场景识别具有重要意义。
【专利说明】
一种基于云计算的室内场景识别方法
技术领域
[0001] 本发明涉及图像检测与识别技术领域,具体涉及一种基于云计算的室内场景识别 方法。
【背景技术】
[0002] 室内场景分类是近年来发展起来的一个新的研究方向,在很多方面都有应用,诸 如图片检索、机器人定位、导航等方向。针对室内场景分类,比较流行的分类方法是通过各 种图像特征算子提取环境特征,训练出基准模型进行场景分类,例如BoW(Bag_of-words model)及其改进模型。这类方法在典型场景中具有较好的识别准确率,且鲁棒性较好,误判 率低。
[0003] 然而,上述方法用于室内场景识别时都面临实时性的问题。一方面,相较于户外场 景,室内环境通常缺少显著的局部或全局视觉特征,且室内环境具有排列无序、复杂的特 点,导致特征向量维数的增加,需要占用庞大的计算资源,使得场景识别的实时性欠佳,不 能及时得到识别信息的反馈。另一方面,目前的场景识别算法几乎都是在单个的实体计算 机中进行相关运算,得到场景识别的结果,这不仅需要庞大的计算资源,而且运算效率低, 基本无法满足实时性的要求。随着计算机科学的发展,云计算被广泛运用于各类大体量数 据处理的场合。例如AWS、Az Ure等多个成熟的云平台都能提供系统的云服务,在大规模大体 量的数据处理上提供了成熟的解决方案,并取得了良好成绩。云计算的核心技术之一是 MapReduce。它为并行系统的数据处理提供了一个简单的解决方案,并广泛用于大规模数据 的并行运算。如何提高室内场景分类的实时性,是研究者共同关注的研究热点之一。

【发明内容】

[0004] 本发明的目的在于提供一种基于云计算的室内场景识别方法。
[0005] 本发明的技术方案是:
[0006] -种基于云计算的室内场景识别方法,包括:
[0007] 将典型室内场景图像作为训练图像集上传到云平台;
[0008] 利用MapReduce对训练图像集并行训练得到SVM多类分类器;
[0009]室内机器人携带Kinect摄像机在室内运动,将获得的室内场景的RGB图像作为测 试样本集并上传到云平台;
[0010]利用MapReduce并行对测试样本集中各图像进行边缘检测和PH0G特征提取;
[0011]利用MapReduce并行对提取出的测试样本集中各图像的PH0G特征进行分类,完成 室内场景识别。
[0012]利用MapReduce对训练图像集并行训练得到SVM多类分类器,具体方法是:
[0013]利用MapReduce并行对训练图像集中各图像进行边缘检测,提取出各图像边界; [0014]根据金字塔模型将训练图像集中每个图像按照从低分辨率到高分辨率的多级方 向分层;
[0015] 对训练图像集中每层图像进行分块,再进行PH0G特征提取;
[0016] 根据任意两个图像的PH0G特征进行训练分类,得到多个二分类器;
[0017]多个二分类器组合得到SVM多类分类器。
[0018] 对训练图像集中每层图像进行分块时采用以下规则:首先将一个像素点视为一个 胞元;然后执行每层图像中各块区域的划分操作:第〇层为1*1共1个块区域,表示图像不分 块即表示全局下的PH0G特征;第一层为2*2共4个块区域,第二层为4*4共16个块区域,依次 类推。
[0019] PH0G特征提取具体方法是:统计每个块区域的梯度方向直方图即H0G特征,并按从 左往右且从上到下的顺序,依次级联H0G特征即得到每层图像的H0G特征提取结果;合并各 层图像的H0G特征提取结果则得到全局的PH0G特征。
[0020] 有益效果:
[0021] 本发明具有较好的效率,相较于依赖单机计算的传统分类方法,在具有70%的综 合识别正确率的同时,该方法的实时性提高了 1.4~2.1倍。本发明方法考虑了在本地进行 海量数据计算的延迟性和计算资源的巨大压力,通过云计算中的MapReduce方法,将需要进 行大量运算的图像特征提取和分类器训练的过程并行化,转移到云端多个计算节点上,在 保证场景识别准确率的情况下,大大解放了本地计算资源的巨大压力,提高了实时性,对于 实时场景识别具有重要意义。本方法实现了考虑云计算的室内场景识别工作。该方法在保 证识别准确率的同时,大大解放了本地海量数据计算的压力,提高了场景识别的实时性。
【附图说明】
[0022] 图1是本发明【具体实施方式】的方法流程图;
[0023] 图2是本发明【具体实施方式】的采用Canny边缘检测算子对训练图像集中各图像进 行边缘检测流程图;
[0024]图3是本发明【具体实施方式】的PH0G特征提取流程图;
[0025]图4是本发明【具体实施方式】的仿真测试结果图;
[0026]图5是本发明【具体实施方式】的加速比随节点数变化图。
【具体实施方式】
[0027]下面结合附图对本发明的【具体实施方式】做详细说明。
[0028] 本实施方式中,上传由麻省理工学院Oliva和Torralba等人收集整理的LabelMe图 像库的典型室内场景图像至Amazon云平台的S3存储桶中,作为训练图像集,然后上传 PH0G 特征提取程序代码至S3存储桶中,通过MapReduce分解,并行提取训练图像的PH0G特征向 量,根据训练图像集类别编号依次写入PH0G特征向量文本,存于Amazon云平台的S3存储桶。 此方法有效的缩短了训练时间,提高了效率。再根据MapReduce结构,将SVM多类分类器的训 练程序代码分解并传至S3存储桶中,将PH0G特征向量文本作为输入,并行训练出SVM多类分 类器。基于云计算的室内场景图像识别。携带Kinect摄像机的室内机器人工作,Kinect摄像 机获得室内的RGB图像,并将待识别RGB图像上传至S3存储桶中,通过PH0G特征提取程序提 取待识别RGB图像的PH0G特征向量,将PH0G特征向量输入SVM多类分类器得到场景分类信 息,将场景信息下载到本地机器人中。
[0029] 本实施方式所采用的云平台为Amazon云平台,通过在Amazon云上运行的虚拟服务 器集群中分配计算工作来实现大量数据的分析和处理,使用Hadoop管理该集群。Amazon Elastic MapReduce(EMR)是亚马逊Web服务(Amazon Web Services,AWS)中的一种,它通过 在Amazon云上运行的虚拟服务器集群中分配计算工作来实现大量数据的分析和处理,使用 Hadoop管理该集群。EMR运行在亚马逊的数据中心,可以使用位于亚马逊全球数据中心的计 算和软件资源。本实施方式的软件环境为Ubuntu系统,编程环境为Python。登陆Amazon EMR 控制台,创建集群,选择EMR4 ? 0版本,并选择m3 ? xlarge作为核心EC2(Elastic Compute Cloud)实例类型。由于室内场景识别时需要调用openCV的库文件,因此本实施方式中编写 构建和安装openCV库的脚本作为引导程序,在每次启动EMR集群时完成openCV库的构建和 安装。
[0030] 利用MapReduce编程模型编写提取PH0G特征提取程序,实现并行计算。MapReduce 是云计算的核心技术之一,它为并行系统的数据处理提供一种简单的解决方案。其主要目 的是为了大型集群的系统能在大数据集上进行并行工作,并用于大规模数据的并行运算。 MapReduce作为一种易于理解且功能强大的编程模型,可以在很多场景下使用,利用该模型 可以实现很多复杂的功能。在进行MapReduce分解时,需要分析各种常用特征提取算法能否 适应MapReduce计算框架。而鉴别是否能够适合Map Reduce计算框架的标准是计算的可分 离度是否高,不可分离的计算是否计算量足够小。由于PH0G提取是针对单张图像就可以完 成的,相关的计算量小,计算可分离度高,很适合MapReduce分解。
[0031] 在MapReduce计算框架中,EMR Hadoop将输入数据划分解为等长的作业分片交给 若干节点执行,每个节点处理一个作业分片,这些分片作业任务是并行执行的。将每个作业 分片划分为多个相同的键值对,每个Map任务对该分片中每个键值对调用Map函数进行处 理。这就是Map阶段。当所有Map任务执行完毕,系统将启动若干Reduce任务对Map生成中间 键值对进行处理,即进入Reduce阶段。最后生成最终结果写入输出文件。本方法把一个图像 文件作为一个作业分片,这样每个Map任务只需调用一次Map函数来处理一个图像文件,进 而实现多个图像文件的并行化处理。
[0032] 一种基于云计算的室内场景识别方法,如图1所示,包括:
[0033]步骤1、将LabelMe图像库的典型室内场景图像作为训练图像集上传到Amazon云平 台歷;
[0034] 首先在Amazon云平台上注册AWS用户并创建IAM,将PH0G特征提取程序上传到AWS 中的S3存储桶。然后启动EMR集群,配置相关软硬件,在EMR集群中启动任务节点进行并行运 算。在这个过程中要检测EMR集群的运行状态,及时发现异常。
[0035] 步骤2、利用MapReduce对训练图像集并行训练得到SVM多类分类器;
[0036]利用MapReduce对训练图像集并行训练得到SVM多类分类器,具体方法是:
[0037]步骤2-1、利用MapReduce并行对训练图像集中各图像进行边缘检测,提取出各图 像边界;
[0038] 采用Canny边缘检测算子对训练图像集中各图像进行边缘检测,如图2所示,具体 如下:
[0039] 图像的边缘是指图像的亮度在一定的小区域范围内变化最快、最剧烈的区域, Canny边缘检测算子是John F Canny提出的多级边缘检测算法。其具体实现包括以下四个 步骤:
[0040] 步骤2-1-1、灰度处理:将训练图像集中各图像处理为灰度图像;
[0041] 步骤2-1-2、对灰度图像进行高斯滤波:按照一定的参数对灰度图像中相邻的像素 点进行加权求平均,通过高斯滤波,可以有效滤除叠加在灰度图像中的高次谐波噪声。
[0042] 二维高斯平滑函数即高斯滤波函数如下:
(1)
[0044]其中,〇表示方差,决定着平滑程度。
[0045] 步骤2-1-3、计算梯度的幅值和方向;
[0046] 为了方便计算,可以利用一阶差分的方法来对图像灰度值的梯度进行近似计算, 从而可以分别得到灰度图像在x和y方向上的偏导数矩阵S x,Sy。其中,Canny边缘检测算子所 采用的卷积算子表达如下: / | | \ _7]足= (2) \ 1 V V 1 V
[0048]其x、y方向上的一阶偏导数矩阵、梯度幅值矩阵以及梯度方向矩阵的数学表达式 为:
[0053]其中,f (x,y)表示图像的二维灰度值函数,P(x,y),Q(x,y)分别表示x、y方向上的 一阶偏导数矩阵;1(1,7)、?(1,7)分别表示梯度幅值矩阵以及梯度方向矩阵。
[0054]步骤2-1-4、非极大值抑制及双线性阈值;
[0055] Canny边缘检测算子中,非极大值抑制就是在像素点区域内查找梯度方向上存在 的最大值,找到其对应的像素点,将其灰度值清零,有效地过滤掉非边缘的像素点。为了减 小虚假边缘的数量对最终结果造成的影响,采用了双线性阈值方法。选择两个不同的阈值, 首先根据高阈值处理后可以得到一个边缘线条图像,得到的图像中可能有较少的假边缘, 同时设置一个较低阈值,在保证假边缘线条数目可以接受的情况下,使得边缘线条尽可能 多地闭合。
[0056] 步骤2-2、根据金字塔模型将训练图像集中每个图像按照从低分辨率到高分辨率 的多级方向分层;
[0057]步骤2-3、对训练图像集中每层图像进行分块,再进行PH0G特征提取;
[0058]输入图像后,首先判断图像是否为灰度图,如若不是则将图像灰度化,然后用 Canny边缘检测算子提取图像边界;之后,将训练图像集中根据金字塔模型,将每个图像按 照从低分辨率到高分辨率的多级方向分层;分层后,对训练图像集中每层图像进行分块,分 块方案如下:首先将一个像素点视为一个胞元,然后执行每层图像中各块区域的划分操作: 第〇层为1*1共1个块区域,表示图像不分块即表示全局下的PH0G特征,第一层为2*2共4个块 区域,第二层为4*4共16个块区域,依次类推;分块之后进行PHOG特征提取,统计每个块区域 的梯度方向直方图即HOG(Histogram of Oriented Gradient,H0G)特征,并按从左往右且 从上到下的顺序,依次级联各块HOG特征即得到每层图像的HOG特征提取结果;合并各层图 像的HOG特征提取结果则得到全局的PH0G特征。当层数为3,梯度方向数bin = 12时,就会生 成一个1020维的PH0G特征向量。PH0G特征提取流程图如图3。
[0059] 梯度方向直方图(Histogram of Oriented Gradient,H0G)特征是一种对图像中 包含的物体进行检测和描述,通过计算和统计图像局部或整体区域的梯度方向直方图构成 特征向量的特征描述方法。首先标准化ga_aS间和颜色空间,将图像窗口分成若干个单元 格,然后将每个单元格中所有像素的一维梯度直方图累加到其中,最后将基本的方向直方 图映射到固定的角度上,形成最终的特征。
[0060] PH0G特征在H0G特征的基础上加入图像金字塔模型改进而成,与传统H0G特征相 比,PH0G可以检测到不同尺度的特征信息,表达能力更强。
[0061 ] 利用MapReduce提取训练图像的PH0G特征向量,主要通过Map和Reduce两个函数实 现。在Map函数中,其Input〈key,value>中key表示存有训练图片路径的txt文档,value为 NULL; Map函数的作用是提取每张图片的PH0G特征,并将特征和对应图片编号作为函数的 0utput〈key,value〉。在Reduce函数中,其Input〈key,value〉即为Map函数的0utput〈key, value〉,即Key表示图片编号,value表示编号对应的PH0G特征向量;Reduce函数的作用是将 所有图片的PH0G特征向量写入一个txt文档,并输出。具体的实现过程如表格1所示。
[0062] 表1 PH0G特征提取的MapReduce实现
[0064] 步骤2-4、根据任意两个图像的PH0G特征进行训练分类,得到多个二分类器;
[0065] 考虑到样本数目太多,如果采用一对多方法,可能造成训练困难,因此本实施方式 中的SVM中多类分类器以一对一的模式,当训练图像类别数为N时,以_
个二类分类 器组合而成的。每个二分类分类器的训练也是独立不相关的,因此可以采用MapReduce的框 架来实现这个N类分类器。分类器的训练过程主要是将N个类别的PH0G特征向量进行两两组 合,每一个组合都是两个种类的样本集,可以进行二分类训练。单个二分类器的训练就是一 个基本单元的计算,而这么多个组合则可以使用MapReduce进行并行计算。SVM二分类器构 造多类分类器的MapReduce实现如表2所示。
[0066] 步骤2-5、多个二分类器组合得到SVM多类分类器。
[0067] SVM是基于数据分析理论发展起来的一种机器学习方法,其核心思想是从给定的 数据寻找数据间存在的规律,对其他数据的种类或者信息进行预测、判别。其原理在于寻找 一个最大间隔的超平面,本质是解决公式(7)、(8)的优化问题。其中,y为训练结果集向量,x 为训练集向量,K(XiXj)为核函数,其中,ai>〇,i = l,2,3…,1表示Largrange系数。。
(7)
[0069]最优分类函数可表示为:
[0070] /(x) = sgn x;.)+b* (8) _/=l _
[0071] 其中,
(9)
[0073] _表示求解式(7)得到的最优Largrange系数ai,xi、xr为两个不同类别中任意的一 对支持向量。
[0074] SVM的算法过程本来是针对二分类情况而来的,那么SVM针对多个类(N种类别)的 分类,不仅仅需要找出一个超平面;在一般情况下,一个超平面可以划分出两种类别,那么 对于N种类的分类就至少需要
个超平面,而如何通过二分类器构建多类分类器, 则具有很多种组合方式。本方法中采取了一对一方法,主要考虑到样本数目太多,如果采用 一对多方法,可能造成训练困难。
[0075] 训练SVM多类分类器是采用MapReduce方法,同样包括Map和Reduce两个函数,其具 体作用为:在Map函数中,Input〈key,value>中key表示任意两类图片的编号组合(i,j),当 训练图片类别数为N时,共有种组合方式,value表示类别编号为(i,j)图片对应的PH0G特 征向量;〇utput〈key,value〉中key表示两类图片的编号组合,value表示训练后得到的关于 类别(i,j)的二分类器(i,j),共计^个二分类器。Map函数的功能为并行训练出巧个二分 类器。Reduce 函数将 Map 函数的Output〈key,value〉作为 Input〈key,value〉,将(,\ 个二分类 器组合得到SVM多类分类器。其具体的实现过程如表2所示。
[0076] 表2 SVM多类分类器的MapReduce实现
[0078]步骤3、室内机器人携带Kinect摄像机在室内运动,将获得的室内场景的RGB图像 作为测试样本集并上传到Amazon云平台;
[0079]步骤4、利用MapReduce并行对测试样本集中各图像进行边缘检测和PH0G特征提 取;
[0080]步骤5、利用MapReduce并行对提取出的测试样本集中各图像的PH0G特征进行分 类,完成室内场景识别。
[0081] 本实施方式以5类场景每类50幅共250幅室内场景图像构成的训练图像集用于训 练测试,以5类场景每类20幅共100幅卧室图像构成的测试图像集用于单独测试,其中用于 单独测试的训练图像和测试图像的是不同的。
[0082] 利用SVM多类分类器对提取的目标图像特征向量进行分类。测试结果如图4所示。 图中横坐标表示样本编号,纵坐标表示样本类别,图中绘制出了真实类别与预测类别的折 线图,两者相交的点即为预测对的样本点。经过统计,测试结果的准确率如表3所示。
[0083] 表3测试准确率
[0085]除了分析识别率这一重要数值之外,还需要对时间效率进行分析。对于MapReduce 主要是分析系统的加速比Speedup。加速比就是多台机器运行下的速度和单台机器下的运 行速度之比。
(10)
[0087]其中,Ti为数据在一个计算节点上用的时间,Tm为同样的数据在m个计算节点上的 运行时间。理想的并行方法加速比应该呈线性增长。图5为测试时得到的加速比随节点数的 变化曲线。其中横坐标为节点个数,纵坐标为加速比的值。图中蓝色标准线即为理想情况下 的增长线。从图中可以看出,随着节点数的从1增加到5,加速比(运行时间)增加(减少)了 1.4~2.1倍;在节点数相同的情况下,数据体量越大,加速比增加的越多。综上,本方法实现 了考虑云计算的室内场景识别工作。该方法在保证识别准确率的同时,大大解放了本地海 量数据计算的压力,提高了场景识别的实时性。
【主权项】
1. 一种基于云计算的室内场景识别方法,其特征在于,包括: 将典型室内场景图像作为训练图像集上传到云平台; 利用MapReduce对训练图像集并行训练得到SVM多类分类器; 室内机器人携带Kinect摄像机在室内运动,将获得的室内场景的RGB图像作为测试样 本集并上传到云平台; 利用MapReduce并行对测试样本集中各图像进行边缘检测和PHOG特征提取; 利用MapReduce并行对提取出的测试样本集中各图像的PHOG特征进行分类,完成室内 场景识别。2. 根据权利要求1所述的基于云计算的室内场景识别方法,其特征在于,利用 MapReduce对训练图像集并行训练得到SVM多类分类器,具体方法是: 利用MapReduce并行对训练图像集中各图像进行边缘检测,提取出各图像边界; 根据金字塔模型将训练图像集中每个图像按照从低分辨率到高分辨率的多级方向分 层; 对训练图像集中每层图像进行分块,再进行PHOG特征提取; 根据任意两个图像的PHOG特征进行训练分类,得到多个二分类器; 多个二分类器组合得到SVM多类分类器。3. 根据权利要求2所述的基于云计算的室内场景识别方法,其特征在于,对训练图像集 中每层图像进行分块时采用以下规则:首先将一个像素点视为一个胞元;然后执行每层图 像中各块区域的划分操作:第0层为1*1共1个块区域,表示图像不分块即表示全局下的PHOG 特征;第一层为2*2共4个块区域,第二层为4*4共16个块区域,依次类推。4. 根据权利要求2所述的基于云计算的室内场景识别方法,其特征在于,PHOG特征提取 具体方法是:统计每个块区域的梯度方向直方图即HOG特征,并按从左往右且从上到下的顺 序,依次级联HOG特征即得到每层图像的HOG特征提取结果;合并各层图像的HOG特征提取结 果则得到全局的PHOG特征。
【文档编号】G06K9/62GK105930794SQ201610247012
【公开日】2016年9月7日
【申请日】2016年4月20日
【发明人】张云洲, 胡涛, 祁玉晓, 李世鹏
【申请人】东北大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1