基于机器学习的街道空间日照时数批量化测量方法及系统与流程

文档序号:18551417发布日期:2019-08-27 22:23阅读:759来源:国知局
基于机器学习的街道空间日照时数批量化测量方法及系统与流程

本发明涉及日照时数测量领域,特别是涉及一种基于机器学习的街道空间日照时数批量化测量方法及系统。



背景技术:

对日照时数的测量目前主要包括以下气象基站测量法、手工实测法和软件模拟法三类测量方法。

(1)气象基站测量法。由于气象基站分布不均,搜集的日照时数的采样数目不足,难以满足街道空间的日照时数量化要求。

(2)手工实测法。使用自制的鱼眼照片、日照测量仪、日照传感器等来测量日照时数。但这类工作需要大量手工处理、耗时较长,很难批量化测量。

(3)软件模拟法。目前开发出的用软件来模拟日照时数测量方法主要分两类。一类通过三维模型来模拟气象变化,从而测量出日照时数,但这类模拟软件存在耗时较长、质量较高的三维模型数据获取困难等问题。更致命的缺陷在于,简化的城市几何模型难以模拟真实的树木冠层的日照遮挡情况,模拟精度的误差极大。另一类则通过遥感地图来模拟日照时数,同样模拟精度不够,满足不了街道空间的日照时数量化要求。



技术实现要素:

本发明的目的是提供一种基于机器学习的街道空间日照时数批量化测量方法及系统,能够快速批量化处理大量观测点的日照时数,操作高效且准确度高。

为实现上述目的,本发明提供了如下方案:

一种基于机器学习的街道空间日照时数批量化测量方法,包括:

获取观测点的全景图;

对所述全景图采用图像语义分割技术进行分类识别,得到多个分类识别后的全景图;

将各所述分类识别后的全景图进行转换处理,得到多个鱼眼图像;

获取多个设定日期的太阳路径轨迹;

将各所述鱼眼图像与对应的所述太阳路径轨迹进行叠加,得到日照时数。

可选的,所述获取观测点的全景图,具体包括:

通过网络街景地图获取各观测点的经纬度位置信息;

根据各所述观测点的经纬度位置信息确定所有观测点的全景图。

可选的,所述对所述全景图采用图像语义分割技术进行分类识别,得到多个分类识别后的全景图,具体包括:

对所述全景图采用图像语义分割技术中的卷积神经网络模型进行分类识别,得到多个分类识别后的全景图。

可选的,所述将各所述分类识别后的全景图进行转换处理,得到多个鱼眼图像,具体包括:

将各所述分类识别后的全景图采用投影转换方法进行初步转换,得到多个初步鱼眼图像;

将各所述初步鱼眼图像进行方向校正,得到多个等距方位角鱼眼图像,所述等距方位角鱼眼图像中包含天空、建筑和树木三个要素。

可选的,所述将各所述鱼眼图像与对应的所述太阳路径轨迹进行叠加,得到日照时数,具体包括:

将各所述太阳路径轨迹投影到对应的所述鱼眼图像中,得到多个投影后的太阳轨迹;

将各所述投影后的太阳轨迹进行栅格化处理,得到多个太阳路径轨迹像素;

获取太阳路径轨迹像素的数量总和;

根据各所述太阳路径轨迹像素,确定包含天空要素的太阳路径轨迹像素的数量;

根据所述包含天空要素的太阳路径轨迹像素的数量和所述太阳路径轨迹像素的数量总和,确定日照时数。

一种基于机器学习的街道空间日照时数批量化测量系统,包括:

第一获取模块,用于获取观测点的全景图;

分类识别模块,用于对所述全景图采用图像语义分割技术进行分类识别,得到多个分类识别后的全景图;

转换处理模块,用于将各所述分类识别后的全景图进行转换处理,得到多个鱼眼图像;

第二获取模块,用于获取多个设定日期的太阳路径轨迹;

日照时数确定模块,用于将各所述鱼眼图像与对应的所述太阳路径轨迹进行叠加,得到日照时数。

可选的,所述第一获取模块具体包括:

经纬度位置信息获取单元,用于通过网络街景地图获取各观测点的经纬度位置信息;

全景图确定单元,用于根据各所述观测点的经纬度位置信息确定所有观测点的全景图。

可选的,所述分类识别模块具体包括:

分类识别单元,用于对所述全景图采用图像语义分割技术中的卷积神经网络模型进行分类识别,得到多个分类识别后的全景图。

可选的,所述转换处理模块具体包括:

投影转换单元,用于将各所述分类识别后的全景图采用投影转换方法进行初步转换,得到多个初步鱼眼图像;

方向校正单元,用于将各所述初步鱼眼图像进行方向校正,得到多个等距方位角鱼眼图像,所述等距方位角鱼眼图像中包含天空、建筑和树木三个要素。

可选的,所述日照时数确定模块具体包括:

投影单元,用于将各所述太阳路径轨迹投影到对应的所述鱼眼图像中,得到多个投影后的太阳轨迹;

栅格化处理单元,用于将各所述投影后的太阳轨迹进行栅格化处理,得到多个太阳路径轨迹像素;

数量总和获取单元,用于获取太阳路径轨迹像素的数量总和;

数量确定单元,用于根据各所述太阳路径轨迹像素,确定包含天空要素的太阳路径轨迹像素的数量;

日照时数确定单元,用于根据所述包含天空要素的太阳路径轨迹像素的数量和所述太阳路径轨迹像素的数量总和,确定日照时数。

根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供一种基于机器学习的街道空间日照时数批量化测量方法,首先通过网络街景地图获得观测点的全景图,接着采用语义分割技术将全景图分类,然后将其转化为由天空、建筑、树木三类要素组成的鱼眼图,最后将得到的鱼眼图与对应的太阳路径匹配,与天空要素重叠的区域即为各观测点日照时数区域。采用本发明能够快速批量化处理大量观测点的日照时数,操作高效且准确度高。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明基于机器学习的街道空间日照时数批量化测量方法流程图;

图2为本发明基于机器学习的街道空间日照时数批量化测量系统结构图;

图3为南京大学鼓楼校区及其周边区域示意图;

图4为获取全景图照片示意图;

图5为对全景图进行分类识别示意图;

图6为等距圆柱投影转化为等距离方位投影示意图;

图7为测算出观测点的日照时数示意图;

图8为测算出沿各道路观测点的日照时数示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种基于机器学习的街道空间日照时数批量化测量方法及系统,能够快速批量化处理大量观测点的日照时数,操作高效且准确度高。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

解释一些跟技术方案有关的专业术语:

机器学习:机器学习(machinelearning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。

日照时数:指太阳在某一地点实际照射的时数。日照时数也可称实照时数。街道空间日照时数则指的是街道空间中太阳照射的实际时数。

可照时数:指在某一地点日照的最大时数。即在不计天气的条件下日出到日没太阳可能的光照时数。可照时数随季节、纬度而改变,在我国,夏季随纬度的增加而增长;冬季则相反。

图像语义分割(semanticimagesegmentation):在图像理解中起着至关重要的作用,允许计算机识别图像中的对象。其通过对图像中的每个像素进行分类来实现对象的识别和描绘。图像语义分割在计算机视觉中具有广泛的应用。

鱼眼图:是一种超广角镜头,可能产生强的视觉失真,旨在创造一种宽全景或半球形图像,可实现极宽的视角。本发明中的鱼眼图特指一种半球形图像。

太阳路径:指由于地球环绕太阳的轨道造成太阳季节性的每小时位置变化(和日照长度)。

地理信息系统(gis,geographicinformationsystem):是一种特定的空间信息系统,在计算机硬、软件系统支持下,对整个或部分地球表层空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。gis同时也是一种可以对空间信息进行分析和处理的计算机工具。

应用程序编程接口(api,applicationprogramminginterface):是一些应用程序预先定义的函数,可以提供开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问程序的源码或理解其内部工作机制的细节。

卷积神经网络(cnn,convolutionalneuralnetworks):是一类包含卷积计算且具有深度结构的前馈神经网络(feedforwardneuralnetworks),是深度学习的代表算法之一。随着深度学习理论的提出和数值计算设备的改进,卷积神经网络目前得到了快速发展,并被大量应用于计算机视觉、自然语言处理等领域。

细粒度图像分类(fine-grainedcategorization):细粒度图像分类又被称作子类别图像分类,是近年来计算机视觉、模式识别等领域的研究热点,其目的是对粗粒度的大类别进行更加细致的子类划分。但由于子类别间的细微差别以及较大的类内差异,较之普通的图像分类任务,细粒度图像分类的难度更大。

tensorflow:是一个开源软件库,用于各种感知和语言理解任务的机器学习。tensorflow拥有多层级结构,可部署于各类服务器、终端和网页并支持gpu和tpu高性能数值计算,被广泛应用于各领域的科学研究。

deeplabv3+:是谷歌公司开发的,目前最新、性能最优的语义图像分割模型算法。该算法使用tensorflow实现,建立在一种强大的卷积神经网络主干架构上,以得到最准确的结果。

城市景观数据集(cityscapesdataset):是由奔驰主推的一种数据集,用于评估视觉算法在城区场景语义理解方面的性能,包含50个城市不同场景、不同背景、不同季节的街景,使用19个语义标签(主要为道路、建筑、植被、天空、人、车等几个要素分类)训练、验证和测试集分别包含2975,500和1525图像,详细信息参见:www.cityscapes-dataset.net。

等距圆柱投影(equidistantcylindricalprojection):又称方格投影,是假想球面与圆筒面相切于赤道,赤道为没有变形的线。经纬线网格,同一般正轴圆柱投影,经纬线投影成两组相互垂直的平行直线。其特性是:保持经距和纬距相等,经纬线成正方形网格;沿经线方向无长度变形;角度和面积等变形线与纬线平行,变形值由赤道向高纬逐渐增大。

等距离方位投影(equidistantazimuthprojection):等距离方位投影是一种方位角的地图投影。这种投影图上由中心到任何点的方位角保持正确,沿经线的距离与实地相等。

grasshopper:简称gh,是一款在rhino环境下运行的采用程序算法生成模型的插件,是目前设计类专业参数化设计方向的入门软件。与传统建模工具相比,gh的最大的特点是可以向计算机下达更加高级复杂的逻辑建模指令,使计算机根据拟定的算法自动生成模型结果。通过编写建模逻辑算法,机械性的重复操作可被计算机的循环运算取代;同时设计师可以向设计模型植入更加丰富的生成逻辑。无论在建模速度还是在水平上照传统工作模式相比,都有较大幅度的提升。

像素:像素是指图像的最小组成单位,以一个单一颜色的小方格存在。每一张图像都包含了一定量的像素。

pythonpath:pythonpath是python中一个重要的环境变量,用于在导入模块的时候搜索路径。

实施例1:

图1为本发明基于机器学习的街道空间日照时数批量化测量方法流程图。如图1所示,一种基于机器学习的街道空间日照时数批量化测量方法,包括:

步骤101:获取观测点的全景图,具体包括:

通过网络街景地图获取各观测点的经纬度位置信息。

根据各所述观测点的经纬度位置信息确定所有观测点的全景图。

步骤102:对所述全景图采用图像语义分割技术进行分类识别,得到多个分类识别后的全景图,具体包括:

对所述全景图采用图像语义分割技术中的卷积神经网络模型进行分类识别,得到多个分类识别后的全景图。

步骤103:将各所述分类识别后的全景图进行转换处理,得到多个鱼眼图像,具体包括:

将各所述分类识别后的全景图采用投影转换方法进行初步转换,得到多个初步鱼眼图像。

将各所述初步鱼眼图像进行方向校正,得到多个等距方位角鱼眼图像,所述等距方位角鱼眼图像中包含天空、建筑和树木三个要素。

步骤104:获取多个设定日期的太阳路径轨迹。

太阳的位置根据太阳路径方程可以精确计算。grasshopper软件的heliotrope-solar插件可以获取指定日期、时间和地点的太阳路径轨迹,本发明即利用该插件测算出不同观测点的不同日期的太阳路径矢量作为太阳轨迹。

步骤105:将各所述鱼眼图像与对应的所述太阳路径轨迹进行叠加,得到日照时数,具体包括:

将各所述太阳路径轨迹投影到对应的所述鱼眼图像中,得到多个投影后的太阳轨迹。

将各所述投影后的太阳轨迹进行栅格化处理,得到多个太阳路径轨迹像素。

获取太阳路径轨迹像素的数量总和。

根据各所述太阳路径轨迹像素,确定包含天空要素的太阳路径轨迹像素的数量。

根据所述包含天空要素的太阳路径轨迹像素的数量和所述太阳路径轨迹像素的数量总和,确定日照时数。

本发明提出了一种可以解决街道级的日照时数大批量测量问题的方法,该方法既可以保证日照时数的精度,又能够满足大批量大尺度获取的要求,同时经济便捷、快速有效。本发明应用了当下最新的深度学习算法即卷积神经网络cnn算法和大数据技术,巧妙将抓取的全景图批量转化为了可测量日照时数的鱼眼图。

实施例2:

图2为本发明基于机器学习的街道空间日照时数批量化测量系统结构图。如图2所示,一种基于机器学习的街道空间日照时数批量化测量系统,包括:

第一获取模块201,用于获取观测点的全景图。

分类识别模块202,用于对所述全景图采用图像语义分割技术进行分类识别,得到多个分类识别后的全景图。

转换处理模块203,用于将各所述分类识别后的全景图进行转换处理,得到多个鱼眼图像。

第二获取模块204,用于获取多个设定日期的太阳路径轨迹。

日照时数确定模块205,用于将各所述鱼眼图像与对应的所述太阳路径轨迹进行叠加,得到日照时数。

所述第一获取模块201具体包括:

经纬度位置信息获取单元,用于通过网络街景地图获取各观测点的经纬度位置信息。

全景图确定单元,用于根据各所述观测点的经纬度位置信息确定所有观测点的全景图。

所述分类识别模块202具体包括:

分类识别单元,用于对所述全景图采用图像语义分割技术中的卷积神经网络模型进行分类识别,得到多个分类识别后的全景图。

所述转换处理模块203具体包括:

投影转换单元,用于将各所述分类识别后的全景图采用投影转换方法进行初步转换,得到多个初步鱼眼图像。

方向校正单元,用于将各所述初步鱼眼图像进行方向校正,得到多个等距方位角鱼眼图像,所述等距方位角鱼眼图像中包含天空、建筑和树木三个要素。

所述日照时数确定模块205具体包括:

投影单元,用于将各所述太阳路径轨迹投影到对应的所述鱼眼图像中,得到多个投影后的太阳轨迹。

栅格化处理单元,用于将各所述投影后的太阳轨迹进行栅格化处理,得到多个太阳路径轨迹像素。

数量总和获取单元,用于获取太阳路径轨迹像素的数量总和。

数量确定单元,用于根据各所述太阳路径轨迹像素,确定包含天空要素的太阳路径轨迹像素的数量。

日照时数确定单元,用于根据所述包含天空要素的太阳路径轨迹像素的数量和所述太阳路径轨迹像素的数量总和,确定日照时数。

实施例3:

在具体实施时,一种基于机器学习的街道空间日照时数批量化测量方法包括:

步骤1:获取观测点的全景图

步骤1.1:获取系列观测点经纬度位置信息。

基于选用的街景地图,先通过该地图自身提供的api获得路网信息,再利用gis软件针对选择的道路每隔一定间距生成一个观测点,并获得所有观测点的经纬度位置信息。本发明的数据源是网络上由百度等公司提供的街景地图,包括百度街景、腾讯街景、谷歌街景等。

步骤1.2:获得全景照片。

基于所获得的观测点的经纬度信息,利用街景地图自身提供的api生成每个观测点所在位置的全景街景图。

步骤2:利用图像语义分割技术对全景图进行分类识别。

因为图像语义分割技术使用的卷积神经网络(cnn)算法可以自动学习特征分类,比人工特征拥有更强大的描述能力,将深度卷积特征运用到细粒度图像分类(fine-grainedcategorization)任务中,能够取得更精准的结果,因此选择图像语义分割技术来识别街景特征。

步骤2.1:配置程序计算环境。

在python中安装tensorflow及所需的numpy、pillow库,并配置tensorflowmodel(下载tensorflowmodel见https://github.com/tensorflow/models/)。然后添加tensorflowmodel中的tfslim到pythonpath中。

步骤2.2:下载所需的图像识别模型。

登录网站

https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/model_zoo.md,选择由deeplabv3+调用城市景观数据集(cityscapesdataset)训练出来的模型xception71_dpc_cityscapes_trainfine(见http://download.tensorflow.org/models/deeplab_cityscapes_xception71_trainvalfine_2018_09_08.tar.gz)。

步骤2.3:对街景进行分类识别。

将抓取的全景街景图放在一个文件夹中。利用python编码调用被训练好的模型xception71_dpc_cityscapes_trainfine,逐一对文件夹中的全景街景图进行语义分割,生成含有各类语义标签的全景图,存储在另一个文件夹中。

步骤3:将分类识别后的全景图转化为鱼眼图。

全景图是等距圆柱投影的形式,鱼眼图像为等距离方位投影的形式。需要将含各类语义标签的全景图通过投影原理转化为等距离方位投影图,从而获得鱼眼图像。

步骤3.1:投影转换。

使用了pano2vr软件来实现这一投影转换过程。批量导入全景图,选择球体类型,并选择倾斜角90度,即可生成鱼眼图。

步骤3.2:要素简化。

原始的全景图含有各类语义标签,但在转化为鱼眼图后,除了天空、建筑和树木外,道路、汽车等额外的语义要素在图中受到转化的变形作用而变得几乎可以忽略不计,因此直接将其就近合并入建筑或树木要素。

步骤3.3:方向校正。

生成的鱼眼图是上南下北的,为了得到上北下南的鱼眼图,需要沿着过中心点的东西轴为对称轴做镜像处理,得到最终的等距方位角鱼眼图像。

步骤4:测量出日照时数。

步骤4.1:获得太阳路径轨迹矢量。

太阳的位置根据太阳路径方程可以精确计算。grasshopper软件的heliotrope-solar插件可以获取指定日期、时间和地点的太阳路径轨迹,本发明即利用该插件测算出不同观测点的不同日期的太阳路径矢量作为太阳轨迹。

步骤4.2:太阳路径轨迹投影到水平面上。

太阳路径轨迹是在球体上的一道弧线。利用球体到水平面的投影原理,将太阳路径轨迹矢量投影到与鱼眼图尺寸相适应的水平面上。

步骤4.3:测算观测点的日照时数。

太阳路径与鱼眼图中天空类要素重叠的地方即为日照时数占比的大小。将投影后的太阳路径轨迹矢量依照鱼眼图的像素大小进行栅格化处理,转化为太阳路径轨迹像素。然后统计太阳路径轨迹像素所在的鱼眼图位置属于哪种要素,将属于天空要素的太阳路径轨迹像素的数量与总的太阳路径轨迹像素数量相除作为日照时数占比。

通过“便民查询网”(https://richurimo.51240.com/)可查到任意地点任意一天的昼长时间,即当天的可照时数。将测得的日照时数占比与当天的可照时数相乘即可得到该观测点当天的街道日照时数。

本发明具有下列优势:

本发明采用的测量方法可批量化处理,因此可满足大规模和大尺度的要求。

本发明利用了最新的机器学习算法即卷积神经网络cnn算法,可以保证图像识别的精准度,使得测量的结果精度较高。

本发明使用的大数据方法,数据可来源于百度地图,成本低廉。同时百度街景图数据在国内覆盖广泛,可满足国内大部分城市街道的测量要求。

实施例4:

本发明以中国南京为例,选择南京大学鼓楼校区及其周边区域的道路为案例,来分析各道路的日照时数情况。图3为南京大学鼓楼校区及其周边区域示意图。

(1)获取全景图,图4为获取全景图照片示意图。

(2)利用图像语义分割技术对全景图进行分类识别,图5为对全景图进行分类识别示意图。

(3)投影为由天空(深灰色)、建筑(中灰色)、树木(浅灰色)组成的鱼眼图,图6为等距圆柱投影转化为等距离方位投影示意图。

(4)测算各观测点的日照时数。

先根据太阳路径方程,获得太阳路径轨迹矢量,并将其投影到平面上。投影后的太阳路径与鱼眼图中天空类要素重叠的地方即为日照时数占比。日照时数占比再与当天的可照时数相乘即可得到当天的日照时数,图7为测算出观测点的日照时数示意图。

(5)本发明计算出了南京夏季(5月26日至9月15日)各观测点每天的日照时数,并将这113天的平均值作为夏季街道日照时数的平均值,测算结果如图8所示。分析结果充分证明本发明使用的方法方便快捷,可以有效地解决街道空间的日照时数大批量测量的问题,图8为测算出沿各道路观测点的日照时数示意图。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1