[發明專利]一種視頻監控目標實時定位方法有效
| 申請號: | 201911291966.4 | 申請日: | 2019-12-16 |
| 公開(公告)號: | CN111126220B | 公開(公告)日: | 2023-10-17 |
| 發明(設計)人: | 班瑞;石焜;李瑞芬;趙利霞 | 申請(專利權)人: | 北京瞭望神州科技有限公司 |
| 主分類號: | G06V20/40 | 分類號: | G06V20/40;G06V10/774;G06T7/80;G06T7/70;G06V10/82;G06N3/084;H04N7/18 |
| 代理公司: | 鄭州先風知識產權代理有限公司 41127 | 代理人: | 馬柯柯 |
| 地址: | 100000 北京市西*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 視頻 監控 目標 實時 定位 方法 | ||
1.一種基于視頻的監控目標實時定位方法,其特征在于:包括如下步驟:
第一步:訓練樣本集的準備
(1)樣本數據的采集
樣本數據包括以下三個方面:一是目標地物的平面坐標,二是攝像頭的特定角度方位的具體方位值,三是該攝像頭在該具體方位值下對應的準確的圖像坐標,即真實值,將真實值設為期望輸出值,期望輸出值用于訓練神經網絡,以調整誤差;
其中攝像頭的方位值——PTZ值,即Pan/Tilt/Zoom,下面Z值寫為ZO,是根據攝像頭內部設定的參數來獲取的,PTZO值代表方位:即攝像頭左右移動值/上下移動值/攝像頭鏡頭變倍、變焦控制值;攝像頭的PTZO值取值范圍如下:P值取值范圍是0~360度,T值取值范圍是-5~90度,ZO值取值范圍是1~30倍;
選取已知平面坐標的目標地物為樣本,然后打開攝像頭的視頻,實時讀取該地物的平面坐標,讀取精度精確到小數點后9位,同時還可獲取攝像頭視頻中該地物樣本在該方位下對應的圖像坐標值:攝像頭視頻里面鼠標顯示為十字絲,通過十字絲定位目標地物,然后點擊攝像頭屏幕上的目標地物,獲取目標地物在屏幕圖像中的位置,從而獲取目標地物圖像坐標,同時保存此時相對應的PTZO值以及目標地物的平面坐標值;圖像以左上角為原點(0,0),右上角坐標為(1,0),左下角坐標為(0,1),右下角坐標為(1,1),目標地物在視頻中的圖像坐標參考系如上,橫、縱坐標取值范圍為0~1;
以上為輸入樣本采集;采集若干個樣本后,所有樣本隨機打亂,抽出100條做為驗證集,其余為訓練集;驗證集始終不參與訓練,只在誤差滿足訓練集要求后,做驗證使用;輸出數據通過將樣本輸入神經網絡計算后得到;
(2)對輸入數據以及對期望輸出值進行預處理
預處理分兩個步驟,一是數據清洗和歸一化,二是變換成極坐標格式數據;
首先清洗掉有明顯錯誤的干擾數據;
其次對數據進行歸一化,對輸入和輸出數據進行尺度變換;由于各個輸入數據的物理意義和尺度范圍不同,不能在一個衡量范圍內進行對比和計算;為了保證在神經網絡訓練之前,所有輸入數據對輸出結果的影響分量相同,進行尺度變換,使所有的數據都在0~1之間變換;
所述的樣本有5個數據特征,故設置神經網絡的輸入層為5個神經元;所述樣本的5個數據特征,其中前三個為攝像頭的PTZO值,第四個為樣本點與攝像頭的距離,第五個為樣本點與攝像頭連線方向與正北向夾角的角度值,采用極坐標格式;所述樣本有多個,按照順序排列的樣本的5個數據特征組成五列數據;
第一個數據特征為P值,P值取值區間為0-359.99999,P值歸一化后的值為P1,歸一化公式為:P1=P/360
第二個數據特征為T值,T值在-5~90之間,T值歸一化后為T1,歸一化公式為:T1=(T+5)/95
第三個數據特征為ZO值,ZO值在1~30之間,ZO值歸一化后為ZO1,歸一化公式為:ZO1=ZO/30
第四個數據特征為S值,為樣本與攝像頭之間的距離值,樣本與攝像頭之間的距離值S以3km為基數進行歸一化,歸一化值為S1,公式為:
其中x1、y1分別為樣本點所在位置的橫向平面坐標、縱向平面坐標,x0、y0分別為攝像頭所在位置的橫向平面坐標、縱向平面坐標;
第五個數據特征為A值,以攝像頭為原點,以正北向為Y軸正向,A值是攝像頭與樣本點連線的方向與Y軸正向的夾角,取值范圍為[-1,1],由于反正弦函數取值區間為故A值取值區間為-90~90度;
計算樣本點與攝像頭連線的方向與Y軸正向的角度A公式為:
根據上面的公式,由于A值并不能表示360度,因此以正北向為0度,以正東方向為X軸正向,即90度,順時針方向旋轉,根據樣本點所在的象限位置,判斷與Y軸正向的夾角,記為A0,Y軸正向X軸正向為第一象限,A0角度取值區間為0~90度,A0=A,A為正值;X軸正向Y軸負向為第二象限,A0角度取值區間為90~180度,A0=180–A,A為正值;Y軸負向X軸負向為第三象限,A0角度取值區間為180~270度,A0=180–A,A為負值;X軸負向Y軸正向為第四象限,A0角度取值區間為270~360度,A0=360+A,A為負值;A0歸一化值為A1,歸一化公式為:A1=A0/360;
期望輸出值為上述樣本在上述PTZO值下,樣本在攝像頭中的圖像坐標(u,v),選取兩個樣本特征,第一個為樣本點圖像坐標距離圖像中心(0.5,0.5)的距離D,第二個為樣本點圖像坐標距離圖像中心(0.5,0.5)的角度F,采用極坐標格式;然后分別對樣本的圖像坐標距圖像中心的距離與角度進行歸一化處理,距離D計算公式為:
距離值的D歸一化值D1,歸一化公式為:
計算樣本點圖像坐標與攝像頭的角度F公式為:
樣本點圖像坐標距離其中D≠0,根據前述公式,角度F區間為-90~90度,所以需要根據樣本點圖像坐標所在的象限位置,以圖像中心(0.5,0.5)為原點,當u=0.5,且v=0.5時,F0=0;u0.5,v≤0.5,即在圖像右上角為第一象限,F0取值區間為0~90度,F0=F,F為正值;u≥0.5,v0.5,即在圖像右下角為第二象限,F0取值區間為90~180度,F0=180–F,F為正值;u0.5,v≥0.5,即在圖像左下角為第三象限,F0取值區間為180~270度,F0=180–F,F為負值;u≤0.5,v0.5,即在圖像左上角為第四象限,F0取值區間為270~360度,F0=360+F,F為負值;當u=0.5或v=0.5時,樣本點在坐標軸上;F0歸一化值為F1,歸一化公式為:F1=F0/360;
第二步:設置訓練神經網絡結構
隱藏層設計為11層,隱層及結點數設計為:
1-5層隱藏層,每層設計8個神經單元結點,表示為1-5:8;
6-8層隱藏層,每層設計為12個神經單元結點,表示為6-8:12;
9-11層隱藏層,每層設計為10個神經單元結點,表示為9-11:10;
即隱節點寫法“S-E:N”,表示第S層到第E層的每層神經單元個數為N個;
梯度下降時采用的策略是Adam優化器;Adam是一種可以替代傳統隨機梯度下降過程的一階優化算法,能基于訓練數據迭代地更新神經網絡權值;
第三步:正向傳播
以單隱藏層示范基本原理,多隱藏層是多個單隱藏層的層層遞進;單隱藏層原理具體如下:輸入向量為所述的樣本X=(x1,x2,x3,x4,x5)T,T代表轉置;x1,x2,x3,x4,x5是輸入層的五個神經單元,x1,x2,x3,x4,x5一一對應輸入樣本數據的五個特征,即P值歸一化P1,T值歸一化T1,ZO值歸一化ZO1,目標地物距攝像頭位置的平面坐標距離S歸一化值S1,目標地物距攝像頭位置的角度A歸一化值A1;b0是為隱藏層神經單元引入的閾值,取值為[-1,1];
輸入層到隱藏層的權值矩陣用W表示,W=(W1,W2,…,Wj,…,Wm)T,其中3≤j<m;
所述W1=(w11,w12,w13,w14,w15)為隱藏層第1個神經單元對應的權向量,為1行5列的向量;W2=(w21,w22,w23,w24,w25)為隱藏層第2個神經單元對應的權向量,為1行5列的向量;Wj=(wj1,wj2,wj3,wj4,wj5)為隱藏層第j個神經單元對應的權向量,為1行5列的向量;Wm=(wm1,wm2,wm3,wm4,wm5)為隱藏層第m個神經單元對應的權向量,為1行5列的向量;
wji為輸入層第i個神經單元到隱藏層第j個神經單元的權值,i=1,2,3,4,5;j=1,2,…,m;例如w21為輸入層第1個神經單元到隱藏層第2個神經單元的權值,w12為輸入層第2個神經單元到隱藏層第1個神經單元的權值;
m為隱藏層的神經元個數,故W為m行5列的權值矩陣;Z1為隱藏層的第1個神經單元的加權信息,是匯集輸入層的5個神經單元x1,x2,x3,x4,x5通過公式W1X加權變換后加上設置的閾值b0,得到的加權信息,即Z1=W1X+b0;Zj為隱藏層的第j個神經單元的加權信息,是匯集輸入層的5個神經單元x1,x2,x3,x4,x5通過公式WjX加權變換后加上設置的閾值b0,得到的加權信息,即Zj=WjX+b0;Zm為隱藏層的第m個神經單元的加權信息,是匯集輸入層的5個神經單元x1,x2,x3,x4,x5通過公式WmX加權變換后加上設置的閾值b0,得到的加權信息,即Zm=WmX+b0;
激活函數采用relu函數,relu激活函數為,當x≧0時,f(x)=x,當x﹤0時,f(x)=0;在輸入層到隱藏層的激活函數為f(Z)=f(WX+b0);
y1為在隱藏層中第1個神經單元的輸出值,是由Z1經過relu激活函數f(x)處理變換后得到,即當Z1=W1X+b0≧0時,y1=f(Z1)=W1X+b0,當W1X+b0﹤0時,y1=f(Z1)=0;yj為在隱藏層中第j個神經單元的輸出值,是由Zj經過relu激活函數處理變換后得到的,即yj=f(Zj);ym為在隱藏層中第m個神經單元的輸出值,是由Zm經過relu激活函數處理變換后得到的,即ym=f(Zm);
輸出層有2個神經單元,隱藏層到輸出層之間的權值矩陣用V=(V1,V2)T,T代表轉置,其中V1=(v11,v12,…,v1j,…,v1m)為輸出層第1個神經單元對應的權向量,為1行m列的向量;V2=(v21,v22,…,v2j,…,v2m)為輸出層第2個神經單元對應的權向量,為1行m列的向量;權值矩陣V為2行m列的向量;
vkj是隱藏層第j個神經單元到輸出層第k個神經單元的權值;j=1,2,…,m;k=1,2;例如v21為隱藏層第1個神經單元到輸出層第2個神經單元的權值,v12為隱藏層第2個神經單元到輸出層第一個神經單元的權值,v1j為隱藏層第j個神經單元到輸出層第1個神經單元的權值;
輸出向量O=(o1,o2)T,T代表轉置,o1為BP神經網絡計算方法預測的目標地物在攝像頭所攝取圖像中的圖像坐標距離該圖像中心坐標(0.5,0.5)的距離,o2為BP神經網絡計算方法預測的目標地物在攝像頭所攝取圖像中的坐標距離該圖像中心坐標(0.5,0.5)的角度歸一化值;b1為隱藏層設置的閾值,取值范圍為[-1,1];relu函數為從隱藏層到輸出層的激活函數;o1為在輸出層中第1個神經單元的輸出值,是由隱藏層的各個神經單元y1,y2,…,yj,…,ym經過公式V1Y加權變換后,加上設置的閾值b1后,得到加權信息V1Y+b1,經過relu激活函數處理變換后得到的,即o1=f(V1Y+b1);o2為在輸出層中第2個神經單元的輸出值,是由隱藏層的各個神經單元y1,y2,…,yj,…,ym經過公式V2Y加權變換后,加上設置的閾值b1后,得到加權信息V2Y+b1,經過relu激活函數處理變換后得到的,即o2=f(V2Y+b1);
對于隱藏層,第j個神經單元的加權信息為:
Wj為隱藏層第j個神經單元對應的權向量,wji為輸入層第i個神經單元到隱藏層第j個神經單元的權值,i=1,2,3,4,5;j=1,2,…,m;
隱藏層第j個神經單元經過relu激活函數f(WX+b0)后,變為:
對于輸出層,第k個神經單元的加權信息為:
Vk為輸出層第k個神經單元的對應的權向量,vkj是隱藏層第j個神經單元到輸出層第k個神經單元的權值;k=1或2;
輸出層的第k個神經單元經過激活函數后的輸出值為:
第四步驟:計算誤差與反向傳播調整權值
單隱藏層神經網絡在采樣的時候,即第一步驟中的第1步,得到期望值dk,期望值dk與輸出結果ok一一對應;當輸出結果ok與期望結果dk不相等時,即存在輸出誤差E,定義公式如下:
把上面的誤差公式反推到隱藏層,有
Zk為輸出層第k個神經單元的加權信息,繼續展開至輸入層,結果為
由上式可以看出,網絡輸出誤差是各層權值vkj、wji的函數,因此調整權值可改變誤差E;調整權值使誤差E不斷的減小,需要使權值調整量與誤差的梯度下降成正比,公式如下:Δvkj、Δwji為權值調整量,意為求導,即誤差梯度;
式中,負號表示梯度下降,常數η表示比例系數,η∈(0,1),在神經訓練中反映了學習速率,即學習率,主要用來調節Δvkj,Δwji的變化幅度;
第五步驟:BP計算方法
各層神經單元個數為:輸入層i=1,2,3,4,5;隱藏層j=1,2,…,m;輸出層k=1,2;
對于輸出層,由于以及輸出層第k個神經單元的加權信息為Zk,Zk=VkY+b1;所以引入Zk,對Zk求導,Δvkj可寫為:
對于隱藏層,由于以及隱藏層第j個神經單元的加權信息為Zj,Zj=WjX+b0,對Zj求導,Δwji可寫為:
對于輸出層和隱藏層各定義一個誤差信號;是輸出層的誤差信號,上標o表示輸出層,是隱藏層的誤差信號,上標y表示隱藏層;令
由于公式7中
Vk=(vk1,vk2,…,vkj,…,vkm),是指輸出層第k個神經單元對應的權向量,故公式(13-1)中的代入公式(14-1),所以公式(13-1)可以改為
同上,由于
故公式(13-2)中的代入公式(14-2),所以公式(13-2)可以改為
對于輸入層,ok為輸出層第k個神經單元的加權信息Zk經過激活函數變換后的輸出值,即ok=f(Zk),對誤差信號增加參量可展開為
對于隱藏層,yj為隱藏層第j個神經單元的加權信息Zj經過激活函數變換后的輸出值,即yj=f(Zj),對誤差信號增加參量可展開為
對于輸出層,利用公式9,可得
對于隱藏層,利用公式10,可得
上述公式17-1及公式17-2中的“*”代表“乘以”;
然后將以上結果代入到公式16,得到
以上誤差信號推導完成,把公式18代入到公式15中,
對于多隱藏層,有h層隱藏層,按正向傳播順序各隱藏節點數,記為m1,m2,m3,…,mh即第1層隱藏層有m1個神經單元,第2層隱藏層有m2個神經單元,以此類推,第h層隱藏層有mh個神經單元;隱藏層輸出用y表示,第1層隱藏層輸出數據記為y(1),第2層隱藏層輸出數據記為y(2),以此類推,第h層隱藏層輸出數據記為y(h),各隱藏層輸出數據分別記為y(1),y(2),y(3),…,y(h)第1層隱藏層權值矩陣記為W(1),第2層隱藏層權值矩陣記為W(2),以此類推,第h層隱藏層的權值矩陣記為W(h),即各層權值矩陣分別記為W(1),W(2),W(3),…,W(h+1),則各層權值調整計算公式見下面:
對于輸出層,意為第h層隱藏層的第j1個神經單元到第h+1層即輸出層的第k1個神經單元的權值,即的權值調整量,由單隱藏層網絡推導,類比得到的公式如下:
為輸出層的誤差信號,為第h層隱藏層的第j1個神經單元的輸出值,為輸出層第k1個神經單元的加權信息;
第h隱藏層,意為第h-1層隱藏層的第i1個神經單元到第h層隱藏層的第j1個神經單元的權值,即的權值調整量,公式如下:
為第h層隱藏層的誤差信號,為第h-1層隱藏層的第i1個神經單元的輸出值,為第h層隱藏層的第j1個神經單元的加權信息,為輸出層的誤差信號;
按照以上規律逐層類推,則輸入層第p1個神經單元到第1層隱藏層第q1個神經單元的權值為為的調整量,計算公式為
p1=1,2,…,l;q1=1,2,3,…,m1;r=1,2,…,m2;l為輸入層的神經單元個數,m1為第1層隱藏層的神經單元個數;m2為第2層隱藏層的神經單元個數;p1為輸入層第p1個神經單元,q1為第1層隱藏層第q1個神經單元;r為第2層隱藏層第r個神經單元;為第1層隱藏層的誤差信號,為輸入層的第p1個神經單元的值,為第1層隱藏層的第q1個神經單元的加權信息;為第2層隱藏層的誤差信號,為第1層隱藏層第q1個神經單元到第2層隱藏層第r個神經單元的權值;
當所有的誤差信號計算完成,并由此調整好各層的各個神經元的權值之后,再重新輸入數據,用修改后的權值矩陣進行計算,得到輸出結果,即正向傳播得到的輸出結果與期望輸出值再進行比較,計算誤差;如果誤差滿足要求,再在驗證集上進行驗證,誤差同時滿足要求,即可停止神經網絡的訓練;如果在驗證集上誤差不滿足要求,則重新按照上面的方法反向傳播調整誤差信號,從而調整權值;如此反復,直至訓練結果滿足要求或者訓練次數達到設置的閾值,訓練結束;所述訓練結果滿足要求,為誤差滿足要求,則訓練結束;若訓練結束,誤差仍然不能滿足要求,則返回步驟二,使用設定值調參,重新調整學習率以及神經網絡的層數和神經單元個數,然后再按照正向傳播計算誤差、反向傳播調整權值,重新訓練神經網絡。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京瞭望神州科技有限公司,未經北京瞭望神州科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911291966.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種尿液檢測裝置的尿液檢測方法
- 下一篇:一種具有藥量檢測功能的智能藥盒





