使用街景数据预测城市感知

1.基本流程

  • 构建城市感知模型
  • 通过 MIT Place Pulse数据集训练模型。
  • 获取需要研究区域的百度街景或者腾讯街景作为模型输入,利用训练好的模型,预测结果(可以得到每张街景图片所对应的感知得分)

.2.MIT Place Pulse数据集的介绍

            使用街景数据预测城市感知_第1张图片

 它就是一个麻省做的一个打分系统得到的数据集,大概11万张谷歌街景,包含全球的几十个城市,其中每张街景分别对应的包括安全、富裕、无聊、美丽、drepressing。。。等六种感知,原始的数据,街景是两个两个进行比较没有具体的得分,我下载的数据集是已经经过处理的并计算的Q-SCore,即每张街景对应六种感知的具体得分,这样就可以对数据稍作处理进行训练啦

3. 模型的训练

    很简单,每张街景对应一个具体的得分,我们很容易可以把它看作是回归问题,但是人的感知是不确定的可能这个人打的分是70就觉得高,那个人打分是90才觉得高,如果直接用cnn进行回归的话,误差就很大。所以不如把问题看做是分类问题,如果是分类的话,直接把数据集设置一个阈值,大于那个阈值的话就为正样本,小于阈值的话就是负样本,很简单的二分类问题,分类得到的正样本的概率值就看作是图片的得分了(很简单就print一下softmax输出就行)。

至于阈值怎么设置就看你们自己了,我是直接用平均值加减标准差,把范围内的数据剔除,然后大于就为正,小于为负。

图像分类的代码我是直接用的一个大牛:B导,大B哥的代码,看的论文人家用的是resnet50,因为有place2数据集的预训练权重,我也就用resnet50了。。。,因为是对街景分类所以就用场景分类权重place2训练的那个还靠谱一点,权值文件我是在paperwithcode上找的。

大b哥的github:GitHub - bubbliiiing/classification-keras: 这是各个主干网络分类模型的源码,可以用于训练自己的分类模型。

大b哥的博客:(2条消息) Bubbliiiing的博客_CSDN博客-神经网络学习小记录,睿智的目标检测,有趣的数据结构算法领域博主

4.预测

       如果是分类的话得到输出的概率就print一下就行

使用街景数据预测城市感知_第2张图片

 给大b哥的预测代码稍微一改,将预测结果写入csv表里面

使用街景数据预测城市感知_第3张图片

 然后就完事了。

当然如果大家嫌分类费劲,也可以直接用回归,那么数据就是街景图片,标签就是每张街景具体的值,把分类里面的softmax层去掉就完事,改一下前传结构然后进行训练就行。

使用街景数据预测城市感知_第4张图片

 注意:一个指标训练一个网络,因为数据集中一个街景对应六种感知指标,所以可以训练六个网络,然后分别预测就行。

预测完之后就可以进行分析了,可以把每张街景的感知在地图上可视化一下,也可以利用语义分割模型对街景进行分割,研究街景分割的要素与得分的关系。。。。

这样子就结束了。。这个东西我感觉有点泛泛,可以在一个大的研究区里面做,但是如果要是具体到街道范围,我感觉就有点不靠谱了,毕竟这也是打分数据

你可能感兴趣的:(人工智能)