本发明涉及机器学习领域,尤其涉及一种地点识别方法。
背景技术:
地点识别,也称为基于图像的定位,是指获取一个当前图像,然后在预先构建的环境地图中进行查找,获取一个最相似的参考图像,根据所述参考图像对应的地理位置来识别当前图像对应的地理位置。
尽管地点识别近年来取得了重要的进展,仍然其仍有许多地点需要改进。比如,由于照明和天气条件的变化,当前图像场景的具体特征和预先构建的环境地图中的图像场景的具体特征可能非常不同。所述的照明条件变化,比如环境地图中预存的图像场景是白天,但当前的图像场景是在黑夜中获取的,则当前图像与参考图像的特征点就会存在较多不同。所述的天气条件的变化,比如环境地图中预存的图像场景是夏天,但当前的图像场景是在冬季获取的,则当前图像与参考图像的特征点就会存在本质的不同。由于图像场景的大幅度变化,无论是利用手工建立的特征还是从卷积神经网络中提取的基于深度学习的特征,都无法实现基于图像的准确定位。
因此,发展一种对照明和天气条件变化不敏感的,具有很高鲁棒性的地点识别方法是十分重要的。
技术实现要素:
本申请的目的在于提供一种用于地点识别的方法。该方法首先使用多层卷积处理待识别图像,得到特征图像。然后利用几个不同尺寸的卷积核处理所述特征图像,得到中间图像。串联所述中间图像后,再进行一次一维卷积,得到所述待处理图像的响应图,进而根据所述待识别图像的响应图获取待识别图像的代表性特征。所述待识别图像的代表性特征受光照、遮挡和天气条件等环境变化影响小,利用所述待识别图像的代表性特征与数据库中的图像进行相似度比对,得到的相似图像准确度较高,进而得到的待识别图像对应的地理位置准确度较高。
本申请一方面提供一种用于地点识别的方法。所述方法包括:获取待识别图像的特征图;获取训练好的地标定位模型;基于所述待识别图像的特征图和所述训练好的地标定位模型,获取所述待识别图像的响应图。其中,所述待识别图像的响应图上具有一个或多个地标,所述一个或多个地标对应所述待识别图像中的代表性物体。
在一些实施例中,所述基于所述待识别图像的特征图和所述训练好的地标定位模型,获取所述待识别图像的响应图,包括:基于两个以上尺寸的卷积核,对所述待识别图像的特征图分别进行第一卷积获取两张以上的中间图;将所述两张以上的中间图串联,得到总串联图;对所述总串联图进行第二卷积,获取所述待识别图像的响应图。
在一些实施例中,所述训练好的地标定位模型通过以下步骤训练得到:获取训练图像的特征图;获取初始地标定位模型;基于所述训练图像的特征图和所述初始地标定位模型,获取所述训练图像的响应图;基于所述训练图像的特征图和响应图,获取所述训练图像的增强特征图;基于所述训练图像的增强特征图,确定所述初始地标定位模型的损失函数;根据所述初始地标定位模型的损失函数,训练所述初始地标定位模型并得到所述训练好的地标定位模型。
在一些实施例中,所述训练图像包括匹配图像和非匹配图像,所述匹配图像对应的地理位置相同,所述非匹配图像对应的地理位置不同。
在一些实施例中,所述基于所述训练图像的增强特征图,确定所述初始地标定位模型的损失函数包括:基于所述训练图像的增强特征图,获取所述训练图像的非匹配图像;基于所述训练图像及其匹配图像和非匹配图像,确定所述初始地标定位模型的损失函数。其中,所述训练图像的非匹配图像为与所述训练图像相似度最高的一张或多张非匹配图像。
在一些实施例中,所述方法进一步包括:基于所述待识别图像的特征图和响应图,获取所述待识别图像的代表性特征,所述代表性特征为所述代表性物体的特征;访问参照数据库,所述参照数据库包括多个参照图像的代表性特征,每个参照图像的代表性特征对应一个或者多个地理位置;比较所述待识别图像的代表性特征与所述多个参照地点图像的代表性特征;根据比较结果,确定与所述待识别图像的代表性特征最相似的参照图像的代表性特征;基于所述最相似的参照图像对应的地理位置确定所述待识别图像对应的地理位置。
在一些实施例中,所述参照图像与所述待识别图像的拍摄方位相同或基本相同。
在一些实施例中,所述方法由自动驾驶车辆上的车载设备执行。
在一些实施例中,所述代表性物体为建筑物。
本申请另一方面提供一种用于地点识别的装置。所述装置可以执行上述用于地点识别的方法。
本申请中另外的特征将部分地在下面的描述中阐述。通过该阐述,使以下附图和实施例叙述的内容对本领域普通技术人员来说变得显而易见。本申请中的发明点可以通过实践或使用下面讨论的详细示例中阐述的方法、手段及其组合来得到充分阐释。
附图说明
以下附图详细描述了本申请中披露的示例性实施例。其中相同的附图标记在附图的若干视图中表示类似的结构。本领域的一般技术人员将理解这些实施例是非限制性的、示例性的实施例,附图仅用于说明和描述的目的,并不旨在限制本公开的范围,其他方式的实施例也可能同样的完成本申请中的发明意图。应当理解,附图未按比例绘制。其中:
图1示出了根据本申请的一些实施例所示的用于地点识别的方法的应用场景图;
图2示出了根据本申请的一些实施例所示的可以在其上实现用于地点识别的方法的示例性计算设备;
图3示出了根据本申请的一些实施例所示的用于地点识别的方法的流程图;
图4示出了根据本申请的一些实施例所示的训练地标定位模型的方法的流程图;
图5示出了根据本申请的一些实施例所示的生成响应图的示意图;
图6示出了根据本申请的一些实施例所示的训练地标定位模型的示意图;
图7和图8示出了多种地点识别方法的准确度-召回率曲线;
图9示出了根据本申请的一些实施例所示的方法生成的响应图的示意图。
具体实施方式
以下描述提供了本申请的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本申请中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本公开的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本公开不限于所示的实施例,而是与权利要求一致的最宽范围。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或。
在本公开中,术语“自动驾驶车辆”可以指能够感知其环境并且在没有人(例如,驾驶员,飞行员等)输入和/或干预的情况下对外界环境自动进行感知、判断并进而做出决策的车辆。术语“自动驾驶车辆”和“车辆”可以互换使用。术语“自动驾驶”可以指没有人(例如,驾驶员,飞行员等)输入的对周边环境进行智能判断并进行导航的能力。
考虑到以下描述,本公开的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本公开的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本公开的范围。
本公开中使用的流程图示出了根据本公开中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
本公开中使用的定位技术可以基于全球定位系统(gps),全球导航卫星系统(glonass),罗盘导航系统(compass),伽利略定位系统,准天顶卫星系统(qzss),无线保真(wifi)定位技术等,或其任何组合。一个或多个上述定位系统可以在本公开中互换使用。
本公开的一个方面涉及一种用于地点识别的方法。具体地,该方法包括获取待识别图像的特征图,根据所述待识别图像的特征图生成所述待识别图像的响应图。所述待识别图像的响应图具有一个或多个地标,所述一个或多个地标对应所述待识别图像中的代表性物体。根据所述一个或多个地标获取所述待识别图像的代表性特征,即代表性物体的图像特征。所述代表性特征鲁棒性较高,受外界环境(比如,光照和天气条件)影响较小。该方法可以根据所述代表性特征获取与所述待识别特征最相似的图像,并根据所述最相似的图像获取所述待识别图像对应的地理位置。
图1示出了根据本申请的一些实施例所示的用于地点识别的方法的应用场景图。
当自动驾驶车辆130行驶在路面120时,自动驾驶车辆130经常需要确定自身所在的地理位置。由于一般的定位技术(例如,gps定位)的精确度不能满足自动驾驶车辆130的需求,此时可以结合地点识别来确定自动驾驶车辆130的精确地理位置。
如图所示,自动驾驶车辆130可以包括一个或多个传感器,例如传感器142、传感器144和传感器146,以及地点识别装置150。
上述一个或多个传感器可以包括摄像单元、定位单元、激光雷达、惯性传感器等。所述摄像单元可以获取自动驾驶车辆当前地理位置和当前拍摄方位下景物(例如,建筑110)的图像,用于后续的地点识别。
地点识别装置150可以执行用于地点识别的方法,对摄像单元获取的图像进行图像处理和计算,进而确定自动驾驶车辆130的当前位置。具体地,地点识别装置150可以根据自动驾驶车辆130当前的模糊位置和当前的拍摄方位从数据库(例如,环境地图)中获取参照图像。然后,地点识别装置150可以执行地点识别方法,将摄像单元获取的图像与参照图像进行相似度比较,并确定与之最相似的图像。根据所述最相似的图像的图像标签(例如,经纬度坐标),地点识别装置150可以确定自动驾驶车辆130的当前位置。
应当理解的是,地点识别装置150可以安装在自动驾驶车辆130上,也可以安装在其他地方(例如,云计算中心)。此时,自动驾驶车辆130可以将摄像单元获取的图像发送给云计算中心,由云计算中心将地点识别结果再发送给自动驾驶车辆130。
应当可以理解的是,上述对用于地点识别的方法的应用场景的描述仅为示意性的,并不限制本申请保护的范围。上述用于地点识别的方法可以应用在任何需要识别地点的领域中,例如,旅游自动讲解设备定位、共享单车定位。
图2示出了根据本申请的一些实施例所示的可以在其上实现用于地点识别的方法的示例性计算设备。
计算设备200上可以承载实施自动驾驶车辆130的控制单元、地点识别装置150等等。例如,地点识别装置150可以在计算设备200上实现以执行本申请中公开的地点识别装置150的功能。
例如,计算设备200可以包括连接到与其连接的网络的com端口250,以便于数据通信。计算设备200还可以包括处理器220,处理器220以一个或多个处理器的形式,用于执行计算机指令。计算机指令可以包括例如执行本文描述的特定功能的例程,程序,对象,组件,数据结构,过程,模块和功能。例如,处理器220可以获取待识别图像的特征图,并根据所述待识别图像的特征图生成所述待识别图像的响应图。又例如,处理器220可以根据上述响应图确定所述待识别图像的代表性特征,并根据所述代表性特征确定与所述待识别的图像最相似的图像,进而确定所述待识别图像对应的地理位置。
在一些实施例中,处理器220可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(risc),专用集成电路(asic),特定于应用的指令-集处理器(asip),中央处理单元(cpu),图形处理单元(gpu),物理处理单元(ppu),微控制器单元,数字信号处理器(dsp),现场可编程门阵列(fpga),高级risc机器(arm),可编程逻辑器件(pld),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。
示例性计算机设备200可以包括内部通信总线210,程序存储和不同形式的数据存储(例如,磁盘270,只读存储器(rom)230,或随机存取存储器(ram)240)用于由计算机处理和/或发送的各种数据文件。示例性计算机设备200还可以包括存储在rom230,ram240和/或将由处理器220执行的其他类型的非暂时性存储介质中的程序指令。本申请的方法和/或过程可以作为程序指令实现。计算设备200还包括i/o组件260,支持计算机和其他组件(例如,用户界面元件)之间的输入/输出。计算设备200还可以通过网络通信接收编程和数据。
仅仅为了说明问题,在本申请中计算设备200中仅描述了一个处理器。然而,应当注意,本申请中计算设备200还可以包括多个处理器,因此,本申请中披露的操作和/或方法步骤可以如本公开所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本申请中计算设备200的处理器220执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由信息处理中的两个不同处理器联合或分开执行(例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一和第二处理器共同执行步骤a和b)。
图3示出了根据本申请的一些实施例所示的用于地点识别的方法的流程图。流程300可以实施为地点识别装置150中的非临时性存储介质中的一组指令。地点识别装置150可以执行该一组指令并且可以相应地执行过程300中的步骤。
以下呈现的所示流程300的操作,旨在是说明性的而非限制性的。在一些实施例中,流程300在实现时可以添加一个或多个未描述的额外操作,和/或删减一个或多个此处所描述的操作。此外,图3中所示的和下文描述的操作的顺序并不对此加以限制。
在310中,地点识别装置150可以获取待识别图像的特征图。
所述待识别图像为需要进行地点识别的图像。在自动驾驶车辆定位领域中,所述待识别图像可以为自动驾驶车辆130在行驶过程中由传感器(例如,车载摄像单元142、144和/或146)获取的图像。
在一些实施例中,所述待识别图像的特征图可以通过卷积神经网络获取,例如,深度残差网络(residualnetwork,resnet)。
在一些实施例中,地点识别装置150可以事先训练好上述卷积神经网络,所述待识别图像的特征图可以由所述训练好的卷积神经网络中的某一卷积层(例如,第三卷积层)输出。
在320中,地点识别装置150可以获取训练好的地标定位模型(landmarklocalizationnetwork,lln)。
比如在一些实施例中,地点识别装置可以加载所述训练好的地标定位模型。比如图2中的处理器220访问只读存储器230、随机存储器240和/或磁盘270,加载存储在其中的所述训练好的地标定位模型。所述训练好的地标定位模型可以为卷积神经网络模型或其他适用模型。以卷积神经网络模型为例,所述训练好的地标定位模型包括多个不同尺寸的卷积核,例如两个以上的不同尺寸的卷积核(比如三个尺寸的卷积核)。
在一些实施例中,所述训练好的地标定位模型可以通过训练训练图像得到。具体的训练方法可以参考图4和图6的描述。
在330中,地点识别装置150可以基于所述待识别图像的特征图和所述训练好的地标定位模型,获取所述待识别图像的响应图。
在深度学习领域,响应图(activationmap)或者特征图(featuremap)均可以指对某一过滤算法的输出。本公开中所述响应图为特征图进一步处理提取特征的产物,也就是说所述响应图对应着特征图中不同部分的特征,即,所述响应图可以指示其对应的特征图中特征的重要性或代表性。所述特征的重要性或代表性是指,在地点识别时该特征对地点识别结果的贡献的多少。一个特征对地点识别结果的贡献越大,该特征的重要性或代表性越大。
在一些实施例中,响应图中的每个像素可以对应一个数值。数值越大,该像素的响应强度越大,即该像素在相应特征图中对应的特征的重要性或代表性越高。
在一些实施例中,响应图上可以对应或者包括一个或多个地标。所述地标是指响应图中响应强度较大的区域(即,一个或多个像素),即对应的图像特征的重要性或代表性较高的区域。此时,地标对应图像中的代表性物体和/或识别重点。
相应地,所述代表性物体的图像特征的重要性或代表性较高,称为代表性特征。所述代表性特征受外界环境(比如,光照、遮挡、视角和天气条件)的影响较小。
在一些实施例中,在自动驾驶车辆定位领域,所述代表性物体可以选为建筑物。一方面,相对于识别度较低的物体(例如,天空、路面)和非静态物体(例如,车辆),建筑物具有较高的识别度和代表性。另一方面,相对于静态生物体(例如,植物),建筑物受外界环境的影响较小。例如,当冬天时,由于植物会落叶,植物的图像特征变化较大,而建筑物的图像特征变化较小。
应当理解的是,当地点识别方法应用的场景发生变化时,代表性物体可以相应地变化。例如,代表性物体可以为植物、雕塑、或其他人造物体比如机器等。
具体地,地点识别装置150将所述待识别图像的特征图输入到所述训练好的地标定位模型中,所述训练好的地标定位模型可以生成所述待识别图像的响应图。上述过程详细描述如下:
地标定位模型包括多个不同尺寸的卷积核。基于训练好的地标定位模型中的所述多个卷积核,地点识别装置150可以对所述待识别图像的特征图进行卷积操作,获取两张以上的中间图(分特征图)。由于所述中间图分别对应了不同尺寸的卷积核,各个中间图所涵盖的原图特征便不一样。然后,地点识别装置150将所述两张以上的中间图串联,得到总串联图(总特征图)。该总串联图便囊括了上述多个卷积尺寸所能感知的特征。最后,地点识别装置150对所述总串联图进行一维卷积,获取所述待识别图像的响应图。因此,所述待识别图像的响应图可以被理解为综合了多个卷积尺寸的特征图中所包含的特征的进一步提取。更多关于生成响应图的描述可以参见图6的描述。
参考图5,图像501主要描述的是一栋别墅,拍摄时光照强度较大;图像503描述的是与图像501中相同的别墅,拍摄时光照强度较小。图像501和图像503的拍摄方位基本相同。
将图像501和图像503分别输入到卷积神经网络模型(例如,resnet)中后,得到两张对应的特征图520。然后将两张特征图520输入到训练好的地标定位模型530后得到响应图502和响应图504。
如图5所示,响应图502为图像501的响应图,响应图502上的地标(即,亮度较大的区域)对应图像501中的代表性物体(即,别墅);响应图504为图像503的响应图,响应图504上的地标(即,亮度较大的区域)也对应图像501中的代表性物体(即,别墅)。
由此可以得知,当外界环境发生变化时,例如,光照强度发生变化时,训练好的地标定位模型530生成的响应图中的地标仍对应图像中的代表性物体(例如,建筑物)。换句话说,当外界环境发生变化时,代表性特征受环境的影响较小。
相同的结果,可以参见图9。在图9中,当景物的拍摄方位、光照强度,或外在(例如,建筑物旁增加了卡车),训练好的地标定位模型530生成的响应图中的地标仍对应图像中的代表性物体(即,建筑物)。
在340中,地点识别装置150可以基于所述待识别图像的特征图和响应图,获取所述待识别图像的代表性特征。
结合上文的描述,代表性特征可以为代表性物体的图像特征,也可以为响应图中的地标对应的图像特征。所述代表性特征对地点识别结果的贡献大。
具体地,地点识别装置150可以基于待识别图像的特征图和响应图之间的对应关系,确定待识别图像的响应图中地标对应的特征,即所述待识别图像的代表性特征。
在一些实施例中,地点识别装置150可以获取响应强度最大的前k个地标对应的图像特征作为代表性特征。k为正整数,其数值可以根据实际情况和经验设定和调整。
在350中,地点识别装置150可以比较所述待识别图像的代表性特征与参照图像的代表性特征。
在一些实施例中,地点识别装置150中的处理器220可以访问存在存储器中的参照数据库。所述参照数据库包括多个参照图像的代表性特征,每个参照图像的代表性特征对应一个或者多个地理位置。参照图像可以为参照数据库(例如,环境地图)中的所有图像或部分图像。所述部分图像可以根据所述待识别图像的模糊地理位置和/或所述待识别图像的拍摄方位做了标定。例如,地点识别装置150可以根据一般定位技术确定所述待识别图像对应的模糊位置,然后获取数据库中对应位置处于所述模糊位置一定范围内的图像为参照图像。又例如,地点识别装置150可以选择与所述待识别图像的拍摄方位相同或基本相同的图像为参照图像。
应当理解的是,上述“基本相同”是指两张图像的拍摄方位大致相同,即参照图像与待识别图像的拍摄方位之差在一定阈值范围(例如,所述阈值范围可以为5度、10度、15度、20度、25度或30度)内。
在一些实施例中,参照图像的代表性特征可以通过训练好的地标定位模型获取。在一些实施例中,参照图像的代表性特征可以事先(例如,离线)获取,存储在数据库中。
作为示例,当数据库是环境地图时,该地图可以包括当前位置获取的图像,及该图像的特征图和响应图。相应地,该地图包含当前地理位置获取的图像的代表性特征。
结合上文的描述,代表性特征可以包括响应强度最大的前k个地标对应的图像特征,即k个子代表性特征。
在一些实施例中,地点识别装置150可以比较所述待识别图像的代表性特征与所述多个参照地点图像的代表性特征。具体的,地点识别装置150可以将所述待识别图像和参照图像的k个子代表性特征互相比较,得到k2个子比较结果(即,相似度);然后根据互匹配原则,从所述k2个子比较结果中选择n个互相最优匹配的子匹配结果;最后根据所述n个子匹配结果确定待识别图像和参照图像之间的比较结果(即,相似度)。所述互相最优匹配是指,如果待识别图像的第i个地标的最优匹配是参考图像的第j个地标,那么参考图像的第j个地标的最优匹配也应该为待识别图像的第i个地标。
作为示例,地点识别装置150可以根据公式(1)比较所述待识别图像和参照图像的子代表性特征,得到子比较结果。公式(1)表示如下:
其中,sij为
作为示例,地点识别装置150可以将上述n个子匹配结果加权求和,确定待识别图像和参照图像之间的比较结果。
经研究表明,如果两张图像所有地标之间的坐标差比较相似,则所述两张图像之间的相似度高;如果两张图像所有地标之间的坐标差是随机的,则所述两张图像之间的相似度低。因此,可以根据两张图像的两个地标之间的坐标差确定所述两个地标之间的子比较结果的权重。本申请中,地标的坐标可以是地标的中心的坐标。
具体地,地点识别装置150可以统计待识别图像和参照图像所有地标之间的坐标差,例如,生成坐标差直方图,确定两张图像所有地标之间的坐标差中出现频率最高的地标差。两个地标之间的坐标差与所述出现频率最高的地标差之间相差越小,地点识别装置150赋予所述两个地标之间的子比较结果的权重越大。
作为示例,地点识别装置150可以根据公式(2)确定两个地标之间的子比较结果的权重。公式(2)表示如下:
其中,wij表示sij的权重;
因此,地点识别装置150可以根据公式(3)确定待识别图像和参照图像之间的比较结果。公式(3)表示如下:
其中,s12表示待识别图像和参照图像之间的比较结果(即,相似度);wij表示sij的权重;sij表示子比较结果。
在360中,地点识别装置150可以根据比较结果,确定与所述待识别图像最相似的参照图像,比如确定与所述待识别图像的代表性特征最相似的参照图像的代表性特征,从而确定参照图像。
具体地,地点识别装置150可以根据公式(3)确定待识别图像和所有参照图像之间的比较结果。数值最大的比较结果对应的参照图像则为最相似的参照图像。
在370中,地点识别装置150可以基于所述最相似的参照图像确定所述待识别图像的地点。
具体地,地点识别装置150可以识别最相似的参照图像对应的地理位置(或称为参照图像的图像标识)。所述最相似的参照图像对应的地理位置则为所述待识别图像的地点。比如,地点识别装置150可以根据所述最相似的参照图像的代表性特征对应的地理位置确定所述待识别图像对应的地理位置。
图4示出了根据本申请的一些实施例所示的训练地标定位模型的方法的流程图。流程400可以实施为地点识别装置150中的非临时性存储介质中的一组指令。地点识别装置150可以执行该一组指令并且可以相应地执行过程400中的步骤。
以下呈现的所示流程400的操作,旨在是说明性的而非限制性的。在一些实施例中,流程400在实现时可以添加一个或多个未描述的额外操作,和/或删减一个或多个此处所描述的操作。此外,图4中所示的和下文描述的操作的顺序并不对此加以限制。
在410中,地点识别装置150可以获取训练图像的特征图。
在一些实施例中,训练图像的拍摄方位相同或基本相同。
在一些实施例中,训练图像可以来自retrieval-sfm数据库。retrieval-sfm数据库中相同景物在不同拍摄方位下拍摄得到的图像差异较小。
在一些实施例中,训练图像可以包括匹配图像和非匹配图像。所述匹配图像对应的地理位置相同,所述非匹配图像对应的地理位置不同。
在一些实施例中,训练图像的尺寸可以相同或不同。例如,训练图像的尺寸均为352*352,训练图像的高度为288像素。
在一些实施例中,地点识别装置150可以通过卷积神经网络(例如,resnet)获取训练图像的特征图。
在420中,地点识别装置150可以获取初始地标定位模型。
在一些实施例中,所述初始地标定位模型可以为卷积神经网络模型。具体地,所述初始地标定位模型包括多个尺寸的卷积核,例如三个尺寸的卷积核。
在一些实施例中,所述初始地标定位模型可以通过xavier初始化方法进行初始化,所述初始地标定位模型可以包括一个或多个初始参数。
在430中,地点识别装置150可以基于所述训练图像的特征图和所述初始地标定位模型,获取所述训练图像的响应图。
具体地,地点识别装置150可以将所述训练图像的特征图输入到所述初始地标定位模型中,所述初始地标定位模型可以生成所述训练图像的响应图。
在440中,地点识别装置150可以将所述训练图像的特征图和响应图融合,获取所述训练图像的增强特征图。
具体地,地点识别装置150可以将所述训练图像的特征图和响应图进行卷积运算,得到所述训练图像的增强特征图。
在450中,地点识别装置150可以基于所述训练图像的增强特征图,确定所述初始地标定位模型的损失函数。
具体地,地点识别装置150可以基于所述训练图像的增强特征图,获取所述训练图像的非匹配图像;然后基于所述训练图像及其匹配图像和非匹配图像,确定所述初始地标定位模型的损失函数。在一些实施例中,所述训练图像的非匹配图像为与所述训练图像距离最小的一张或多张(例如,四张)非匹配图像。
在460中,地点识别装置150可以根据所述初始地标定位模型的损失函数,训练所述初始地标定位模型并得到所述训练好的地标定位模型。
具体地,地点识别装置150可以通过不断地调整所述初始地标定位模型的一个或多个初始参数,使得所述损失函数最小或者小于一定的阈值。当所述损失函数最小或者小于一定的阈值时,此时的地标定位模型为训练好的地标定位模型。
图6示出了根据本申请的一些实施例所示的训练地标定位模型的示意图。主要过程如下:
首先,地点识别装置150可以将训练图像601输入到卷积神经网络610中,得到特征图620。其次,地点识别装置150可以将特征图620输入到初始地标定位模型690中,经过三个不同尺寸的卷积核631、632和633处理后分别得到中间图641、642和643。再次,地点识别装置150可以将中间图641、642和643串联结合,得到总串联图650。接着,地点识别装置150可以对总串联图650降维,例如,通过1*1*d的卷积层处理,得到响应图660。然后,地点识别装置150可以将响应图660和特征图620融合生成增强特征图680。最后,地点识别装置150可以根据增强后的特征图680,确定训练图像601的匹配图像671和非匹配图像673。
需要注意的是,匹配图像671和非匹配图像673可以与训练图像601来自相同的数据库。非匹配图像673的数量可以为一张或多张(例如,4张),这里不做限定。
作为示例,卷积核631、632和633的尺寸可以为3*3,5*5,以及7*7。。假设特征图的尺寸为w*h*c,中间图641、642以及643的尺寸可以为w*h*32,串联结合后的总中间图650的尺寸可以为w*h*96(即,32*3)。此时,上述一维卷积层1*1*d中的d为96,响应图660的尺寸可以为w*h*1。增强特征图680的尺寸可以为w*h*c。
作为示例,地点识别装置150可以将增强特征图680中的像素进行全局求和,然后根据该值确定训练图像601的非匹配图像673。如公式(4)所示:
其中,f表示增强特征图680中的像素全局求和的和值;wij表示增强特征图680中像素的响应强度;fij表示增强特征图680中该像素的特征;i和j表示该像素的横坐标和纵坐标,i处于[1,w],j处于[1,h]。
具体地,地点识别装置150可以求出所有训练图像的f。对于每张具体的训练图像601,地点识别装置150可以比较所述具体的训练图像601与其他训练图像的f,并将与所述具体的训练图像601的f差距最小的一张或多张非匹配图像为该具体的训练图像601的非匹配图像。本申请中,两张图像的f之间的差距也称为两张图像之间的距离。
作为示例,基于训练图像601及其匹配图像和非匹配图像,地点识别装置150可以根据公式(5)确定所述初始地标定位模型的损失函数。如公式(5)所示:
其中,q为任意一张训练图像601;q 为q的匹配图像;
为了充分说明本申请提供的地点识别方法的优越性能,将基于地标定位模型本申请提供的地点识别方法与其他方法的性能进行比较。本申请提供的地点识别方法称为地标识别方法,或者lln方法。所述其他方法包括:
holistic方法,根据卷积神经网络生成图像的全局特征,然后根据图像的全局特征进行地点识别。
act方法,根据卷积神经网络生成图像的特征图像,然后统计得到特征图像中较大的多个局部特征进行地点识别。在下述多种地点识别方法的性能比较中,需要对act模型的目标识别功能进行提前训练。
rand方法,根据卷积神经网络生成图像的局部特征,然后随机选取多个局部特征进行地点识别。应当可以理解的是,在下述多种地点识别方法的性能比较中,对于rand方法,随机选取的局部特征在待识别图像和参照图像中的坐标是相同的。
all方法,根据卷积神经网络生成图像的局部特征,然后将所有局部特征进行地点识别。
delf方法,根据卷积神经网络生成图像的局部特征,然后根据delf模型中的注意力识别模块选取多个局部特征进行地点识别。在下述多种地点识别方法的性能比较中,需要对delf模型的图像检索功能进行提前训练。
conv3方法,根据alexnet模型中第三个卷积层的输出作为图像的全局特征,然后根据图像的全局特征进行地点识别。
本申请中,我们适用三种数据库进行性能评价。这三种数据库分别为gardenpoint数据库,cmulocalization数据库,以及mapillary数据库。gardenpoint数据库数据库中包括白天和夜间拍摄的图像,以及拍摄方位为左侧和右侧的图像。cmulocalization数据库包括秋天和冬天拍摄的图像。
在一些实施例中,可以使用准确度-召回率(precision-recall,pr)曲线来评价以上地点识别方法性能。在召回率相同的情况下,准确度越高表示地点识别方法的性能越好。
图7和图8示出了多种地点识别方法的准确度-召回率曲线。
如图7所示,曲线701表示all方法的pr曲线;曲线702表示地标定位方法的pr曲线;曲线703表示rand方法的pr曲线;曲线704表示act方法的pr曲线;曲线705表示conv3方法的pr曲线;曲线706表示delf方法的pr曲线;曲线707表示地标定位方法的pr曲线。曲线702一直具有很好的性能。
图7中用于进行性能测试的图像包括gardenpoint数据库中白天拍摄且拍摄方位为右侧的图像和夜间拍摄且拍摄方位为右侧的图像。
如图8所示,曲线801表示all方法的pr曲线;曲线802表示地标定位方法的pr曲线;曲线803表示rand方法的pr曲线;曲线804表示act方法的pr曲线;曲线805表示conv3方法的pr曲线;曲线806表示delf方法的pr曲线;曲线807表示地标定位方法的pr曲线。图8中用于性能测试的图像包括cmulocalization数据库中秋天拍摄的图像和冬天拍摄的图像。曲线802一直具有很好的性能。
为了充分说明地标识别方法的鲁棒性,将地标识别方法与其他方法进行比较。所述其他方法与上述其他方法相同。
首先,使用orb-slm建立地图,并使用gps定位除去地图中的错误。地图中的所有场景作为参照图像,用于地点识别。然后使用地标识别方法进行地点识别,结果如表格(1)所述。
表(1)—地点识别方法的准确度
表格(1)中的所有数据均是在召回率为100%的情况下获取的。由此可知,无论图像的类别如何变化,地标识别方法均具有很高的准确度。
需要指出的是,all方法的准确度也很高,但是all方法的计算量非常大,计算耗时远远高于地标识别方法。
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本申请意图囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本公开提出,并且在本公开的示例性实施例的精神和范围内。
此外,本申请中的某些术语已被用于描述本公开的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本公开的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本公开的一个或多个实施例中适当地组合。
应当理解,在本公开的实施例的前述描述中,为了帮助理解一个特征,出于简化本公开的目的,本申请有时将各种特征组合在单个实施例、附图或其描述中。或者,本申请又是将各种特征分散在多个本发明的实施例中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本申请的时候完全有可能将其中一部分特征提取出来作为单独的实施例来理解。也就是说,本申请中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
在一些实施方案中,表达用于描述和要求保护本申请的某些实施方案的数量或性质的数字应理解为在某些情况下通过术语“约”,“近似”或“基本上”修饰。例如,除非另有说明,否则“约”,“近似”或“基本上”可表示其描述的值的±20%变化。因此,在一些实施方案中,书面描述和所附权利要求书中列出的数值参数是近似值,其可以根据特定实施方案试图获得的所需性质而变化。在一些实施方案中,数值参数应根据报告的有效数字的数量并通过应用普通的舍入技术来解释。尽管阐述本申请的一些实施方案列出了广泛范围的数值范围和参数是近似值,但具体实施例中都列出了尽可能精确的数值。
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
最后,应理解,本文公开的申请的实施方案是对本申请的实施方案的原理的说明。其他修改后的实施例也在本申请的范围内。因此,本申请披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本申请中的实施例采取替代配置来实现本申请中的发明。因此,本申请的实施例不限于申请中被精确地描述过的哪些实施例。
1.一种用于地点识别的方法,其特征在于,所述方法包括:
获取待识别图像的特征图;
获取训练好的地标定位模型;
基于所述待识别图像的特征图和所述训练好的地标定位模型,获取所述待识别图像的响应图;
其中,所述待识别图像的响应图上具有一个或多个地标,所述一个或多个地标对应所述待识别图像中的代表性物体。
2.如权利要求1所示的用于地点识别的方法,其特征在于,所述基于所述待识别图像的特征图和所述训练好的地标定位模型,获取所述待识别图像的响应图,包括:
基于两个以上尺寸的卷积核,对所述待识别图像的特征图分别进行第一卷积获取两张以上的中间图;
将所述两张以上的中间图串联,得到总串联图;
对所述总串联图进行第二卷积,获取所述待识别图像的响应图。
3.如权利要求1所示的用于地点识别的方法,其特征在于,所述训练好的地标定位模型通过以下步骤训练得到:
获取训练图像的特征图;
获取初始地标定位模型;
基于所述训练图像的特征图和所述初始地标定位模型,获取所述训练图像的响应图;
基于所述训练图像的特征图和响应图,获取所述训练图像的增强特征图;
基于所述训练图像的增强特征图,确定所述初始地标定位模型的损失函数;
根据所述初始地标定位模型的损失函数,训练所述初始地标定位模型并得到所述训练好的地标定位模型。
4.如权利要求3所示的用于地点识别的方法,其特征在于,所述训练图像包括匹配图像和非匹配图像,所述匹配图像对应的地理位置相同,所述非匹配图像对应的地理位置不同。
5.如权利要求4所示的用于地点识别的方法,其特征在于,所述基于所述训练图像的增强特征图,确定所述初始地标定位模型的损失函数包括:
基于所述训练图像的增强特征图,获取所述训练图像的非匹配图像;
基于所述训练图像及其匹配图像和非匹配图像,确定所述初始地标定位模型的损失函数;
其中,所述训练图像的非匹配图像为与所述训练图像相似度最高的一张或多张非匹配图像。
6.如权利要求1所示的用于地点识别的方法,其特征在于,所述方法进一步包括:基于所述待识别图像的特征图和响应图,获取所述待识别图像的代表性特征,所述代表性特征为所述代表性物体的特征;
访问参照数据库,所述参照数据库包括多个参照图像的代表性特征,每个参照图像的代表性特征对应一个或者多个地理位置;
比较所述待识别图像的代表性特征与所述多个参照地点图像的代表性特征;
根据比较结果,确定与所述待识别图像的代表性特征最相似的参照图像的代表性特征;
基于所述最相似的参照图像对应的地理位置确定所述待识别图像对应的地理位置。
7.如权利要求6所示的用于地点识别的方法,其特征在于,所述参照图像与所述待识别图像的拍摄方位相同或基本相同。
8.如权利要求1所示的用于地点识别的方法,其特征在于,所述方法由自动驾驶车辆上的车载设备执行。
9.如权利要求1所示的用于地点识别的方法,其特征在于,所述代表性物体为建筑物。
10.一种用于地点识别的装置,包括至少一个处理器,所述处理器执行权利要求1-9中任一所述方法。
技术总结