呂長青,王兵,魏宗義,金燕琪,劉曉芳
(棗莊學院 a.數學與統計學院,b.信息與工程學院,山東棗莊 277160)
?
太陽影子定位問題研究
呂長青a,王兵a,魏宗義b,金燕琪b,劉曉芳b
(棗莊學院 a.數學與統計學院,b.信息與工程學院,山東棗莊277160)
[摘要]太陽影子定位是通過分析影子變化來確定視頻拍攝的時間和地點,是視頻分析研究的重要內容.論文通過太陽高度角公式建立直桿影子長度的數學模型;對于在已知不同時間的直桿影子的坐標情況下,通過非線性最小二乘擬合的方法確定直桿的坐標;對于只有直桿影子坐標情況下,通過函數擬合并運用遺傳算法確定了直桿的坐標以及時間;作為應用計算了給定視頻中直桿的位置.
[關鍵詞]太陽高度角;非線性最小二乘法;遺傳算法 ; MATLAB;視頻處理
0引言
在現實生活中,可以通過影子長度就可以大致知道一天中的時刻,近代航海以及野外生存中,利用日晷可以確定所處方向與位置.在視頻分析中,通過日影確定視頻的拍攝地點和拍攝日期是視頻數據分析的重要方面,太陽影子定位技術就是通過分析視頻中物體的太陽影子變化,確定視頻拍攝的地點和日期的一種方法.
文[1]中根據日影在已知時間情況下,確定物體所在位置以及方向,但都需要依據當地時間來計算,對于當地時間不知情況下,無法確定物體的位置.論文通過建立直桿影子的數學模型,根據影子長度變化的數據,利用數據擬合的方法確定物體的位置克服了利用當地時間的弊端.在刑事偵查、反恐通過視頻分析確定嫌疑人的位置有著重要的應用.
注:論文所采用數據來自于2015全國大學生數學建模競賽A題.
1模型假設與符號說明
1.1模型假設
為了簡化計算假定(1)大氣和云層的對太陽光沒有影響;(2)地球自轉的沒有影響;(3)假設太陽為唯一光源;(4)假設太陽光是平行光;(5)假設地球為光滑規則的球體;(6)假設附件4中的視頻時間為北京時間.
1.2符號說明
l:桿長;l′:影長;θ:太陽高度角;h:地方恒星時系統下的時角;
δ:太陽赤緯Φ :當地緯度;th:小時;tm:分鐘;
ts:秒Ta:北京太陽時;Tb:當地太陽時;Wt:經度差;
t:北京時間tL:當地時間;N:該日在一年中的第N天
2直桿影子長度數學模型
2.1問題分析
影長l′長度主要與桿長l和太陽高度角θ有關,即l′=f(l,θ);對于θ與時角 h、赤緯δ、緯度Φ有關,根據太陽高度角公式sin(θ)=cos(h)cos(δ)cos(Φ)+sin(δ)sin(Φ)[2](*)可以確定.
由文獻[3]可知,時角h為天體赤經與當地恒星的差值,每相差一小時,經度相差15°;時角計算時,應計算直桿所處位置(東經116°23′29″),而非北京時間(東經120°),可以減小誤差.赤緯為天體坐標數據之一,是緯度在天體上的投影,太陽赤緯的最高度數為23°26′.
2.2模型建立
太陽高度角是太陽光線與當地地平線所交的最小線面角(如圖1所示),

圖1 太陽高度角 圖2 影子長度變化曲線
由圖1可知直桿、影子與太陽光線之間形成直角三角形,則有
l′=lcot(θ)
(1)
對于太陽高度角θ,則由公式(2)確定
sin(θ)=cos(h)cos(δ)cos(Φ)+sin(δ)sin(Φ)
(2)
其中時角 h、赤緯δ可由公式(3)
(3)
由公式(1)~(3)可得影長 l′.通過此模型求解具有一定誤差,因此利用當地太陽時Td[4]的計算,
Td=Tb-4Wi
(4)
可以適當減小誤差,減小緯度不匹配對所帶來的誤差.
2.2模型求解
對于條件
(5)
代入(1)~(3)進行,利用MATLAB得出影子長度變化曲線,如圖2所示.
2.4結果分析
由影子長度變化曲線(圖2)可知,在同一地點的影子長度隨著太陽高度角的增大而減小,也隨著時間的變化先減小后增大,在正午時分影子長度達到最小,太陽高度角達到最大.
3已知時間的地點模型
3.1模型分析
1)由圖2可知,太陽影子長度與時間近似為拋物線,可以假定太陽影子長度與時間成二次函數.將附件1中的數據繪制散點圖(見圖3),可近似為二次曲線,利用該數據對方程(1)~(3)的參數進行非線性最小二乘擬合,可以得到該地點直桿的影長與時間的經驗方程.

圖3 影子長度散點圖 圖4 時間與影長的關系曲線圖
3.2模型的建立
l′=at2+bt+c
(6)
利用不同時刻直桿影子頂點坐標,進行非線性擬合,可得參數a,b,c值,a=0.1489,b=-3.7519,c=24.1275.由此可得方程
l′=0.1489t2-3.7519t+24.1275
(7)
Td=Tb-4Wl
(8)
可得此地經度為東經105°1′58.8″.
3.3模型的求解
由于
(9)
并且由l′=lcot(θ) 與θ=asin(cos(h)cos(δ)cos(Φ)+sin(δ)sin(Φ)) 可得
(10)
方程中時間為自變量,桿長l、經度E、緯度Φ為未知參數,利用附件1中的時間以及所求影長的數據中對參數進行擬合,得到擬合參數

(11)
即可得到直桿位置坐標:東經108°27′57.24″北緯17°8′22.92″,根據中國經緯圖推算,地點位于中國海南省西南附近.
3.4結果分析
利用對時間長度進行函數擬合處理,得到經度的大致位置為:東經105°1′58.8″,然后對參數進行非線性最小二乘法參數估計,得到相對準確的經度東經108°27′57.24″和緯度北緯17°8′22.92″通過兩種方法結合得出比較可能的地點,即中國海南省.
4未知時間的地點模型
4.1模型分析
對于未知時間的直桿影長數據,如果直接采用參數擬合的方法,將得到許多近似解,在實際中無法使用,這里利用遺傳算法的全局搜索能力對網格中的經緯度篩選,以影長和實際影長的比例作為適應度,建立基于遺傳算法的太陽影子定位模型,模型建立流程圖.

圖5 遺傳算法的流程圖
遺傳算法步驟:
(1)評估計算每個影長的適應度;
(2)通過隨機數產生新的經緯度坐標;
(3)對經緯度進行投影長度進行計算;
(4)比較新產生經緯度舒適度與遠經緯度的法查大??;
(5)重復進行(2)(3)(4)指導計算出最優解.
將遺傳算法的最優解進行非線性最小二乘擬合,得出最優解.
4.2模型建立
建立遺傳算法(此處采用附件2數據,利用C++編碼)
(1)編碼:把已知的影長進行編號:
doubleD0[21]={1.247256205,1.22279459…………0.850504468};
(2)利用隨機數函數,產生經緯度:aa1=(-90+180*rand()/(RAND_MAX));
(3)根據時間得出太陽高度角:
Fi_a=asin(sin(AngleToPi(23,26,0))*sin(AngleToPi(2*Pi*(T+10)/365,0,0)));
(4)求出在該時間下的投影長度:
peta=Pi/2-acos((xa*xc+ya*yc+za*zc)/(sqrt(xa*xa+ya*ya+za*za)*sqrt(xc*xc+yc*yc+zc*zc)));D=l0/tan(peta);lc[i/3]=D;
(5)交換,對于新的影長進行匹配交換:
s1+=(((lc[i2]/D0[i2])-average)*((lc[i2]/D0[i2])-average));
(6)適應度估計:采用方差對遺傳算法進行適應度估計:
(12)
(13)
n表示可能的拍攝地點,則該影長的適應度記為:
(14)
即適應度為影長與原始影長相似度,優化的目標就是選擇適應度函數盡可能大的影長,適應度函數值越大的影長越優質,反之越劣質.
通過遺傳算法計算,得出經緯度的可能解,見下表:

表1 遺傳算法得出可能的經緯度
4.3模型求解
對于表1中的經緯度、日期通過非線性最小二乘擬合對公式
以已知經度緯度日期值近似值作為初值進行擬合,得出經度為90°00′53″,緯度為20°18′35″,時間為7月19日,位于新疆自治區.
同理,對附件3中的數據進行計算,得出經度為112°14′21″,緯度為27°38′24″,時間為2月11日,位于湖南省.
5模型的應用
對于給定的視頻,利用MATLAB軟件,對視頻進行數據提取.首先確定視頻的幀數總數,將視頻按照相同的時間間隔分為47份,用MATLAB讀取視頻,從間隔相等的視頻中提取此47張圖片,將提取的彩色圖片進行灰度處理,對得到的灰度圖片進行二值化分析;從該視頻中提取出視頻錄制的時間(T)、直桿的實際長度(l)以及直桿影子(l′)隨時間不斷變化的長度,從而可以得到該段視頻中包含的所需要數據信息.
通過下面模型
(15)
利用采集視頻數據,用matab進行擬合,可得視頻拍攝位置經度為111°22′43″,緯度為41°05′05″,位于呼和浩特市附近.
參考文獻
[1]張明濤.利用太陽定位的幾種方法[DB/OL]. http://wenku.baidu.com/link?url=f-3yl_hYZh7bqeS_A8WhGavg4x3c4yrrd9TfkZKXqLuQNcuQ_2ag12iQMnr3EYU7ITAsiUDpD2WhC3iUdGiEh5BzORkWMtkY4wcjSpjdNda,2012-12-17/2016-1-9.
[2]維基百科.太陽高度角[DB/OL].https://zh.wikipedia.org/wiki/%E5%A4%AA%E9%98%B3%E9%AB%98%E5%BA%A6%E8%A7%92,2015-9-11.
[2]李玉海.太陽高度角及其計算[J].氣象,1977(4):27-28.
[3]邱國全.太陽時的計算[J] .太陽能,1998(1):7-7.
[4]陳小平.遺傳算法在函數優化中的應用研究[D].蘇州:蘇州大學,2008.
[5]余成波.數字圖像處理及MATLAB實現[M].重慶:重慶大學出版社,2003.
[6]趙靜,但琦.數學建模與數學實驗[M].北京:高等教育出版社,2010.
[責任編輯:房永磊]
Research on Location of Straight Pole Through Sundial
LV Chang-Qinga,WANG Binga,WEI Zong-yib,JIN Yang-qib,LIU Xiao-fangb
(a. School of Mathematics and Statistics; b.School of Information Science and Engineering,Zaozhuang University, Zaozhuang 277160,China)
Abstract:Using formular of solar attitude, the mathematical model of length of straight pole was set up. When the time of photograph given, the coordinate of the straight pole was located by nonlinear least squares fitting method.When the time of photograph not given, the coordinate of the straight pole and time of photograph were determined through genetic algorithm and nonlinear least squares fitting method . As application ,the location of straight pole in a video was determined by video processing.
Key words:solar attitude; nonlinear least squares fitting method ; genetic algorithm; matlab; video processing
[中圖分類號]O29
[文獻標識碼]A
[文章編號]1004-7077(2016)02-0035-06
[作者簡介]呂長青(1973-),男,山東滕州人,棗莊學院數學與統計學院副教授,理學碩士,主要從事應用數學理論與應用研究.
[基金項目]國家級大學生創新創業訓練計劃項目(項目編號:201510904050);棗莊學院教學研究項目(項目編號:YJG13007).
[收稿日期]2016-01-20