CN110837806B - 一种基于深度卷积记忆网络的室内定位方法 - Google Patents

一种基于深度卷积记忆网络的室内定位方法 Download PDF

Info

Publication number
CN110837806B
CN110837806B CN201911093298.4A CN201911093298A CN110837806B CN 110837806 B CN110837806 B CN 110837806B CN 201911093298 A CN201911093298 A CN 201911093298A CN 110837806 B CN110837806 B CN 110837806B
Authority
CN
China
Prior art keywords
data
dimensional
convolution
error
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911093298.4A
Other languages
English (en)
Other versions
CN110837806A (zh
Inventor
张振宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Liaoning Institute of Science and Technology
Original Assignee
Liaoning Institute of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Liaoning Institute of Science and Technology filed Critical Liaoning Institute of Science and Technology
Priority to CN201911093298.4A priority Critical patent/CN110837806B/zh
Publication of CN110837806A publication Critical patent/CN110837806A/zh
Application granted granted Critical
Publication of CN110837806B publication Critical patent/CN110837806B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]

Abstract

本发明公开一种基于深度卷积记忆网络的室内定位方法,属于电子信息技术领域,该方法采用一维卷积神经网络代替二维卷积神经网络,并考虑不同隐含层的重要程度,采用自适应滤波器使得每个隐含层具备“遗忘”功能,在有效提取图像的空间特征的同时有效提取图像的空间特征的时间联系,提高了基于图像的室内定位系统的鲁棒性。本发明同时开发了一维卷积加速器和自适应滤波器加速器,使得在资源有限的嵌入式平台上实现深度记忆卷积神经网络成为可能,提升了硬件的吞吐率,降低了资源占用率。

Description

一种基于深度卷积记忆网络的室内定位方法
技术领域
本发明涉及电子信息技术领域,尤其涉及一种基于深度卷积记忆网络的室内定位方法。
背景技术
随着科学技术的不断进步,精确的位置信息对于人类或其他智能体变得越来越重要。全球卫星定位系统提供了有效的室外定位手段,成为出行导航的必备工具。但是卫星导航也有其不足和脆弱性,在高楼林立的都市峡谷以及大型室内场馆,接收机无法接收到多颗卫星的视线信号,定位精度会大幅度降低,甚至无法定位。然而,大型公共场馆内部建筑结构复杂、人员密度高,对室内定位的需求十分迫切,位置服务的“最后一公里”问题日益突出。
A-GPS、红外线、超声波和WLAN定位都可以用来进行室内定位,但是均有其不足之处。A-GPS在启动的时候能够接收到GPRS传来的辅助定位信息,但是在室内无法接收到卫星信号的情况下,还是无法完成精确定位;另外,A-GPS需要通过GPRS来接收辅助定位信息,导航仪需要另外增加一个GPRS模块,势必会增加制造成本,而且A-GPS定位必须通过多次网络传输,占用了大量的通信资源;最后,A-GPS尽管能够实现室内定位,但是室内信号严重衰减降低了定位精度。红外线只能视距传输,穿透性差,当标识被遮挡时就无法正常工作,也极易受灯光和烟雾等环境因素影响,在建筑物内不能很好的工作。超声波在空气中严重衰减,且测距受多径效应和非视距传播影响很大,需要增加硬件设施,成本过高。WLAN根据接收到信号强度或信噪比等进行定位,但需要额外的基础设施;WLAN信号容易受到流动人群干扰,设备本身存在信号差异性导致精度降低。
目前智能手机均安装有高清摄像头,根据场景图像采用神经网络预测摄像头位姿,对于室内和都市峡谷等卫星导航不准确甚至失效环境下的导航是非常有意义的。英国剑桥大学的科学家Alex Kendall等开发了一种鲁棒的实时单目六自由度重定位系统,该系统训练一个卷积神经网络,该系统模型采用GoogLeNet,包含22个卷积层、特征向量层和全连接回归层,可以端到端的从RGB图像中回归出六自由度位姿,而不需要其他额外的处理。虽然卷积神经网络可以学习和提取各类空间特征,但对于长距离时序数据无能为力。
长短时记忆网络则具备一定的长距离时序数据的信息挖掘能力,输入的数据越长,所含信息量越大。卷积神经网络与长短时记忆网络的融合模型即能有效的提取空间特征,也能够挖掘空间特征之间的时间联系,并被应用于行为预测和语音识别。虽然上述融合模型具有较长短时记忆网络更强的建模能力,但由于训练融合模型经常采用BPTT算法,训练速度缓慢并存在梯度消失问题。
前馈序列记忆神经网络包含输入层、隐含层和输出层,每一个隐含层包含一个记忆块,记忆块用来存储每帧输入的历史信息和未来信息,隐层与记忆块共同构成双向前馈序列记忆神经网络层,可以有效的对输入数据中的长时相关性进行建模,因此可以获得更好的性能。前馈记忆神经网络虽然每个隐藏层均配有一个记忆块,但是并没有考虑到不同隐藏层的重要程度,且隐藏层采用全连接,存在很大弊端,即样本必须面面俱到,否则容易出现预测失败,因而与卷积神经网络相比,其空间特征提取能力较弱。
发明内容
针对上述现有技术的不足,本发明提供一种基于深度卷积记忆网络的室内定位方法。
为解决上述技术问题,本发明所采取的技术方案是:一种基于深度卷积记忆网络的室内定位方法,其原理框图如图2所示,其流程如图1所示,包括如下步骤:
步骤1:采集一组室内图像数据集,并进行预处理;
所述的图像预处理包括:均匀纵横比、图像缩放、降维、数据扩充、规范化;
所述均匀纵横比是通过检查输入图像是否为正方形,并选择图像中间的方形部分进行适当地裁剪,以确保图像具有相同的大小和纵横比;
所述图像缩放是指采用图像金字塔方法进行降采样,再将降采样后的图像放大到与降采样前的图像大小一致;
所述降维是指将图像的RGB三通道变为单个灰度通道,并采用主成分分析PCA算法实现降维,使得神经网络的性能保持不变,或者使训练问题更容易处理;
所述数据扩充是指采用缩放、旋转、监督式扣取和色彩抖动实现图像数据扩充,使得神经网络识别数据集中不需要特征的可能性降低,增强神经网络的鲁棒性;
所述规范化是指通过从每个像素中减去平均值,然后将结果除以标准偏差来完成的,规范化后的数据分布类似于以零为中心的高斯曲线,确保每个输入像素具有相似数据分布,使得神经网络在训练时可以更快地收敛。
步骤2:将预处理后的图像数据集的二维像素数据通过RESHAPE算法进行降维,得到一维数据;
步骤3:搭建一维深度卷积记忆网络架构,如图3所示,输入步骤2得到的一维数据,采用最小均值误差算法(LMS)计算各卷积层的重要性因子,若误差不满足要求则采用端到端方法训练一维深度卷积记忆网络,得到神经网络权值;
步骤3.1:以[0,1]范围内随机数初始化各卷积层的权值和重要性因子;
步骤3.2:将一维卷积神经网络中各池化层的输出作为自适应滤波器的输入,将一维卷积神经网络最后一级全连接层的输出通过RESHAPE算法将一维数据转换成二维数据;
步骤3.3:然后将自适应滤波器的输出与步骤3.2得到的由全连接层输出转化而来的二维数据进行相减,误差反馈给自适应滤波器;
步骤3.4:由自适应滤波器通过最小均值误差算法(LMS)计算各卷积层的重要性因子;
步骤3.5:重复步骤3.2至步骤3.4直到误差满足小于设定的阈值为止;若重复次数达到预定值,误差仍然不能满足要求,则执行步骤3.6至步骤3.7;
步骤3.6:保持各卷积层的重要性因子不变,采用端到端方法训练一维深度卷积记忆网络,更新各卷积层权值;计算自适应滤波器的输出与一维卷积神经网络全连接层输出转化成的二维数据之间的误差,误差反馈给自适应滤波器;
步骤3.7:重复执行步骤3.6,直到误差小于设定的阈值停止迭代;
所述的自适应滤波器和一维卷积神经网络由硬件加速器实现,所述硬件加速器包括:嵌入式平台、一维卷积加速器、自适应滤波器加速器和控制器,其结构如图4所示;
所述嵌入式平台,由ARM和FPGA构成,主要实现一维深度卷积记忆网络的初始化、误差计算、端到端训练、数据的浮点到定点转换、权值和重要性因子的CSD编码,并根据迭代流程将数据、权值和重要性因子传递给对应模块的功能;
所述一维卷积加速器,由输入缓存、参数缓存、一维卷积器、池化层和输出缓存构成,主要实现一维数据集的卷积操作,其结构如图6所示;
所述一维卷积加速器的工作过程如下:
S1:设置步进距离S;
S2:从ARM控制器读入16位二进制数据和CSD编码的权值,二进制数据长度与权重值相同均为L;
S3:一维卷积实现二进制数据和CSD编码权值的乘累加功能,如图7所示,乘法可根据CSD编码对二进制数移位相加实现,乘累加和为64位,在每一级乘法和加法后面均增加流水线以提高吞吐率;
S4:池化层采用均值池化法,对2M个乘累加值求和,M为整数,求和结果右移M位即可得到均匀池化值,并传递给输出缓存;
S5:从控制器中读取S个数据,与原数据的前L-S数据共同构成新数据,重复执行S2到S4,直到全部数据读完;
不同卷积核的卷积过程与上述步骤完全相同,只是权值不同。
所述自适应滤波器加速器,由输入缓存、参数缓存、自适应滤波器和输出缓存构成,所述自适应滤波器由N路并行滤波器构成,对于一个时钟周期,将同时处理N个输入值,并同时输出N个滤波值,因此滤波吞吐率提高了N倍,自适应滤波器的并行转置实现方式如图8所示;
所述N路并行滤波器的每一路都由M阶滤波器构成,将M个抽头系数同时传递每一路采样值,这样每一路中的M个乘法可以在一个周期内完成,进一步提升了自适应滤波器加速器的工作速度,其N路输出的表达式如下:
y(Nk)=x(Nk)h(0)+x(Nk-1)h(1)+...+x(Nk-M+2)h(M-2)+x(Nk-M+1)h(M-1)
y(Nk+1)=x(Nk+1)h(0)+x(Nk)h(1)+...+x(Nk-M+3)h(M-2)+x(Nk-M+2)h(M-1)
......
y(Nk+N-2)=x(Nk+N-2)h(0)+x(Nk+N-3)h(1)+...+x(Nk+N-M)h(M-2)+x(Nk+N-M-1)h(M-1)
y(Nk+N-1)=x(Nk+N-1)h(0)+x(Nk+N-2)h(1)+...+x(Nk+N-M+1)h(M-2)+x(Nk+N-M)h(M-1)
其中,x(Nk)、x(Nk+1)……x(Nk+N-2)、x(Nk+N-1)为第k个采样周期的N个输入采样值,y(Nk)、y(Nk+1)……y(Nk+N-2)、y(Nk+N-1)为与输入采样值对应的有N个输出,h(i),i=0,1,...,M-1为M抽头的滤波器系数。
所述控制器以双向控制信号线连接一维卷积加速器和自适应滤波器加速器,采用摩尔状态机分别使能一维卷积加速器和自适应滤波器加速器。
所述摩尔状态机包括Reset、IDLE、1Dconv、Adap_Filter和Out五个状态,其控制逻辑如图5所示,状态采用独热码编码,如下:
Reset状态:系统上电,自动复位各加速器模块和控制器;
IDLE状态:首先,将数据长度传递给控制器,从ARM接收二进制数据并传递给一维卷积神经网络模块的输入缓存,输出数据准备好信号给控制器;
1Dconv状态:从ARM读取权值保存到一维卷积神经网络模块的参数缓存中;其次,根据权值的CSD编码对二进制数据移位相加实现乘法,并计算累加和;接下来,采用均值池化方法实现池化层,将池化结果存储于输出缓存;最后,输出卷积完成信号给控制器;
Adap_Filter状态:从ARM读取二进制重要性因子保存到输入缓存中,并从一维卷积加速器接收各池化层结果;滤波器为并行架构,各支路以转置方式实现;滤波值保存到输出缓存,并输出滤波完成信号给控制器;
Out状态:输出数据准备好,输出重要性因子和权值至ARM。
所述控制器的工作原理如下:
(1)控制Reset状态:
系统上电后,令rst=‘1’,迭代计数器iter_cnt=‘0’,转入IDLE状态;
(2)控制IDLE状态:
从ARM接收二进制数据,若接收数据完成令data_rdy=‘1’,否则令data_rdy=‘0’;
(3)控制1Dconv状态:
若it_limit=’0’,令迭代计数器自动递增,iter_cnt=iter_cnt+1;从ARM读取CSD编码权值,同时从一维卷积加速器模块读取卷积是否完成信号,若完成conv_rdy=‘1’,状态转移至Adap_Filter状态;否则,conv_rdy=‘0’;
若it_limit=’1’,首先从ARM读取一维神经网络权值并传递给一维卷积神经网络模块;如果conv_rdy=‘1’则将卷积结果传递给ARM,时通知ARM采用端到端方法训练一维卷积神经网络;
训练完成后ARM将误差传递给控制器,若误差小于设定阈值,err_ok=’1’,状态转移至Out状态,否则继续训练直到误差满足要求;
(4)控制Adap_Filter状态:
从ARM读取误差和CSD编码重要性因子,如果误差小于设定阈值,err_ok=’1’,状态转移至Out状态;如果迭代次数没有达到预定次数且误差不满足要求,it_limit=’0’且err_ok=’0’,则保持在Adap_Filter状态不变,输出滤波值到ARM,同时通知ARM采用最小均方根(LMS)法计算重要性因子;从ARM读取误差并传递给控制器,如果迭代次数达到预定次数且误差仍然不能满足要求,令it_limit=’1’,状态转移至1Dconv状态;
(5)控制Out状态:
从输出缓存传递重要性因子和权值到ARM。
步骤4:将步骤3训练后得到的深度卷积记忆网络移植到嵌入式平台;
步骤5:输入一张待室内定位的图片,得出定位结果。
采用上述技术方案所产生的有益效果在于:
1、本发明以一维卷积神经网络代替前馈神经网络,并考虑到不同隐含层的重要程度,采用自适应滤波器使得每个隐含层具备“遗忘”功能,既能有效提取图像的空间特征,也能有效提取空间特征的时间联系,提高了基于图像的室内定位系统的鲁棒性。
2、本发明提供的硬件加速器的解决方案,使得在资源有限的嵌入式平台上实现深度记忆卷积神经网络成为可能,提升了硬件的吞吐率,降低了资源占用率。
附图说明
图1为本发明一种基于深度卷积记忆网络的室内定位方法流程图;
图2为本发明室内定位方法的原理框图;
图3为本发明一维深度卷积记忆网络架构图;
图4为本发明硬件加速器架构图;
图5为本发明摩尔状态机控制逻辑图;
图6为本发明一维卷积神经网络加速器结构框图;
图7为本发明一维卷积硬件实现图;
图8为本发明自适应滤波器的并行转置实现方式图;
图9为本发明实施例中输入的待室内定位的图片。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图2所示,本实施例的方法如下所述。
步骤1:采集一组室内图像数据集,并进行预处理;本实施例采用的是CambridgeLandmarks数据集中的King College场景数据集,采用均匀纵横比、图像缩放、降维、数据扩充、规范化对King College场景数据集进行预处理。
所述均匀纵横比是通过检查输入图像是否为正方形,并选择图像中间的方形部分进行适当地裁剪,以确保图像具有相同的大小和纵横比;
所述图像缩放是指采用图像金字塔方法进行降采样,再将降采样后的图像放大到与降采样前的图像大小一致;
所述降维是指将图像的RGB三通道变为单个灰度通道,并采用主成分分析PCA算法实现降维,使得神经网络的性能保持不变,或者使训练问题更容易处理时;
所述数据扩充是指采用缩放、旋转、监督式扣取和色彩抖动实现图像数据扩充,使得神经网络识别数据集中不需要特征的可能性降低,增强神经网络的鲁棒性;
所述规范化是指通过从每个像素中减去平均值,然后将结果除以标准偏差来完成的,规范化后的数据分布类似于以零为中心的高斯曲线,确保每个输入像素具有相似数据分布,使得神经网络在训练时可以更快地收敛。
步骤2:将预处理后的图像数据集的二维像素数据通过RESHAPE算法进行降维,得到一维数据;
步骤3:搭建一维深度卷积记忆网络架构,如图3所示,输入步骤2得到的一维数据,采用最小均值误差算法(LMS)计算各卷积层的重要性因子,若误差不满足要求则采用端到端方法训练一维深度卷积记忆网络,得到神经网络权值;
步骤3.1:以[0,1]范围内随机数初始化各卷积层的权值和重要性因子;
步骤3.2:将一维卷积神经网络中各池化层的输出作为自适应滤波器的输入,将一维卷积神经网络最后一级全连接层的输出通过RESHAPE算法将一维数据转换成二维数据;
步骤3.3:然后将自适应滤波器的输出与步骤3.2得到的由全连接层输出转化而来的二维数据进行相减,误差反馈给自适应滤波器;
步骤3.4:由自适应滤波器通过最小均值误差算法(LMS)计算各卷积层的重要性因子;
步骤3.5:设置误差阈值为10-10,重复步骤3.2至步骤3.4直到误差满足小于10-10为止;若重复次数达到预定值,误差仍然不能满足要求,则执行步骤3.6至步骤3.7;
步骤3.6:保持各卷积层的重要性因子不变,采用端到端方法训练一维深度卷积记忆网络,更新各卷积层权值;计算自适应滤波器的输出与一维卷积神经网络全连接层输出转化成的二维数据之间的误差,误差反馈给自适应滤波器;
步骤3.7:重复执行步骤3.6,直到误差小于10-10停止迭代;
所述的自适应滤波器和一维卷积神经网络由硬件加速器实现,所述硬件加速器包括:嵌入式平台、一维卷积加速器、自适应滤波器加速器和控制器,其结构如图4所示;
所述嵌入式平台,由ARM和FPGA构成,主要实现一维深度卷积记忆网络的初始化、误差计算、端到端训练、数据的浮点到定点转换、权值和重要性因子的CSD编码,并根据迭代流程将数据、权值和重要性因子传递给对应模块的功能;
所述一维卷积加速器,由输入缓存、参数缓存、一维卷积器、池化层和输出缓存构成,主要实现一维数据集的卷积操作,其结构如图6所示;
所述一维卷积加速器的工作过程如下:
S1:设置步进距离S=2;
S2:从ARM控制器读入16位二进制数据和CSD编码的权值,二进制数据长度与权重值相同均为L=256;
S3:一维卷积实现二进制数据和CSD编码权值的乘累加功能,如图7所示,乘法可根据CSD编码对二进制数移位相加实现,乘累加和为64位,在每一级乘法和加法后面均增加流水线以提高吞吐率;
S4:池化层采用均值池化法,对24个乘累加值求和,求和结果右移4位即可得到均匀池化值,并传递给输出缓存;
S5:从控制器中读取2个数据,与原数据的前L-S数据共同构成新数据,重复执行S2到S4,直到全部数据读完;
不同卷积核的卷积过程与上述步骤完全相同,只是权值不同。
所述自适应滤波器加速器,由输入缓存、参数缓存、自适应滤波器和输出缓存构成,所述自适应滤波器由N路并行滤波器构成,对于一个时钟周期,将同时处理N个输入值,并同时输出N个滤波值,因此滤波吞吐率提高了N倍,自适应滤波器的并行转置实现方式如图8所示;
所述N路并行滤波器的每一路都由M阶滤波器构成,将M个抽头系数同时传递每一路采样值,这样每一路中的M个乘法可以在一个周期内完成,进一步提升了自适应滤波器加速器的工作速度,其N路输出的表达式如下:
y(Nk)=x(Nk)h(0)+x(Nk-1)h(1)+...+x(Nk-M+2)h(M-2)+x(Nk-M+1)h(M-1)
y(Nk+1)=x(Nk+1)h(0)+x(Nk)h(1)+...+x(Nk-M+3)h(M-2)+x(Nk-M+2)h(M-1)
......
y(Nk+N-2)=x(Nk+N-2)h(0)+x(Nk+N-3)h(1)+...+x(Nk+N-M)h(M-2)+x(Nk+N-M-1)h(M-1)
y(Nk+N-1)=x(Nk+N-1)h(0)+x(Nk+N-2)h(1)+...+x(Nk+N-M+1)h(M-2)+x(Nk+N-M)h(M-1)
其中,x(Nk)、x(Nk+1)……x(Nk+N-2)、x(Nk+N-1)为第k个采样周期的N个输入采样值,y(Nk)、y(Nk+1)……y(Nk+N-2)、y(Nk+N-1)为与输入采样值对应的有N个输出,h(i),i=0,1,...,M-1为M抽头的滤波器系数。
所述控制器以双向控制信号线连接一维卷积加速器和自适应滤波器加速器,采用摩尔状态机分别使能一维卷积加速器和自适应滤波器加速器。
所述摩尔状态机包括Reset、IDLE、1Dconv、Adap_Filter和Out五个状态,其控制逻辑如图5所示,状态采用独热码编码,如下:
Reset状态:系统上电,自动复位各加速器模块和控制器;
IDLE状态:首先,将数据长度传递给控制器,从ARM接收二进制数据并传递给一维卷积神经网络模块的输入缓存,输出数据准备好信号给控制器;
1Dconv状态:从ARM读取权值保存到一维卷积神经网络模块的参数缓存中;其次,根据权值的CSD编码对二进制数据移位相加实现乘法,并计算累加和;接下来,采用均值池化方法实现池化层,将池化结果存储于输出缓存;最后,输出卷积完成信号给控制器;
Adap_Filter状态:从ARM读取二进制重要性因子保存到输入缓存中,并从一维卷积加速器接收各池化层结果;滤波器为并行架构,各支路以转置方式实现;滤波值保存到输出缓存,并输出滤波完成信号给控制器;
Out状态:输出数据准备好,输出重要性因子和权值至ARM。
所述控制器的工作原理如下:
(1)控制Reset状态:
系统上电后,令rst=‘1’,迭代计数器iter_cnt=‘0’,转入IDLE状态;
(2)控制IDLE状态:
从ARM接收二进制数据,若接收数据完成令data_rdy=‘1’,否则令data_rdy=‘0’;
(3)控制1Dconv状态:
若it_limit=’0’,令迭代计数器自动递增,iter_cnt=iter_cnt+1;从ARM读取CSD编码权值,同时从一维卷积加速器模块读取卷积是否完成信号,若完成conv_rdy=‘1’,状态转移至Adap_Filter状态;否则,conv_rdy=‘0’;
若it_limit=’1’,首先从ARM读取一维神经网络权值并传递给一维卷积神经网络模块;如果conv_rdy=‘1’则将卷积结果传递给ARM,时通知ARM采用端到端方法训练一维卷积神经网络;
训练完成后ARM将误差传递给控制器,若误差小于设定阈值,err_ok=’1’,状态转移至Out状态,否则继续训练直到误差满足要求;
(4)控制Adap_Filter状态:
从ARM读取误差和CSD编码重要性因子,如果误差小于设定阈值,err_ok=’1’,状态转移至Out状态;如果迭代次数没有达到预定次数且误差不满足要求,it_limit=’0’且err_ok=’0’,则保持在Adap_Filter状态不变,输出滤波值到ARM,同时通知ARM采用最小均方根(LMS)法计算重要性因子;从ARM读取误差并传递给控制器,如果迭代次数达到预定次数且误差仍然不能满足要求,令it_limit=’1’,状态转移至1Dconv状态;
(5)控制Out状态:
从输出缓存传递重要性因子和权值到ARM。
步骤4:将步骤3训练后得到的深度卷积记忆网络移植到嵌入式平台;
步骤5:输入一张待室内定位的图片如图9所示,得出定位结果用三维位置和姿态四元数表示为:[-10.880502 -19.510105 1.592050 0.699503 0.614701 -0.2491060.265012]。

Claims (7)

1.一种基于深度卷积记忆网络的室内定位方法,其特征在于包括如下步骤:
步骤1:采集一组室内图像数据集,并进行预处理;
步骤2:将预处理后的图像数据集的二维像素数据通过RESHAPE算法进行降维,得到一维数据;
步骤3:搭建一维深度卷积记忆网络架构,输入步骤2得到的一维数据,采用最小均值误差算法LMS计算各卷积层的重要性因子,若误差不满足要求则采用端到端方法训练一维深度卷积记忆网络,得到神经网络权值;
步骤3.1:以[0,1]范围内随机数初始化各卷积层的权值和重要性因子;
步骤3.2:将一维卷积神经网络中各池化层的输出作为自适应滤波器的输入,将一维卷积神经网络最后一级全连接层的输出通过RESHAPE算法将一维数据转换成二维数据;
步骤3.3:然后将自适应滤波器的输出与步骤3.2得到的由全连接层输出转化而来的二维数据进行相减,误差反馈给自适应滤波器;
步骤3.4:由自适应滤波器通过最小均值误差算法LMS计算各卷积层的重要性因子;
步骤3.5:重复步骤3.2至步骤3.4直到误差满足小于设定的阈值为止;若重复次数达到预定值,误差仍然不能满足要求,则执行步骤3.6至步骤3.7;
步骤3.6:保持各卷积层的重要性因子不变,采用端到端方法训练一维深度卷积记忆网络,更新各卷积层权值;计算自适应滤波器的输出与一维卷积神经网络全连接层输出转化成的二维数据之间的误差,误差反馈给自适应滤波器;
步骤3.7:重复执行步骤3.6,直到误差小于设定的阈值停止迭代;
步骤4:将步骤3训练后得到的深度卷积记忆网络移植到嵌入式平台;
步骤5:输入一张待室内定位的图片,得出定位结果。
2.根据权利要求1所述的一种基于深度卷积记忆网络的室内定位方法,其特征在于步骤1所述的图像预处理包括:均匀纵横比、图像缩放、降维、数据扩充、规范化;
所述均匀纵横比是通过检查输入图像是否为正方形,并选择图像中间的方形部分进行适当地裁剪,以确保图像具有相同的大小和纵横比;
所述图像缩放是指采用图像金字塔方法进行降采样,再将降采样后的图像放大到与降采样前的图像大小一致;
所述降维是指将图像的RGB三通道变为单个灰度通道,并采用主成分分析PCA算法实现降维,使得神经网络的性能保持不变,或者使训练问题更容易处理;
所述数据扩充是指采用缩放、旋转、监督式扣取和色彩抖动实现图像数据扩充,使得神经网络识别数据集中不需要特征的可能性降低,增强神经网络的鲁棒性;
所述规范化是指通过从每个像素中减去平均值,然后将结果除以标准偏差来完成的,规范化后的数据分布类似于以零为中心的高斯曲线,确保每个输入像素具有相似数据分布,使得神经网络在训练时可以更快地收敛。
3.根据权利要求1所述的一种基于深度卷积记忆网络的室内定位方法,其特征在于步骤3所述的自适应滤波器和一维卷积神经网络由硬件加速器实现,所述硬件加速器包括:嵌入式平台、一维卷积加速器、自适应滤波器加速器和控制器;
所述嵌入式平台,由ARM和FPGA构成,实现一维深度卷积记忆网络的初始化、误差计算、端到端训练、数据的浮点到定点转换、权值和重要性因子的CSD编码,并根据迭代流程将数据、权值和重要性因子传递给对应模块的功能;
所述一维卷积加速器,由输入缓存、参数缓存、一维卷积器、池化层和输出缓存构成,实现一维数据集的卷积操作;
所述自适应滤波器加速器,由输入缓存、参数缓存、自适应滤波器和输出缓存构成,所述自适应滤波器由N路并行滤波器构成,对于一个时钟周期,将同时处理N个输入值,并同时输出N个滤波值,因此滤波吞吐率提高了N倍;
所述控制器以双向控制信号线连接一维卷积加速器和自适应滤波器加速器,采用摩尔状态机分别使能一维卷积加速器和自适应滤波器加速器。
4.根据权利要求3所述的一种基于深度卷积记忆网络的室内定位方法,其特征在于所述一维卷积加速器的工作过程如下:
S1:设置步进距离S;
S2:从ARM控制器读入16位二进制数据和CSD编码的权值,二进制数据长度与权重值相同均为L;
S3:一维卷积实现二进制数据和CSD编码权值的乘累加功能,乘法可根据CSD编码对二进制数移位相加实现,乘累加和为64位,在每一级乘法和加法后面均增加流水线以提高吞吐率;
S4:池化层采用均值池化法,对2M个乘累加值求和,M为整数,求和结果右移M位即可得到均匀池化值,并传递给输出缓存;
S5:从控制器中读取S个数据,与原数据的前L-S数据共同构成新数据,重复执行S2到S4,直到全部数据读完;
不同卷积核的卷积过程与上述步骤完全相同,只是权值不同。
5.根据权利要求3所述的一种基于深度卷积记忆网络的室内定位方法,其特征在于所述N路并行滤波器的每一路都由M阶滤波器构成,将M个抽头系数同时传递每一路采样值,这样每一路中的M个乘法可以在一个周期内完成,进一步提升了自适应滤波器加速器的工作速度,其N路输出的表达式如下:
y(Nk)=x(Nk)h(0)+x(Nk-1)h(1)+...+x(Nk-M+2)h(M-2)+x(Nk-M+1)h(M-1)
y(Nk+1)=x(Nk+1)h(0)+x(Nk)h(1)+...+x(Nk-M+3)h(M-2)+x(Nk-M+2)h(M-1)
......
y(Nk+N-2)=x(Nk+N-2)h(0)+x(Nk+N-3)h(1)+...+x(Nk+N-M)h(M-2)+x(Nk+N-M-1)h(M-1)
y(Nk+N-1)=x(Nk+N-1)h(0)+x(Nk+N-2)h(1)+...+x(Nk+N-M+1)h(M-2)+x(Nk+N-M)h(M-1)
其中,x(Nk)、x(Nk+1)……x(Nk+N-2)、x(Nk+N-1)为第k个采样周期的N个输入采样值,y(Nk)、y(Nk+1)……y(Nk+N-2)、y(Nk+N-1)为与输入采样值对应的有N个输出,h(i)为M抽头的滤波器系数,i=0,1,...,M-1。
6.根据权利要求3所述的一种基于深度卷积记忆网络的室内定位方法,其特征在于所述摩尔状态机包括Reset、IDLE、1Dconv、Adap_Filter和Out五个状态,状态采用独热码编码,如下:
Reset状态:系统上电,自动复位各加速器模块和控制器;
IDLE状态:首先,将数据长度传递给控制器,从ARM接收二进制数据并传递给一维卷积神经网络模块的输入缓存,输出数据准备好信号给控制器;
1Dconv状态:从ARM读取权值保存到一维卷积神经网络模块的参数缓存中;其次,根据权值的CSD编码对二进制数据移位相加实现乘法,并计算累加和;接下来,采用均值池化方法实现池化层,将池化结果存储于输出缓存;最后,输出卷积完成信号给控制器;
Adap_Filter状态:从ARM读取二进制重要性因子保存到输入缓存中,并从一维卷积加速器接收各池化层结果;滤波器为并行架构,各支路以转置方式实现;滤波值保存到输出缓存,并输出滤波完成信号给控制器;
Out状态:输出数据准备好,输出重要性因子和权值至ARM。
7.根据权利要求3所述的一种基于深度卷积记忆网络的室内定位方法,其特征在于所述控制器的工作原理如下:
(1)控制Reset状态:
系统上电后,令rst=‘1’,迭代计数器iter_cnt=‘0’,转入IDLE状态;
(2)控制IDLE状态:
从ARM接收二进制数据,若接收数据完成令data_rdy=‘1’,否则令data_rdy=‘0’;
(3)控制1Dconv状态:
若it_limit=’0’,令迭代计数器自动递增,iter_cnt=iter_cnt+1;从ARM读取CSD编码权值,同时从一维卷积加速器模块读取卷积是否完成信号,若完成conv_rdy=‘1’,状态转移至Adap_Filter状态;否则,conv_rdy=‘0’;
若it_limit=’1’,首先从ARM读取一维神经网络权值并传递给一维卷积神经网络模块;如果conv_rdy=‘1’则将卷积结果传递给ARM,同时通知ARM采用端到端方法训练一维卷积神经网络;
训练完成后ARM将误差传递给控制器,若误差小于设定阈值,err_ok=’1’,状态转移至Out状态,否则继续训练直到误差满足要求;
(4)控制Adap_Filter状态:
从ARM读取误差和CSD编码重要性因子,如果误差小于设定阈值,err_ok=’1’,状态转移至Out状态;如果迭代次数没有达到预定次数且误差不满足要求,it_limit=’0’且err_ok=’0’,则保持在Adap_Filter状态不变,输出滤波值到ARM,同时通知ARM采用最小均方根LMS法计算重要性因子;从ARM读取误差并传递给控制器,如果迭代次数达到预定次数且误差仍然不能满足要求,令it_limit=’1’,状态转移至1Dconv状态;
(5)控制Out状态:
从输出缓存传递重要性因子和权值到ARM。
CN201911093298.4A 2019-11-11 2019-11-11 一种基于深度卷积记忆网络的室内定位方法 Active CN110837806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911093298.4A CN110837806B (zh) 2019-11-11 2019-11-11 一种基于深度卷积记忆网络的室内定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911093298.4A CN110837806B (zh) 2019-11-11 2019-11-11 一种基于深度卷积记忆网络的室内定位方法

Publications (2)

Publication Number Publication Date
CN110837806A CN110837806A (zh) 2020-02-25
CN110837806B true CN110837806B (zh) 2020-07-28

Family

ID=69574800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911093298.4A Active CN110837806B (zh) 2019-11-11 2019-11-11 一种基于深度卷积记忆网络的室内定位方法

Country Status (1)

Country Link
CN (1) CN110837806B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111403021B (zh) * 2020-03-11 2023-12-05 中国电子工程设计院有限公司 一种监测方法及装置
CN111711431B (zh) * 2020-04-07 2021-01-19 深圳市觅拓物联信息技术有限公司 减少数字滤波器csd系数中非零位的方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714956B1 (en) * 2000-07-24 2004-03-30 Via Technologies, Inc. Hardware accelerator for normal least-mean-square algorithm-based coefficient adaptation
CN108875915A (zh) * 2018-06-12 2018-11-23 辽宁工程技术大学 一种面向嵌入式应用的深度对抗网络优化方法
CN109341691A (zh) * 2018-09-30 2019-02-15 百色学院 基于图标识别的智能室内定位系统及其定位方法
CN109740748A (zh) * 2019-01-08 2019-05-10 西安邮电大学 一种基于fpga的卷积神经网络加速器
CN109788433A (zh) * 2019-03-13 2019-05-21 东南大学 一种基于深度卷积自编码网络的室内定位轨迹聚类方法
CN109934846A (zh) * 2019-03-18 2019-06-25 南京信息工程大学 基于时间和空间网络的深度集成目标跟踪方法
CN109948784A (zh) * 2019-01-03 2019-06-28 重庆邮电大学 一种基于快速滤波算法的卷积神经网络加速器电路
CN110225460A (zh) * 2019-06-05 2019-09-10 三维通信股份有限公司 一种基于深度神经网络的室内定位方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107421527A (zh) * 2017-07-17 2017-12-01 中山大学 一种基于磁场信息与运动传感器的室内定位方法
CN110147535A (zh) * 2019-04-18 2019-08-20 平安科技(深圳)有限公司 相似文本生成方法、装置、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714956B1 (en) * 2000-07-24 2004-03-30 Via Technologies, Inc. Hardware accelerator for normal least-mean-square algorithm-based coefficient adaptation
CN108875915A (zh) * 2018-06-12 2018-11-23 辽宁工程技术大学 一种面向嵌入式应用的深度对抗网络优化方法
CN109341691A (zh) * 2018-09-30 2019-02-15 百色学院 基于图标识别的智能室内定位系统及其定位方法
CN109948784A (zh) * 2019-01-03 2019-06-28 重庆邮电大学 一种基于快速滤波算法的卷积神经网络加速器电路
CN109740748A (zh) * 2019-01-08 2019-05-10 西安邮电大学 一种基于fpga的卷积神经网络加速器
CN109788433A (zh) * 2019-03-13 2019-05-21 东南大学 一种基于深度卷积自编码网络的室内定位轨迹聚类方法
CN109934846A (zh) * 2019-03-18 2019-06-25 南京信息工程大学 基于时间和空间网络的深度集成目标跟踪方法
CN110225460A (zh) * 2019-06-05 2019-09-10 三维通信股份有限公司 一种基于深度神经网络的室内定位方法及装置

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
Image-based localization using LSTMs for structured feature correlation;F. Walch et al.;《arxiv》;20170820;全文 *
Indoor Motion Classification Using Passive RF Sensing Incorporating Deep Learning;Saad Iqbal et al.;《2018 IEEE 87th Vehicular Technology Conference(VTC Spring)》;20181231;全文 *
Low-Complexity Nonlinear Adaptive Filter Based on a Pipelined Bilinear Recurrent Neural Network;Haiquan Zhao et al.;《IEEE TRANSACTIONS ON NEURAL NETWORKS》;20111231;第22卷(第9期);全文 *
Memory-controlled deep LSTM neural network post-equalizer used in high-speed PAM VLC system;XINGYU LU et al.;《OPTICS EXPRESS》;20190304;第27卷(第5期);全文 *
Spatially-Adaptive Filter Units for Deep Neural Networks;Domen Tabernik et al.;《arxiv》;20171130;全文 *
基于FPGA的卷积神经网络加速器设计与实现;翟社平 等;《微电子学与计算机》;20190831;第36卷(第8期);全文 *
基于FPGA的高速FIR滤波器并行结构设计;骆希 等;《微处理机》;20170228(第1期);全文 *
基于神经网络的自适应滤波研究;高金辉 等;《河南师范大学学报(自然科学版)》;20130131;第41卷(第1期);全文 *

Also Published As

Publication number Publication date
CN110837806A (zh) 2020-02-25

Similar Documents

Publication Publication Date Title
CN113469094B (zh) 一种基于多模态遥感数据深度融合的地表覆盖分类方法
CN110837806B (zh) 一种基于深度卷积记忆网络的室内定位方法
CN112632311B (zh) 一种基于深度学习的云层变化趋势预测方法
CN102496284A (zh) 一种道路交通流量采集及预测方法
CN109376589A (zh) 基于卷积核筛选ssd网络的rov形变目标与小目标识别方法
CN113375676B (zh) 一种基于脉冲神经网络的探测器着陆点定位方法
CN114565655B (zh) 一种基于金字塔分割注意力的深度估计方法及装置
CN112967327A (zh) 基于联合自注意力机制的单目深度方法
CN111915881B (zh) 一种基于变分自动编码器的小样本交通流量预测方法
CN116129390B (zh) 一种增强曲线感知的车道线精准检测方法
CN112468230A (zh) 一种基于深度学习的无线紫外光散射信道估计方法
CN114719860A (zh) 一种基于多头注意力机制的惯性导航方法
CN112651374B (zh) 一种基于社会信息的未来轨迹预测方法及自动驾驶系统
CN114282647A (zh) 基于脉冲神经网络的神经形态视觉传感器目标检测方法
Murphy et al. Wavelet compression with set partitioning for low bandwidth telemetry from AUVs
CN113570595B (zh) 车辆轨迹预测方法和车辆轨迹预测模型的优化方法
CN105792281B (zh) 一种智能消防栓终端数据传输的方法及系统
CN108520044A (zh) 一种基于公度性思想的最小二乘法路径预测算法
CN113763539A (zh) 一种基于图像和三维输入的隐式函数三维重建方法
CN112085779A (zh) 一种波浪参数估算方法及装置
CN116824372B (zh) 一种基于Transformer的城市降雨预测方法
CN116558541B (zh) 模型训练方法和装置、轨迹预测方法和装置
CN113963274B (zh) 基于改进ssd算法的卫星影像目标智能识别系统与方法
CN114926655B (zh) 地理与视觉跨模态预训练模型的训练方法、位置确定方法
CN116558540B (zh) 模型训练方法和装置、轨迹生成方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant