天空视域因子(SVF)是城市热环境的重要评价指标之一。利用鱼眼照片估计天空视域因子的方法快速准确,但深受等距投影的制约。在本研究中提出一种对鱼眼照片进行等距化畸变修正的方法,将任意投影模型的鱼眼镜头实拍图修正为等距投影下的图像,然后用Steyn算法计算SVF值。通过对比两组镜头的实验结果,说明非等距投影鱼眼镜头也能得到准确的SVF值,验证了该方法的精度和有效性。本文的方法具有很高的经济性、实用性,为城市热环境领域研究者及城市规划人员提供了便利。 Sky View Factor (SVF) is one of the essential indicators for urban thermal environmental assess-ment. The method of estimating SVF using fisheye photographs is fast and accurate, but it is re-stricted by equidistant projections. This study proposes an equidistant distortion correction meth-od for fisheye photographs that can transform the fisheye lens photo of any projection model into the image under the equidistant projection. Then, SVF values are calculated using Steyn’s method. Comparing the experimental results of two groups of lenses shows that accurate SVF values can be obtained for a non-equidistant projection fisheye lens. The accuracy and validity of the method are verified. The method proposed in this article is highly economical and practical, providing conven-ience for researchers and urban planners in urban thermal environments.
天空视域因子(SVF)是城市热环境的重要评价指标之一。利用鱼眼照片估计天空视域因子的方法快速准确,但深受等距投影的制约。在本研究中提出一种对鱼眼照片进行等距化畸变修正的方法,将任意投影模型的鱼眼镜头实拍图修正为等距投影下的图像,然后用Steyn算法计算SVF值。通过对比两组镜头的实验结果,说明非等距投影鱼眼镜头也能得到准确的SVF值,验证了该方法的精度和有效性。本文的方法具有很高的经济性、实用性,为城市热环境领域研究者及城市规划人员提供了便利。
天空视域因子,鱼眼摄影,图像畸变修正,鱼眼投影模型
Kexin Zheng, Mengyao Sun, Lenian Xia, Fangyan Lou, Yanan Li*
School of Civil Engineering, Yantai University, Yantai Shandong
Received: Oct. 16th, 2023; accepted: Jan. 9th, 2024; published: Jan. 17th, 2024
Sky View Factor (SVF) is one of the essential indicators for urban thermal environmental assessment. The method of estimating SVF using fisheye photographs is fast and accurate, but it is restricted by equidistant projections. This study proposes an equidistant distortion correction method for fisheye photographs that can transform the fisheye lens photo of any projection model into the image under the equidistant projection. Then, SVF values are calculated using Steyn’s method. Comparing the experimental results of two groups of lenses shows that accurate SVF values can be obtained for a non-equidistant projection fisheye lens. The accuracy and validity of the method are verified. The method proposed in this article is highly economical and practical, providing convenience for researchers and urban planners in urban thermal environments.
Keywords:Sky View Factor, Fisheye Photography, Image Distortion Correction, Fisheye Projection Model
Copyright © 2024 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
天空视域因子(Sky View Factor,简称SVF)是一个无量纲参数,其定义为从某地面位置观测上半球空间内可见天空的占比,是城市街道峡谷建筑物和植被遮蔽程度的定量表征 [
目前在城市环境研究领域,SVF的测量主要有五种方法,分别是几何法 [
Steyn于1980年提出的分环计算法,是鱼眼摄影法测量SVF一直沿用的方法 [
虽然软件的开发节省了大量的计算时间,但Steyn算法要求使用基于等距投影模型且视角恰好为180˚的鱼眼照片。而现实情况是,目前市面上的鱼眼镜头虽种类繁多,但并无统一的参数标准,常用的经典鱼眼模型有五种之多,镜头视角也从140˚至240˚不等。目前并不明确其中哪些产品恰好能满足Steyn算法的要求。即便是在现有文献中被广泛使用的尼康FC-E8鱼眼镜头 [
本研究设计了对鱼眼镜头真实投影模型和视角进行快速校验的实验方法,并在此基础上提出了利用投影模型的数学关系转换对鱼眼照片进行等距化畸变修正,使各种鱼眼照片均满足Steyn算法的要求。本研究随机采购两款不同价位、不同投影模型的鱼眼镜头进行室外现场SVF实测,通过比较二者在室外不同开阔度条件下的SVF测量结果,验证了上述理论方法的有效性。本研究提出的鱼眼镜头校验方法和等距化修正可使SVF计算摆脱对等距投影模型镜头及视角的严格依赖,简化了SVF采集过程的硬件需求,提高了SVF测量的经济性和精度,有助于城市热环境研究领域现场测量计算的发展。
本文所用的两款国产镜头分别为标称视角为180˚的工业鱼眼镜头(镜头A)以及品牌为“七工匠”的4 mm f/2.8标称视角为240˚的圆周鱼眼镜头(镜头B)搭配相机Canon M10。镜头A不需要配备相机,因为它具有独立成像的镜头模组,只需用USB接口连接电子设备即可拍摄鱼眼图像。两组鱼眼成像设备的总价均大幅低于既有文献中提到的任何其他鱼眼成像设备,镜头A及其模组价格更低,约为镜头B组合的1/14。
鱼眼镜头投影模型的数学表达式可直接向生产厂家咨询,也可采用Clark等人提出的方法 [
本研究进行畸变修正的参数公式为等距投影函数:
r = f × θ (1)
其中,θ代表入射角,f代表焦距,r代表成像高度。
为了便于计算,本文将镜头的投影模型统一拟合成如下形式:
y = f ( x ) (2)
其中,x指入射角,y指像点距圆心的半径与入射角为90˚时的半径的比值。
以该形式表达的等距投影模型如公式(3)所示:
y = x 90 (3)
公式(2)和公式(3)将用于2.2节的图像畸变修正。
在实地拍摄鱼眼照片时,在同一地点,分别用镜头A和镜头B拍摄鱼眼图像。首先将相机离地1.5 m固定在三脚架上,镜头朝向天顶方向,用气泡水平仪将相机的底面设置水平。移动相机至水平线上的另一点拍摄,以此获得多种鱼眼图像。
实地拍摄的鱼眼图像要经过简单的预处理,作为计算天空视域因子的准备工作。我们利用图像处理软件,提高对比度,使建筑物和天空的分界线更加明晰,并对边缘进行细化处理,然后通过二值化处理将图像转化成黑白。
鱼眼照片等距化畸变修正包括以下步骤。将拍摄的图像截取出180˚的视角范围,处理成黑白照片后,在天空和建筑之间明显的分界线即为天际线,如图1所示的红色线。我们利用CAD测量天际线像素点在实拍图中距圆心的距离r1,将r1代入该镜头的投影函数,确定其所对应的入射角θ1。将θ1代入等距投影的函数公式内,求出该像素点在等距投影中的位置 r ′ 1 ,如图1(b)所示。依次计算选取的所有像素点,将调整后的像素点以平滑的曲线连接起来,这样便将天际线调整到等距图像应该呈现的位置,如图1所示的蓝色线。修正后的鱼眼照片,建筑物的面积由图1中的灰色部分变成斜线填充部分。
图1. 手工绘制的虚拟鱼眼图像以及像点等距畸变修正示意图。红色线代表原始天际线;蓝色线代表修正后的天际线。(a) 虚拟鱼眼图像;(b) 详细修正过程
Steyn在1980年引入了同心圆环法计算等距投影图像的天空视域因子 [
ψ s = 1 2 n ∑ i = 1 n sin [ π ( i − 1 / 2 ) 2 n ] cos [ π ( i − 1 / 2 ) 2 n ] α i (4)
Johnson等人改进了Steyn算法,并提出在不重绘天际线的情况下,利用每个墙端的极坐标来计算每个墙壁的墙视图因子(Wall View Factor) [
ϕ = 1 2 π sin π 2 n ∑ i = 1 n sin [ π ( 2 i − 1 ) 2 n ] α i (5)
其中,n是指划分的环总数,i是指环指数,αi代表第i环中天空所占的角宽度。
本文将鱼眼照片按照2.2节所述方法进行等距化畸变修正后,采用Steyn算法计算SVF。
针对实验方法所需,我们对两组镜头的鱼眼镜头量角器校验图像进行分析。图2是用Clark等人提出的方法 [
从图2中可以看出,市面上的镜头的视角不够准确。镜头A的官方视角为180˚,但经过校验其实际视角为172˚,镜头B的官方视角为225˚,其实际视角为218˚,这说明鱼眼镜头在使用之前,校验过程必不可少。
在鱼眼镜头的成像范围内,畸变程度并不是固定不变的。从图中可以看出,越靠近图像中心的标记钉分布得越等距、均匀,越靠近视域极限处,畸变量越大,以至于前后两组标记钉并不能很好地对齐,存在图像失真。我们发现镜头A和镜头B都略有偏心误差,其中A的偏差较大。本文以视域较大一侧为准,测量拟合投影模型。
图2. 用鱼眼镜头拍摄的校验图像:(a) 镜头A;(b) 镜头B
将图2导入电脑,用图片处理软件测量r和r0的值,获得在某一入射角下所对应投影成像相对位置r/r0,其中r0为入射角为90˚时的成像半径。根据所得数据绘制镜头A与镜头B的相对成像位置r/r0与入射角θ的曲线图(图3)。
图3. 镜头A、B的投影模型与等距投影模型的比较
从图中可知,等距投影的相对投影位置和入射角呈线性关系,呈现为45˚倾斜直线。经过检验,实验所用的两组镜头都不是基于等距投影而设计的。镜头B与等距投影最接近,二者投影位置的相对误差达到7.9%。镜头A与等距投影最远,并且它在视野边缘处的畸变程度最大。
对镜头A和镜头B的投影模型曲线进行拟合,得到的拟合公式见表1。
由图3和表1可知,镜头A基于正交投影模型设计,镜头B基于等立体角投影模型设计,因此二者拍摄的鱼眼照片都不能直接使用Steyn算法计算SVF。
镜头 | 拟合公式 | R2 |
---|---|---|
A | y = − 0.014 + 0.020 x − 9.365 × 10 − 5 x 2 | 0.999 |
B | y = − 0.005 + 0.013 x − 2.288 × 10 − 5 x 2 | 1 |
表1. 镜头A与B的投影模型拟合公式
注:式中x指入射角,y指像点距圆心的半径与入射角为90˚时的半径的比值。
已知等距投影的标准投影函数为 y = x / 90 ,与上述拟合得到的投影公式一起,将应用于实拍图的等距化畸变修正过程。
我们共选取了8个拍摄地点,这些地点的建筑物、植被分布比较均匀,从而能尽可能缩小图像处理过程中带来的误差。在同一个地点,镜头A和镜头B的实拍图中天际线的位置相差较大(见图4),导致计算出的SVF值具有较大离散度。按照实验方法,对镜头A和镜头B的实拍图进行等距化畸变修正,将二者都修正为等距投影图像,图像修正后如图4所示。其中,镜头B除了需要进行等距化畸变修正外,还需要进行入射角90˚截取,截取位置如图4(b)的白线所示。
图4. 鱼眼照片的修正示意图。蓝色边界所示为图像经等距化畸变修正后的位置。(a) 镜头A;(b) 镜头B
将经等距化畸变修正后的图像导入MATLAB程序,利用Steyn算法进行计算。表2是修正后的两组镜头所拍图像的SVF值及二者差值,图5为8个地点在畸变修正前后的SVF值对比图。
从实验结果可以看出,畸变修正的方法具有较高的精度和可行性。如表2所示,两组镜头经过修正后的图像的SVF值比较接近,二者的误差在0.007以内,可以满足实测的精度需要。
从图5可以更明显地看出修正过程给SVF计算值带来的影响。修正之前,镜头A和镜头B的偏差较大,修正后的数据点沿着对角线分布。实验结果表明,本文提出的等距化畸变修正方法可将任意鱼眼镜头所拍摄的图像修正为等距投影图像,得到相对准确的SVF值。
地点 | 镜头A | 镜头B | A镜头与B镜头的差值 |
---|---|---|---|
1 | 0.475 | 0.470 | 0.005 |
2 | 0.403 | 0.401 | 0.001 |
3 | 0.586 | 0.578 | 0.007 |
4 | 0.317 | 0.318 | 0.001 |
5 | 0.593 | 0.599 | 0.005 |
6 | 0.962 | 0.962 | 0.000 |
7 | 0.513 | 0.516 | 0.003 |
8 | 0.279 | 0.276 | 0.003 |
表2. 室外实拍图经等距化畸变修正后的SVF值
图5. 畸变修正前后SVF结果比较图:(a) 修正之前;(b) 修正之后
针对SVF的测量存在的一些问题,本研究提出了基于等距化畸变修正计算SVF的方法。该方法首先获取鱼眼镜头的真实投影模型数学表达式,然后将室外实拍的鱼眼图像利用该镜头的投影公式和等距投影的函数公式,将天际线修正到合适的位置,最后将修正后的鱼眼图像用Steyn算法计算。本研究随机检验了两组基于不同投影模型设计的鱼眼镜头,并用它们得到了详尽的天空视域因子计算结果,证明了等距化畸变修正的可行性。
本论文所提出的方法与传统的鱼眼镜头法相比,具有很高的经济性、实用性。我们的方法打破了等距投影的约束,将天空视域因子的测量扩展到任意投影的鱼眼镜头;我们的研究方法的成本更低廉且能得到精确的结果,说明镜头的价格与天空视域因子的计算精度之间没有必然的联系,提高了SVF测量硬件的经济性,推荐城市热环境领域研究者及城市规划人员使用。
烟台大学大学生创新创业训练计划(X202211066099)。
郑可欣,孙梦瑶,夏乐年,娄方彦,李亚男. 基于鱼眼图像修正的天空视域因子计算方法Sky View Factor Calculation Method Based on Fisheye Image Correction[J]. 测绘科学技术, 2024, 12(01): 39-46. https://doi.org/10.12677/GST.2024.121006
https://doi.org/10.1016/0378-7788(90)90125-3
https://doi.org/10.1016/S0168-1923(01)00274-X
https://doi.org/10.1016/j.buildenv.2019.106587
https://doi.org/10.1002/joc.3370010304
https://doi.org/10.1175/1520-0450(1984)023<0329:TDOVFI>2.0.CO;2
https://doi.org/10.1002/joc.649
https://doi.org/10.1127/0941-2948/2011/0499
https://doi.org/10.1016/j.enbuild.2014.10.001
https://doi.org/10.1016/j.buildenv.2019.106424
https://doi.org/10.1364/AO.25.001875
https://doi.org/10.1016/j.buildenv.2018.03.009
https://doi.org/10.1080/07055900.1980.9649091
https://doi.org/10.1007/s00484-006-0061-8
https://doi.org/10.1007/s007040170036
https://doi.org/10.2480/agrmet.D-18-00027
https://doi.org/10.1002/joc.659
https://doi.org/10.1016/0168-1923(88)90030-5