1太阳影子定位方法的研究与应用摘要太阳影子定位技术是确定视频的拍摄地点和拍摄日期是视频数据分析的重要方法。本文对太阳高度角、赤纬角、方向角、时角进行了研究,建立了影子长度变化的数学模型,并分析了影子长度和模型各参数之间的变化规律,采用全局最优搜索算法和广度遍历策略对题目中的四个问题逐一求解,对所建立的四个模型采用残差分析法等进行了准确性及稳定性检验。问题一:本文研究了影子长度与拍摄日期、时间、地点和杆高之间的关系,通过太阳高度角、方向角、赤纬角和时角公式联合建立了影子长度变化的数学模型:同时分析了日期序号n、北京时间t与当前地区经度、纬度四个参数与影子长度的变化规律。应用建立的模型求解了2015年10月22日北京时间9:00-15:00之间天安门广场(北纬39度54分26秒,东经116度23分29秒)3米高的直杆的太阳影子长度变化的二次曲线方程,参见公式(9),画出了曲线图,参见图11。问题二:本文利用正午日影计算当地经度,根据问题一的数学模型,采用最小二乘法将影长和时间的关系进行二次拟合得到影长随时间变化的拟合二次曲线方程,求得真太阳时为12点时最短影长,继而确定直杆所在地的经度;同时在确定最短影长后使用全局最优搜索法和广度遍历在一段纬度范围内求得不同纬度相对应的杆高,再应用问题一的模型求出不同纬度所对应的影长,最后利用误差分析的原理,确定了直杆高度和当地纬度。根据附件1中给出的影子顶点坐标数据,求得北半球直杆高度为1.9747m、东经111.015度,北纬24.5799度或高度为1.7571米、东经111.015度,南纬5.145度。问题三:采用问题二的方法先确定了地点,随后将一年中的日期进行全局最优搜索,循环应用问题二中确定直杆所处地点的数学模型,最后根据误差分析得到最优解。依据建立的数学模型,根据附件2和3中给出的影子顶点坐标数据,分析了真实影长与模型计算影长之间的误差,确定了日期,详见表11和12。问题四:本文采用一种半自动的方法对视频进行阴影检测。首先对视频预处理,按4秒间隔提取611张图像,然后构建一张背景图片,通过背景剪切技术检测出阴影,最后通过区域生长算法确定图像中直杆阴影的左右端点,利用图像坐标系的比例关系求出了不同时刻直杆的影子长度。由问题二中的模型确定了在已知日期的情况下的若干个可能的拍摄地点。由问题三中的模型确定在拍摄日期未知的情况下的拍摄地点与日期。关键词:最小二乘拟合全局最优搜索背景剪切技术区域生长算法误差分析2一问题的提出如何确定视频的拍摄地点和拍摄日期是视频数据分析的重要方面,太阳影子定位技术就是通过分析视频中直杆的太阳影子变化,确定视频拍摄的地点和日期的一种方法。1.建立影子长度变化的数学模型,分析影子长度关于各个参数的变化规律,并应用你们建立的模型画出2015年10月22日北京时间9:00-15:00之间天安门广场(北纬39度54分26秒,东经116度23分29秒)3米高的直杆的太阳影子长度的变化曲线。2.根据某固定直杆在水平地面上的太阳影子顶点坐标数据,建立数学模型确定直杆所处的地点。将你们的模型应用于附件1的影子顶点坐标数据,给出若干个可能的地点。3.根据某固定直杆在水平地面上的太阳影子顶点坐标数据,建立数学模型确定直杆所处的地点和日期。将你们的模型分别应用于附件2和附件3的影子顶点坐标数据,给出若干个可能的地点与日期。4.附件4为一根直杆在太阳下的影子变化的视频,并且已通过某种方式估计出直杆的高度为2米。请建立确定视频拍摄地点的数学模型,并应用你们的模型给出若干个可能的拍摄地点。如果拍摄日期未知,你能否根据视频确定出拍摄地点与日期?二模型假设1.由于太阳距离地球较远,假设地球接受的太阳光线为平行光;2.物体本身不弯曲;3.不考虑特殊的天气情况;4.忽略日序与年的关系;5.当地地面与当地水平面平行;6.忽略附件4视频中摄像机的抖动;赤纬角:指观测时刻的太阳倾角,即太阳直射光线和赤道平面之间的夹角;时角:指太阳所在的时圈和通过正南方的时圈之间的夹角;太阳高度角:地平面和太阳光的入射方向之间的夹角;方位角:指太阳直射光线在地平面上的投影与地平面正南方之间的夹角;当前地区纬度(度数)当前地区经度(问题一中的单位:弧度制)st真太阳时:真太阳视圆面中心的时角加12小时三符号说明3n一年中的日期序号,如1月2日,2n;10月22日,295n;H固定直杆的高度;L直杆被太阳光照射后的影子在地表的长度;程序所求影长与问题二附件数据求得影长的方差;程序所求影长与问题二附件数据求得影长的误差精度;t北京时间;四模型的建立与求解(一)问题一4.1.1问题分析题目要求建立影子长度变化的数学模型,分析出影子长度关于模型各参数的变化规律,并根据已给的日期、时间、地点、杆高数据,应用所建立的模型画出影子长度变化曲线。从题目要求可分析出,影子长度与拍摄日期、时间、地点和杆高是相关的,可通过研究天文知识和太阳位置相关理论,通过太阳高度角、方向角、赤纬角和时角公式联合建立影子长度变化的数学模型,在此基础上对各参数进行定量和定性分析。4.1.2模型的建立与求解1.太阳位置基本概念在实际生活当中,地球绕着太阳运转,但人们为了描述太阳在天空的移动位置,假想存在一个以观察者为中心,以无限长为半径的球体,天空中所有星体,都在该球体上绕地轴转动,这个假想的球即为天球。太阳在天球上的位置时刻都在变化,可以用赤道坐标系和地平坐标系从不同角度来确定其位置[1]。天文学中,赤道坐标系是将地球上的经纬度坐标系扩展到天球,与赤道面平行的纬度圈在天球上则为赤纬圈,通过南北极的经度圈在天球上称为时圈。太阳的位置可用赤纬角和时角表示,如图1所示。所谓赤纬角,是指观测时刻的太阳倾角,即太阳直射光线和赤道平面之间的夹角。而时角则是指太阳所在的时圈和通过正南方的时圈之间的夹角。从天球北极看,逆时针方向为负[1]。天文学中,地平坐标系是以子午圈为主圈,地平圈为基圈,南点为主点的坐标系。可以用太阳高度角和方位角来描述太阳的位置,如图2所示。对于地球上的某个地点,太阳高度角是指地平面和太阳光的入射方向之间的夹角。太阳方位角即太阳所在的方位,指太阳直射光线在地平面上的投影与地平面正南方之间的夹角,以正南方向为零度,向西为正值逐渐变大,向东为负值逐渐变小,直至在正北方合为180[1]。4图3表示太阳在不同时刻的高度变化以及形成的高度角。图4中,表示高度角,表示方位角,Z表示天顶角,即光束与竖直方向的夹角。图1高度角与方位角图2赤纬角与时角图3太阳的运动过程与形成的高度角图4高度角、方位角与天顶角2.建立影子长度变化的数学模型太阳在天球坐标系的位置可以用高度角和方位角来确定,计算公式如下[2]:其中为当地纬度,为太阳赤纬角,为时角。太阳赤纬角公式如下[3]:5其中2(1)/365bn,n为一年中的日期序号,如当日期为1月1日时,1n;当日期为3月22日,81n。一年中春分秋分时0,夏至时23.5,冬至时23.5;为时角,即用角度表示时间,每15为1h,且在正午时0,上午0,下午0,st为真太阳时,公式如下:其中st为真太阳时,t为北京时间,为当前地区经度。从图5可知,当太阳在运动的过程中,影子的长短会随着太阳位置的变化而变化;通过图6的直角三角形中,可以直观的得到影长L、杆高H和太阳高度角之间的关系:根据以上公式从而建立出影子长度变化的模型:其中:且:2(1)/365bn图5太阳位置移动后影长的变化图图6杆高、高度角和影长的关系图(7)63.分析影子长度关于各参数的变化规律在上一节中,我们已得出影子长度L变化相关的四个参数:一年中的日期序号n、北京时间t与当前地区经度、纬度。为了分析影子长度L关于某一个参数的变化规律,我们固定其他三个参数值。(1)影子长度L与北京时间t的变化关系以北京天安门广场9:00~15:00之间时刻为例,用Matlab运行Test_4.m程序拟合出影子长度与时间的关系图,如下图7所示。随着时间t的增长,影子长度L逐渐减小,在到达最低点后再增大。其中最低点为(11.9533,3.6633),即当北京时间t为11点57分时,影子长度L最短,约为3.66m。由此可知,时间决定太阳的位置,位置决定影子的长短,影子长度与最低点成左右对称关系。图7影长与北京时间的关系图8影长与日期序号的关系(2)影子长度L与日期n的变化关系以北京天安门为例,在一年当中n的取值范围在1,365,规定以当天影长的均值作为计算第n天影子长度L的取值,关系如图8所示。随着日期n的增大,影子长度L先逐渐减短,降至最低点后逐渐增长。基本符合抛物线。最低点为(173,1.5445),最高点为(355,7.7369)。即在一非闰年的6月22日,影子长度为全年最低1.54m;12月22日,影子长度为全年最高7.7369m。从公式(3)可知,日期的变化影响着太阳赤纬角的变化,因为赤纬角是由于地球绕太阳运行造成的现象,所以它随时间而变。赤纬角以年为周期,在+23°26′与-23°26′的范围内移动,7成为季节的标志。每年6月21日或22日赤纬达到最大值+23°26′称为夏至,即影子最短的时候。至12月21日或22日赤纬减至最小值-23°26为冬至,此时阳光斜射北半球,此时影子最长。(3)影子长度L与当前地区经度的变化关系同样,第n天影子长度L以当天影长的均值进行计算。中国领土位于北半球,东起黑龙江与乌苏里江的汇合处(东经135°05'),西到帕米尔高原(东经73°40'),我们取考虑中国境内(东经90度~东经130度)一部分区域,关系如图9所示。影子长度L随着经度的增大而逐渐减短,至最低点后又逐渐增长。从公式(5)、(6)可知,经度与地方时间相关。不同经度的地方,日出日落有先有后。由于我国的标准时间北京时间是东经120度的地方太阳时,因此图中影长最短在东经120度。图9影长与经度关系图10影长与纬度关系(4)影子长度L与当前地区纬度的变化关系在北半球,纬度的范围在(0,)2。直杆高度H、经度固定的情况下,求解出影子长度L与纬度关系如图10所示。随着纬度的增加,第n天的影长最大值先增大,在北纬80.21度时突然骤减,影子长度L随着纬度的增大,反而递减。在太阳赤纬角、时角一定时,太阳的高度随着纬度变化,纬度高,太阳高度小,纬度低,太阳高度大,因此纬度高的地方影子长,纬度低的地方影子短。84.求解影子长度的变化如图11,在不同时刻中,太阳位置发生变化,照射一直杆PO的顶点P也在不同的位置,即:1'p、2'p和'p处。若研究更多的太阳位置,得到的投影顶点所形成的图形应为一条曲线。因此猜想直杆的太阳影子长度随北京时间9:00-15:00的变化曲线应为一条抛物线。图11太阳位置移动后影长的变化图通过Matlab计算,从时刻9点到15点,每增加0.5小时计一次当地时间,已知当地经度为东经116度23分29秒,取116.3度,t为北京时间,根据公式(5)得当地时间,即真太阳时st为表1中的数据:表1真太阳时与时间的关系表t99.51010.51111.512st8.7539.2539.75310.25310.75311.25311.753t12.51313.51414.515st12.25312.75313.25313.75314.25314.753已知真太阳时st后,可以根据公式(4),求得时角w的数据(转换成弧度制),如表2:表2时角与真太阳时的关系表st8.7539.2539.75310.25310.75311.25311.753w-0.8500-0.7191-0.5882-0.4573-0.3264-0.1955-0.0646st12.25312.75313.25313.75314.25314.753w0.06630.19720.32810.45900.58990.7208求得时角w后,进而可以计算赤纬角的度数,已知日期为10月22日,因