街景数据可以怎么处理?从像素到城市研究
真正有用的答案不是一串研究领域,而是一条处理链:像素变成视觉特征,视觉特征变成空间指标——每一步都在决定最终那个数字被允许说什么。
- 作者
- HuiTu Technology
- 发布时间
- 更新时间
在各类城市数据里,街景影像有一点很特别:任何人都看得懂。打开一张图,你立刻就能认出人行道、店面、树。正是这种「一眼可读」,让「街景数据可以用来做什么」这个问题,通常被一串研究领域回答掉——绿化、安全感、步行性、零售——而这些答案往往用不上。领域告诉你别人研究过什么,但没告诉你一个像素要经过哪些环节,才能变成一个你敢拿出去被追问的数字。
如今这方面的文献已经足够多,可以直接描述而不必猜测。2021 年发表在《Landscape and Urban Planning》上的一篇系统性综述筛选了 619 篇论文,归纳了 250 项研究,并把这些工作分成大约十类应用方向,横跨植被、感知、交通、建成环境与社会经济估计。本文的组织方式正好相反:不按学科分,而是按那 250 项研究都必须走过的三个处理层来分,并逐层说明它能支撑什么、支撑不了什么。
街景处理分三层
关于街景结果的争论——说某个数字不对、有偏、或者跨区不可比——几乎都可以还原成「它是哪一层产出的」之争。把三层拆开命名,争论就能各归其位,而问题往往就落在此前没人看的那一层。
| 层次 | 这一层在做什么 | 产出是什么 |
|---|---|---|
| 影像层 | 沿路网采样、全景到透视的重投影、固定朝向与俯仰角、针对占位图与遮挡的质检 | 一套定义明确的影像集,每帧附元数据:点位 ID、朝向、拍摄月份、来源、授权 |
| 视觉特征层 | 语义分割、目标检测、文字识别,以及用于相似检索和感知模型的特征嵌入 | 逐帧的类别占比、目标计数、识别出的文本、特征向量 |
| 空间指标层 | 把多朝向平均成点位画像、把点位挂接到路段、再把路段聚合到街区、格网或行政单元 | 可与任意其他空间数据关联的分路段、分区域指标 |
三层是严格有序的,而误差只朝一个方向传递。再好的分割模型也修不了一个撒在方形格网上的样本;再细致的空间聚合也修不了从歪着拍的画面里算出来的类别占比。所以影像层这个看起来只是「管道」的部分,恰恰最需要设计上的投入。
影像层:一旦定下就没人回头改的决定
- 沿路网固定一个采样间距并记录下来。城市场景通常取 20 到 50 米,而凡是你打算相互比较的单元,间距必须完全一致。
- 每个点位渲染一组固定朝向——0°、90°、180°、270° 四张是研究中的常见做法——并且视场角与俯仰角在整个项目内保持不变。
- 推理之前先把全景重投影为直线透视截图。模型是在普通照片上训练的,直接喂等距柱状全景,等于把弯曲的立面和拉伸的天空塞给一个从没见过它们的网络。
- 筛掉那些会悄悄污染整批数据的帧:以成功状态返回的灰色占位图、落在街道点附近的室内全景、把整个视野填满的过路卡车、严重的镜头光晕,以及镜头上的雨水。
- 为每一帧写一行清单,带上来源、授权、拍摄月份和确切的相机参数。后续所有结论都只是关于那个特定视野的陈述,没有清单就无法还原这个陈述。


视觉特征层:四种技术,四种性质的证据
- 语义分割给每个像素赋一个类别,得到的是视野构成比例:站在这个点上的人,能看到多少车行道、植被、天空或建筑。
- 目标检测返回带框的离散个体,得到的是计数与位置:标志牌、灯杆、垃圾桶、路边停车、行人。
- 文字识别读出画面中的字符串——店招、路名牌、管制标志——从而把影像变成可以和工商名录关联的东西。
- 特征嵌入把一帧压缩成一个向量,支撑相似检索、街道形态聚类,以及感知模型所用的回归头。
在它们之间做选择,不是「谁更先进」的问题。占比和计数回答的是不同问题:就像素而言,一个贴近镜头的行人可能压过远处的十几个人;所以只用分割构建的活力指标,会和只用检测构建的对不上,而两者在各自的定义下都可能是对的。
空间指标层:点 → 路段 → 区域
逐帧的数字对规划者还没有用,因为没人会针对一个「视野」做决策。聚合分三步走:先把多个朝向平均成每个点位一份画像,再把点位挂接到所属路段,最后把路段汇总到决策实际使用的单元。每一步都需要写下明确规则:一个路段至少要几个点才给值、只有一个点的路段怎么处理,以及不同拍摄月份的点位到底能不能放在一起平均。


语义分割是主力
文献里绝大多数街景指标都来自同一个操作:给每个像素分类,然后数数。城市场景领域占主导的类别体系源自 Cityscapes,而它的类别恰好能对上城市研究想测量的那些东西。
| 类别 | 它能支撑什么 |
|---|---|
| 车行道(road) | 车行空间占比,近似反映画面中有多大比例让给了机动车 |
| 人行道(sidewalk) | 步行设施供给,谨慎处理时也可用于判断走廊上的连续性 |
| 建筑(building) | 竖向界面,多数围合度代理指标的分子 |
| 植被(vegetation) | 绿视率;在控制了拍摄月份的前提下也可用于季节比较 |
| 天空(sky) | 开敞度,以及围合度代理指标的分母 |
| 车辆(小汽车、卡车、公交) | 拍摄瞬间的交通与停车存在度,同时也是最主要的遮挡来源 |
| 行人与骑行者 | 拍摄瞬间的街道活动,永远依赖于拍摄时段 |

绿视率:Treepedia 到底测的是什么
绿视率是最成熟的街景指标,也最能说明处理层为什么重要。它是植被像素占可见画面的比例,并在一个采样点的多个朝向上取平均——衡量的是「站在人行道上的人能看到多少绿」。2015 年发表于《Urban Forestry & Urban Greening》的改进型绿视指数给了它一个可引用的定义,而 MIT Senseable City Lab 的 Treepedia 项目把这套方法推广到许多城市,它才从一次性方法变成一个可跨城比较的指标。

围合度与开敞度这一族指标受同样的逻辑约束。竖向界面与可见天空之比,描述的是街道被感知到的剖面,而不是它被测量出的剖面;建筑高度与街道宽度属于不动产登记与激光雷达数据,需要物理尺寸的项目应当从那里取值,而不是从像素里推。
城市感知:六个维度,和一个很大的前提
第二大应用族,是从外观预测人们对一个地方的评价。奠定这一方向的做法,是在全球范围收集众包的两两比较——给你看两张街景,哪一张看起来更安全?——再训练模型去预测聚合后的人群偏好。Place Pulse 2.0 这项工作围绕六个维度展开:安全、美观、有活力、富裕、压抑、无聊。
两两比较的设计是其中最巧妙的一环。让人给一条街打 1 到 10 分只会得到噪声,因为不同评分者的尺度会漂移;而问「这两条街哪条看起来更安全」,得到的比较可以干净地聚合成一个排序。模型学到的就是这个排序——而排序是关于人的判断的陈述,不是关于这条街本身的陈述。
步行性与无障碍
传统的步行性审计,是让受过训练的观察员拿着清单沿街走一遍。街景影像让同一份清单可以铺到实地踏勘无法覆盖的规模,而包括发表在《ISPRS International Journal of Geo-Information》上的街景步行性评估在内的一批工作,正是建立在这种替代之上。
- 人行道的有无与连续性:逐帧识别,再沿路段串起来,看的是断点在哪,而不是平均值是多少。
- 过街设施:斑马线、信号灯、安全岛,以及行人自然选择的路径上恰好什么都没有的地方。
- 路口的坡道与台阶——一条本来连续的路径,正是在这里对轮椅和婴儿车失去可用性。
- 步行区内的障碍物:杆件、垃圾桶、违停车辆、外摆经营、施工围挡。
- 缓冲与舒适线索:行人与车流之间的行道树、灯柱、可坐设施。

交通与道路资产盘点
资产类工作最偏运营,也是检测而非分割承担主要工作的一类。它的产出是一份盘点表:一批带位置、带类型、并且已去重的走廊设施清单。
- 交通标志与管制牌:按类别归类,并定位到路段上的具体位置。
- 路灯:灯杆位置与间距——它能支撑关于夜间照明覆盖的追问,而影像本身回答不了这些问题。
- 车道线及其表观状况,以及过街标线与停止线。
- 从车上可见的路面缺陷——开裂、补丁、积水——适合做分诊排查,而不是工程评定。
- 停车:拍摄瞬间的路内占用、路缘使用方式与装卸活动。
任何资产项目都受两个约束。一是目标在每一帧里各被检出一次,但在现实中只存在一个,因此跨重叠帧的去重是一个实打实的步骤,不是收尾时补的——有序采集序列会让这件事比一堆彼此独立的全景容易得多。二是单次通过只记录一个瞬间:一个当天拿出来待收的垃圾桶、一辆并排停放的货车、一块被送货卡车临时挡住的标志。资产层面的结论,要么依靠多次重复采集,要么就要明确写清它描述的是拍摄瞬间。
商业与街道活力
零售与街道活力类工作会同时用到三种特征技术。文字识别把店招读成名称,再配一个分类器读成业态。分割与检测描述界面本身——玻璃与实墙的比例、卷帘门、遮阳篷、外摆——也就是建筑与人行道之间的那道物理界面。检测则数出画面中的人与车。
- 店招 OCR 给出每个门面的候选商户清单,最好用作与 POI 或工商名录的交叉核对,而不是当成一次独立普查。
- 门面透明度与卷帘门情况,描述的是首层界面的品质;它与街道被如何使用相关,但不是营业状况的度量。
- 行人与车辆存在度,为你手上这些帧提供一个活动代理值,报告时必须附上拍摄时间。

城市变化检测
同点位的多期影像,是价值最高、也最容易做坏的一类应用。做对了,它能直接测量物理变化:一块地被开发、一个门面被改造、一条自行车道被划出、树木被种上或被移走。近年围绕街景时间序列做城市变化评估的工作,包括 CityPulse 这一脉的研究,专门为此构建了数据集与方法;它们在方法上的谨慎程度本身就很有参考价值。

- 对齐视角。不同年份的全景在街道上的位置略有差异,因此仅仅让朝向一致是不够的;应朝固定方位角渲染,并用建筑转角这类稳定特征检查两帧是否真的重合。
- 控制季节与光照。落叶期对展叶期会「测出」一个从未发生的植被变化;低太阳角度的影像对上阴天影像,则会让每个地面类别占比都发生偏移。
- 所有期次固定同一个模型与类别体系,否则你测到的差异里混着一次模型升级。
- 把真实变化和重新处理区分开。新的全景标识符既可能意味着新影像,也可能只是同一次拍摄的重新渲染,因此在把某处判为「变化」之前,要先核对拍摄日期与返回位置。
- 对检出的变化抽样做人工复核。变化检测最容易在看起来最有意思的地方产生误报——脚手架、停放车辆、临时围挡。
健康与环境暴露,以及社会经济代理变量
还有两个应用族,把街景指标延伸到了别的学科。在健康研究中,人视高度的绿量、围合度与步行设施被用作环境暴露变量,理由是「居民每天看到并走过的东西」比卫星数据算出的区域均值更接近真实暴露。在社会经济研究中,街道特征——建筑状况、车辆类型、门面品质、绿化——被用来估计收入、贫困程度或房价,尤其是在调查数据稀疏或过时的地方。
研究设计决定上面这些是否成立
上述所有应用,能有多好取决于底下的设计,而已发表结果之间的分歧,大多能用同样这几个设计字段解释。请把它们当作交付表里的必备列,而不是方法章节里的套话。
- 采样间距,在所有相互比较的单元中保持一致;以及决定每个点匹配到哪个全景的吸附半径。
- 朝向组合、视场角与俯仰角,全项目保持恒定。仅仅放大视场角,就会让你报告的每一个占比都发生位移。
- 拍摄月份,一路带到最终结果表。季节性是系统性的而非随机的,所以它能在聚合后存活,并最终变成一个「结论」。
- 来源字段——当影像混用了不同平台、或包含你自己的采集时。不同相机与安装高度造成的偏移,常常大于你所研究的那些差异本身。
- 模型标识、权重与类别体系版本,这样日后重跑才是可比较的,而不只是重跑了一遍。
- 分层抽样的人工校验,并以「这批影像、这个模型、这组样本」的误差分布形式报告,而不是给出一个笼统的精度承诺。
- 每个聚合单元的点位数量,与每个聚合值并列给出。只有一帧可用的路段和有十二帧的路段,不该在输出里长得一模一样。
如何选择处理路线
只要把问题问得足够精确,大部分立项讨论都会快很多——因为路线会随问题自动确定,而「这条路线解决不了什么」也会随之明确。
| 你真正想问的是什么 | 处理路线 | 它解决不了什么 |
|---|---|---|
| 行人在这里能看到多少绿? | 分割 → 逐朝向植被占比 → 分路段绿视率,限定在同一个季节窗口内 | 树冠面积、树种,以及这些绿化是否向公众开放可达 |
| 这条街的围合感如何? | 分割 → 竖向界面与可见天空之比,俯仰角与视场角固定 | 实测的建筑高度或街道宽度;这些应取自不动产登记或激光雷达数据 |
| 人们如何评价这条街? | 在评分配对数据上训练的感知模型,使用前须在本地评分者上重新校验 | 这条街事实上是否安全、富裕或有活力 |
| 步行路径是否连续可用? | 分割判断人行道连续性,配合过街设施、坡道与障碍物检测,并沿路段串联 | 是否符合无障碍标准——那需要现场实测尺寸 |
| 这条走廊上有哪些资产? | 在有序采集序列上做检测,并跨重叠帧去重 | 相机看不到的东西的状况,以及只在其他时段出现的东西 |
| 这条街的临街商户有哪些? | 店招 OCR 加门面分类,并与 POI 或工商名录相互核对 | 当前的实际经营状况——如果影像比当地更替速度更旧 |
| 这里相比某个更早的年份变了什么? | 对齐后的多期影像,同一模型与同一季节窗口,检出结果人工复核 | 那些你实际取不到早期影像的位置上,任何变化都无从判断 |
开工之前先读第三列,是「能通过评审的研究」与「数据采完才发现要重新划范围的研究」之间的分界。而它也是整件事里成本最低的一步。