呂長青,王兵,魏宗義,金燕琪,劉曉芳
(棗莊學(xué)院 a.數(shù)學(xué)與統(tǒng)計學(xué)院,b.信息與工程學(xué)院,山東棗莊 277160)
?
太陽影子定位問題研究
呂長青a,王兵a,魏宗義b,金燕琪b,劉曉芳b
(棗莊學(xué)院 a.數(shù)學(xué)與統(tǒng)計學(xué)院,b.信息與工程學(xué)院,山東棗莊277160)
[摘要]太陽影子定位是通過分析影子變化來確定視頻拍攝的時間和地點,是視頻分析研究的重要內(nèi)容.論文通過太陽高度角公式建立直桿影子長度的數(shù)學(xué)模型;對于在已知不同時間的直桿影子的坐標(biāo)情況下,通過非線性最小二乘擬合的方法確定直桿的坐標(biāo);對于只有直桿影子坐標(biāo)情況下,通過函數(shù)擬合并運用遺傳算法確定了直桿的坐標(biāo)以及時間;作為應(yīng)用計算了給定視頻中直桿的位置.
[關(guān)鍵詞]太陽高度角;非線性最小二乘法;遺傳算法 ; MATLAB;視頻處理
0引言
在現(xiàn)實生活中,可以通過影子長度就可以大致知道一天中的時刻,近代航海以及野外生存中,利用日晷可以確定所處方向與位置.在視頻分析中,通過日影確定視頻的拍攝地點和拍攝日期是視頻數(shù)據(jù)分析的重要方面,太陽影子定位技術(shù)就是通過分析視頻中物體的太陽影子變化,確定視頻拍攝的地點和日期的一種方法.
文[1]中根據(jù)日影在已知時間情況下,確定物體所在位置以及方向,但都需要依據(jù)當(dāng)?shù)貢r間來計算,對于當(dāng)?shù)貢r間不知情況下,無法確定物體的位置.論文通過建立直桿影子的數(shù)學(xué)模型,根據(jù)影子長度變化的數(shù)據(jù),利用數(shù)據(jù)擬合的方法確定物體的位置克服了利用當(dāng)?shù)貢r間的弊端.在刑事偵查、反恐通過視頻分析確定嫌疑人的位置有著重要的應(yīng)用.
注:論文所采用數(shù)據(jù)來自于2015全國大學(xué)生數(shù)學(xué)建模競賽A題.
1模型假設(shè)與符號說明
1.1模型假設(shè)
為了簡化計算假定(1)大氣和云層的對太陽光沒有影響;(2)地球自轉(zhuǎn)的沒有影響;(3)假設(shè)太陽為唯一光源;(4)假設(shè)太陽光是平行光;(5)假設(shè)地球為光滑規(guī)則的球體;(6)假設(shè)附件4中的視頻時間為北京時間.
1.2符號說明
l:桿長;l′:影長;θ:太陽高度角;h:地方恒星時系統(tǒng)下的時角;
δ:太陽赤緯Φ :當(dāng)?shù)鼐暥?;th:小時;tm:分鐘;
ts:秒Ta:北京太陽時;Tb:當(dāng)?shù)靥枙r;Wt:經(jīng)度差;
t:北京時間tL:當(dāng)?shù)貢r間;N:該日在一年中的第N天
2直桿影子長度數(shù)學(xué)模型
2.1問題分析
影長l′長度主要與桿長l和太陽高度角θ有關(guān),即l′=f(l,θ);對于θ與時角 h、赤緯δ、緯度Φ有關(guān),根據(jù)太陽高度角公式sin(θ)=cos(h)cos(δ)cos(Φ)+sin(δ)sin(Φ)[2](*)可以確定.
由文獻(xiàn)[3]可知,時角h為天體赤經(jīng)與當(dāng)?shù)睾阈堑牟钪?,每相差一小時,經(jīng)度相差15°;時角計算時,應(yīng)計算直桿所處位置(東經(jīng)116°23′29″),而非北京時間(東經(jīng)120°),可以減小誤差.赤緯為天體坐標(biāo)數(shù)據(jù)之一,是緯度在天體上的投影,太陽赤緯的最高度數(shù)為23°26′.
2.2模型建立
太陽高度角是太陽光線與當(dāng)?shù)氐仄骄€所交的最小線面角(如圖1所示),
圖1 太陽高度角 圖2 影子長度變化曲線
由圖1可知直桿、影子與太陽光線之間形成直角三角形,則有
l′=lcot(θ)
(1)
對于太陽高度角θ,則由公式(2)確定
sin(θ)=cos(h)cos(δ)cos(Φ)+sin(δ)sin(Φ)
(2)
其中時角 h、赤緯δ可由公式(3)
(3)
由公式(1)~(3)可得影長 l′.通過此模型求解具有一定誤差,因此利用當(dāng)?shù)靥枙rTd[4]的計算,
Td=Tb-4Wi
(4)
可以適當(dāng)減小誤差,減小緯度不匹配對所帶來的誤差.
2.2模型求解
對于條件
(5)
代入(1)~(3)進(jìn)行,利用MATLAB得出影子長度變化曲線,如圖2所示.
2.4結(jié)果分析
由影子長度變化曲線(圖2)可知,在同一地點的影子長度隨著太陽高度角的增大而減小,也隨著時間的變化先減小后增大,在正午時分影子長度達(dá)到最小,太陽高度角達(dá)到最大.
3已知時間的地點模型
3.1模型分析
1)由圖2可知,太陽影子長度與時間近似為拋物線,可以假定太陽影子長度與時間成二次函數(shù).將附件1中的數(shù)據(jù)繪制散點圖(見圖3),可近似為二次曲線,利用該數(shù)據(jù)對方程(1)~(3)的參數(shù)進(jìn)行非線性最小二乘擬合,可以得到該地點直桿的影長與時間的經(jīng)驗方程.
圖3 影子長度散點圖 圖4 時間與影長的關(guān)系曲線圖
3.2模型的建立
l′=at2+bt+c
(6)
利用不同時刻直桿影子頂點坐標(biāo),進(jìn)行非線性擬合,可得參數(shù)a,b,c值,a=0.1489,b=-3.7519,c=24.1275.由此可得方程
l′=0.1489t2-3.7519t+24.1275
(7)
Td=Tb-4Wl
(8)
可得此地經(jīng)度為東經(jīng)105°1′58.8″.
3.3模型的求解
由于
(9)
并且由l′=lcot(θ) 與θ=asin(cos(h)cos(δ)cos(Φ)+sin(δ)sin(Φ)) 可得
(10)
方程中時間為自變量,桿長l、經(jīng)度E、緯度Φ為未知參數(shù),利用附件1中的時間以及所求影長的數(shù)據(jù)中對參數(shù)進(jìn)行擬合,得到擬合參數(shù)
(11)
即可得到直桿位置坐標(biāo):東經(jīng)108°27′57.24″北緯17°8′22.92″,根據(jù)中國經(jīng)緯圖推算,地點位于中國海南省西南附近.
3.4結(jié)果分析
利用對時間長度進(jìn)行函數(shù)擬合處理,得到經(jīng)度的大致位置為:東經(jīng)105°1′58.8″,然后對參數(shù)進(jìn)行非線性最小二乘法參數(shù)估計,得到相對準(zhǔn)確的經(jīng)度東經(jīng)108°27′57.24″和緯度北緯17°8′22.92″通過兩種方法結(jié)合得出比較可能的地點,即中國海南省.
4未知時間的地點模型
4.1模型分析
對于未知時間的直桿影長數(shù)據(jù),如果直接采用參數(shù)擬合的方法,將得到許多近似解,在實際中無法使用,這里利用遺傳算法的全局搜索能力對網(wǎng)格中的經(jīng)緯度篩選,以影長和實際影長的比例作為適應(yīng)度,建立基于遺傳算法的太陽影子定位模型,模型建立流程圖.
圖5 遺傳算法的流程圖
遺傳算法步驟:
(1)評估計算每個影長的適應(yīng)度;
(2)通過隨機數(shù)產(chǎn)生新的經(jīng)緯度坐標(biāo);
(3)對經(jīng)緯度進(jìn)行投影長度進(jìn)行計算;
(4)比較新產(chǎn)生經(jīng)緯度舒適度與遠(yuǎn)經(jīng)緯度的法查大?。?/p>
(5)重復(fù)進(jìn)行(2)(3)(4)指導(dǎo)計算出最優(yōu)解.
將遺傳算法的最優(yōu)解進(jìn)行非線性最小二乘擬合,得出最優(yōu)解.
4.2模型建立
建立遺傳算法(此處采用附件2數(shù)據(jù),利用C++編碼)
(1)編碼:把已知的影長進(jìn)行編號:
doubleD0[21]={1.247256205,1.22279459…………0.850504468};
(2)利用隨機數(shù)函數(shù),產(chǎn)生經(jīng)緯度:aa1=(-90+180*rand()/(RAND_MAX));
(3)根據(jù)時間得出太陽高度角:
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)交換,對于新的影長進(jìn)行匹配交換:
s1+=(((lc[i2]/D0[i2])-average)*((lc[i2]/D0[i2])-average));
(6)適應(yīng)度估計:采用方差對遺傳算法進(jìn)行適應(yīng)度估計:
(12)
(13)
n表示可能的拍攝地點,則該影長的適應(yīng)度記為:
(14)
即適應(yīng)度為影長與原始影長相似度,優(yōu)化的目標(biāo)就是選擇適應(yīng)度函數(shù)盡可能大的影長,適應(yīng)度函數(shù)值越大的影長越優(yōu)質(zhì),反之越劣質(zhì).
通過遺傳算法計算,得出經(jīng)緯度的可能解,見下表:
表1 遺傳算法得出可能的經(jīng)緯度
4.3模型求解
對于表1中的經(jīng)緯度、日期通過非線性最小二乘擬合對公式
以已知經(jīng)度緯度日期值近似值作為初值進(jìn)行擬合,得出經(jīng)度為90°00′53″,緯度為20°18′35″,時間為7月19日,位于新疆自治區(qū).
同理,對附件3中的數(shù)據(jù)進(jìn)行計算,得出經(jīng)度為112°14′21″,緯度為27°38′24″,時間為2月11日,位于湖南省.
5模型的應(yīng)用
對于給定的視頻,利用MATLAB軟件,對視頻進(jìn)行數(shù)據(jù)提取.首先確定視頻的幀數(shù)總數(shù),將視頻按照相同的時間間隔分為47份,用MATLAB讀取視頻,從間隔相等的視頻中提取此47張圖片,將提取的彩色圖片進(jìn)行灰度處理,對得到的灰度圖片進(jìn)行二值化分析;從該視頻中提取出視頻錄制的時間(T)、直桿的實際長度(l)以及直桿影子(l′)隨時間不斷變化的長度,從而可以得到該段視頻中包含的所需要數(shù)據(jù)信息.
通過下面模型
(15)
利用采集視頻數(shù)據(jù),用matab進(jìn)行擬合,可得視頻拍攝位置經(jīng)度為111°22′43″,緯度為41°05′05″,位于呼和浩特市附近.
參考文獻(xiàn)
[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]陳小平.遺傳算法在函數(shù)優(yōu)化中的應(yīng)用研究[D].蘇州:蘇州大學(xué),2008.
[5]余成波.數(shù)字圖像處理及MATLAB實現(xiàn)[M].重慶:重慶大學(xué)出版社,2003.
[6]趙靜,但琦.數(shù)學(xué)建模與數(shù)學(xué)實驗[M].北京:高等教育出版社,2010.
[責(zé)任編輯:房永磊]
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
[文獻(xiàn)標(biāo)識碼]A
[文章編號]1004-7077(2016)02-0035-06
[作者簡介]呂長青(1973-),男,山東滕州人,棗莊學(xué)院數(shù)學(xué)與統(tǒng)計學(xué)院副教授,理學(xué)碩士,主要從事應(yīng)用數(shù)學(xué)理論與應(yīng)用研究.
[基金項目]國家級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(項目編號:201510904050);棗莊學(xué)院教學(xué)研究項目(項目編號:YJG13007).
[收稿日期]2016-01-20