本發(fā)明涉及圖像處理技術,尤其涉及一種基于視頻圖像處理的船舶走錨識別方法。
背景技術:
近年來,在內河航道中由船舶走錨引起的撞船、撞橋以及擱淺等事故時有發(fā)生,造成了嚴重的財產損失和人員傷亡。隨著水上交通的發(fā)展,船舶數(shù)量與平均載重量總體增長,單次走錨事故造成的損失呈增大趨勢。錨地管理處對走錨事件缺乏有效監(jiān)管手段,無法提供可靠船舶走錨安全監(jiān)控服務。由底質松動與纜繩斷裂導致的走錨隱蔽性強,識別困難,給錨泊安全帶來很大隱患。
gps作為一種最常用的定位方式被廣泛應用在船舶定位中,但是目前的錨泊狀態(tài)普遍存在一個現(xiàn)象,船舶在停靠錨地后便切斷了所有電源,使得基于gps定位方法的船舶走錨識別失效。而通過視頻圖像處理方法進行船舶走錨識別則不同,它作為一種主動監(jiān)控方式,能夠克服基于gps定位方法的被動監(jiān)控缺陷,且視頻數(shù)據(jù)信息量大,實時性好。故基于視頻圖像處理技術與實際船舶走錨現(xiàn)象以及算法相結合的船舶走錨識別方法具有重要的研究意義和價值。
技術實現(xiàn)要素:
本發(fā)明要解決的技術問題在于針對現(xiàn)有技術中的缺陷,提供一種基于視頻圖像處理的船舶走錨識別方法。
本發(fā)明解決其技術問題所采用的技術方案是:一種基于視頻圖像處理的船舶走錨識別方法,包括以下步驟:
1)基于采集的船舶錨泊視頻圖像數(shù)據(jù),檢測出錨泊船舶作為目標船舶,消除船舶倒影得到目標船舶的外接矩形框;
2)在目標船舶的外接矩形框下得到船舶中心位置,采用融合卡爾曼濾波估計初始位置的meanshift跟蹤算法對船舶中心位置進行跟蹤;
3)采集大量正常錨泊船舶中心位置作為初始訓練集,利用增量更新dbscan聚類算法對訓練集進行正常船舶錨泊模型訓練,得到正常船舶錨泊模型;
4)在正常船舶錨泊模型下通過對待測船舶中心位置數(shù)據(jù)進行試聚類,實現(xiàn)船舶走錨的識別。
按上述方案,所述步驟2)中采用融合卡爾曼濾波估計初始位置的meanshift跟蹤算法對船舶中心位置進行跟蹤具體包括:
2.1)根據(jù)完成目標檢測的視頻輸入幀初始化目標模板,并初始化目標在卡爾曼濾波中的初始運動狀態(tài),卡爾曼方程如下:
x(k)=ax(k-1)+bu(k)+w(k)
式中:x(k)表示當前的系統(tǒng)狀態(tài),u(k)表示當前的系統(tǒng)控制量,a和b表示該控制系統(tǒng)的參數(shù);w(k)表示系統(tǒng)的過程噪聲;
引入測量方程z(k)=hx(k)+v(k),
式中z(k)表示系統(tǒng)在k時刻的測量值,h表示系統(tǒng)的測量參數(shù),x(k)表示當前的系統(tǒng)狀態(tài),v(k)表示系統(tǒng)的測量噪聲;
2.2)根據(jù)卡爾曼濾波狀態(tài)方程預測目標當前位置;
2.3)根據(jù)卡爾曼協(xié)方差預測方程計算狀態(tài)協(xié)方差矩陣,并由此計算卡爾曼增益,當前時刻的狀態(tài)預測協(xié)方差矩陣
式中:a表示系統(tǒng)參數(shù),at表示a的轉置矩陣,協(xié)方差矩陣q是對角為1的對角矩陣,
式中:
2.4)根據(jù)當前幀目標位置的測量值修正預測值,得到對當前幀目標位置的估計,并將其作為經典meanshift算法在當前幀跟蹤的初始位置;
協(xié)方差矩陣
式中:e表示單位矩陣,kg(t)表示卡爾曼增益,h表示系統(tǒng)的測量參數(shù),
2.5)根據(jù)候選模型分布計算與目標模型的相似性,計算權值wi:
其中:
2.6)根據(jù)經典meanshift算法計算目標船舶當前幀的位置;
2.7)若觀測到的樣本點相對于核函數(shù)中心點的均值偏移向量收斂,則跟蹤成功,輸出目標跟蹤位置;否則重新設定目標當前幀位置繼續(xù)迭代,進行步驟2.5)。
所述步驟3)具體包括:
3.1)采集大量正常錨泊坐標數(shù)據(jù)作為初始訓練集;
3.2)計算原始船舶位置坐標點knn矩陣并對其排序,依次計算出各鄰域最大半徑epsi和全局minpts,所述全局minpts為一個核心對象以epsi為半徑的鄰域內的最小頂點數(shù);
3.3)將epsi半徑按從小到大依次結合全局minpts對初始數(shù)據(jù)集進行dbscan聚類,得到若干簇ci和正常船舶錨泊模型;
3.4)將待測船舶位置數(shù)據(jù)x與從訓練集得到的某個簇ck進行試聚類,若為核心點,則融入到該簇,并將數(shù)據(jù)加入到訓練集,若為噪聲點,轉入步驟3.5);若為邊界點,轉入步驟3.6);
3.5)若待定點數(shù)目t等于0則與下一個未匹配的簇試聚類;若t不為0,則x為噪聲點,停止試聚類,結束;
3.6)對待定點數(shù)t進行加一操作,若t等于minpts,則之前所有待定點均融入ck,并將數(shù)據(jù)加入到訓練集,對ck重新聚類調整核心點與邊界點;若t不等于minpts,則標記為待定點,用下一個待測船舶位置數(shù)據(jù)x與ck繼續(xù)試聚類,轉入步驟3.4)。
步驟(4)具體包括:
用采集到的待測錨泊船舶中心位置數(shù)據(jù)進行正常船舶錨泊模型下的試聚類,若為核心點則加入某簇,更新相關簇,若為異常點則表示發(fā)生了船舶走錨行為;
對于船舶走錨行為,若船舶中心點距離最近邊界點達到閾值ε,則判定該船舶具有走錨嫌疑,進行初級提示;若船舶中心點距離最近邊界點達到閾值ξ,則判定該船舶顯著走錨,發(fā)出高級提示。
其中,參數(shù)ε和ξ均為基于距離的閾值,ε為初步判定走錨的距離值(取當前鄰域最大半徑epsi),ξ為顯著走錨距離值(取2倍epsi),均為歐式距離。
按上述方案,所述步驟1)中得到船舶實像的外接矩形框具體包括:
1.1)將視頻圖像序列作為輸入數(shù)據(jù),用第一幀圖像作為背景初始化模型,利用最大化背景分布的混合高斯背景建模算法增強背景描述,不斷更新背景圖像,實現(xiàn)背景與前景的分離,提取目標船舶輪廓;
1.2)使用船舶的最小外接矩形框代替船舶輪廓,利用鏡像特征的船舶倒影消除方法得到船舶實像的外接矩形框。
按上述方案,所述步驟1)中采集船舶錨泊視頻圖像數(shù)據(jù)通過設置在岸邊上的攝像機采集,設置的方式如下:
在船舶錨地附近的岸上,按照單個攝像機可采集視頻對應實景的寬度范圍均勻間隔設置槍機攝像機,使得視頻圖像采集范圍連續(xù)。
本發(fā)明產生的有益效果是:
1.本發(fā)明的設備要求簡單,只需通過攝像機這種主動監(jiān)控方式便可實現(xiàn)大量實時視頻數(shù)據(jù)的采集。
2.本發(fā)明中最大化背景分布的混合高斯背景建模算法降低了前景誤檢率,去噪聲效果好。
3.本發(fā)明中采用融合卡爾曼濾波估計初始位置的meanshift跟蹤算法,提高了對快速運動物體的實時跟蹤能力和跟蹤準確性。
4.本發(fā)明中采用增量更新dbscan聚類算法,減少了正常船舶錨泊數(shù)據(jù)的采集時間,船舶走錨識別效果好。
附圖說明
下面將結合附圖及實施例對本發(fā)明作進一步說明,附圖中:
圖1為本發(fā)明實施例基于視頻圖像處理的船舶走錨識別方法流程圖;
圖2為本發(fā)明實施例視頻圖像處理提取錨泊船舶流程圖;
圖3為本發(fā)明實施例最大化背景分布的混合高斯背景建模的船舶檢測數(shù)據(jù)圖;
圖4為本發(fā)明實施例鏡像特征的船舶倒影消除方法數(shù)據(jù)圖;
圖5為本發(fā)明實施例融合卡爾曼濾波估計初始位置的meanshift跟蹤的船舶圖;
圖6為本發(fā)明實施例增量更新dbscan聚類識別圖;
圖7為本發(fā)明實施例船舶走錨識別圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,基于視頻圖像處理的船舶走錨識別方法包括以下步驟:
步驟s100、基于真實的船舶錨泊視頻圖像數(shù)據(jù),檢測出錨泊船舶,消除船舶倒影得到目標船舶的外接矩形框,對目標船舶外接矩形框的提取過程如圖2所示,具體包括以下兩個步驟:
步驟s101、將視頻圖像序列作為輸入數(shù)據(jù),用第一幀圖像作為背景初始化模型,利用最大化背景分布的混合高斯背景建模算法,增強背景描述,不斷更新背景圖像,實現(xiàn)背景與前景的分離,提取出目標船舶輪廓。
其中,最大化背景分布的混合高斯背景建模算法處理結果如圖3所示,圖3中:(a)原始圖像,(b)背景圖像,(c)前景圖像;具體包括:
a)讀取視頻圖像序列;
b)取第一幀圖像作為背景初始化模型,第一個高斯模型權值初始化為1,其他高斯模型權值初始化為0;
c)取第i幀圖像,將其像素值與高斯模型進行匹配,得到盡可能多的高斯匹配;
d)提高匹配的高斯模型的權重,更新高斯模型中的期望、協(xié)方差,若沒有任何一個高斯模型匹配,替換權重最小的高斯模型;
e)對權值按從大到小排序,將超過一半的權值大的高斯分布描述的像素點作為背景輸出,剩下的作為前景輸出,提取目標船舶像素;
f)判斷是否為最后一幀圖像,若為否,轉入步驟c),若為是,結束。
步驟s102、采用基于連通域提取的區(qū)域生長法分割矩形框包括的像素,對合并區(qū)域外圍邊界進行延伸即可構成船舶最小外接矩形,使用船舶的最小外接矩形框代替船舶輪廓,利用鏡像特征的船舶倒影消除方法得到船舶實像的外接矩形框。
其中,鏡像特征的船舶倒影消除方法處理效果如圖4所示,圖4中:圖4(a)為基于區(qū)域生長法的外接矩形框圖像,圖4(b)為基于鏡像的倒影消除圖像;
利用鏡像特征的船舶倒影消除方法得到船舶實像的外接矩形框具體包括:
a)使用船舶的最小外接矩形框代替船舶輪廓;
b)按照從上到下,從左到右搜索圖像區(qū)域,提取矩形框左上角與右下角坐標;
c)計算矩形框中心點與上下平分線;
d)統(tǒng)計上下區(qū)域在原圖像中的平均灰度值與分布;
e)判斷上下區(qū)域平均灰度是否在設定閾值范圍內,若在設定閾值范圍內,轉入步驟f),若不在設定閾值范圍內,轉入步驟g);
f)計算上區(qū)域矩形右下角坐標,將原矩形框下區(qū)域二值為1的點修改為0,提取出上區(qū)域矩形框,輸出左上角與右下角坐標,得到船舶實像的外接矩形框,結束;
g)對原矩形框區(qū)域的原圖進行灰度閾值分割。大于閾值的像素點置為1,小于閾值的點置為0;
h)搜索閾值處理后的矩形框,提取值為1的像素區(qū)域的最小矩形框,輸出左上角和右下角坐標,得到船舶實像的外接矩形框,結束。
步驟s200、根據(jù)目標船舶的外接矩形框得到船舶中心位置,采用融合卡爾曼濾波估計初始位置的meanshift跟蹤算法對船舶中心位置進行跟蹤。
其中,基于融合卡爾曼濾波估計初始位置的meanshift跟蹤算法對船舶中心位置的跟蹤過程如圖5所示,圖5中:(a)船舶跟蹤圖像,(b)對應幀的直方圖,具體包括:
a)根據(jù)完成目標檢測的視頻輸入幀初始化目標模板,并初始化目標在卡爾曼濾波中的初始運動狀態(tài),卡爾曼方程
x(k)=ax(k-1)+bu(k)+w(k)
式中:x(k)表示當前的系統(tǒng)狀態(tài),u(k)表示當前的系統(tǒng)控制量,a和b表示該控制系統(tǒng)的參數(shù),通常由矩陣表達。系統(tǒng)控制量u(k)通常取零,w(k)表示系統(tǒng)的過程噪聲。
引入測量方程z(k)=hx(k)+v(k),式中z(k)表示系統(tǒng)在k時刻的測量值,h表示系統(tǒng)的測量參數(shù),x(k)表示當前的系統(tǒng)狀態(tài),v(k)表示系統(tǒng)的測量噪聲。
b)根據(jù)卡爾曼濾波狀態(tài)方程預測目標當前位置;
c)根據(jù)卡爾曼協(xié)方差預測方程計算狀態(tài)協(xié)方差矩陣,并由此計算卡爾曼增益,當前時刻的狀態(tài)預測協(xié)方差矩陣
式中:a表示系統(tǒng)參數(shù),at表示a的轉置矩陣,協(xié)方差矩陣q是對角為1的對角矩陣,
式中:
d)根據(jù)當前幀目標位置的測量值修正預測值,得到對當前幀目標位置的估計,并將其作為經典meanshift算法在當前幀跟蹤的初始位置;
協(xié)方差矩陣
式中:e表示單位矩陣,kg(t)表示卡爾曼增益,h表示系統(tǒng)的測量參數(shù),
e)根據(jù)候選模型分布計算與目標模型的相似性,計算權值wi:
其中:
f)根據(jù)經典meanshift算法計算目標船舶當前幀的位置;
g)若觀測到的樣本點相對于核函數(shù)中心點的均值偏移向量收斂,則跟蹤成功,輸出目標跟蹤位置。否則重新設定目標當前幀位置繼續(xù)迭代,轉入步驟e)。
步驟s300、采集大量正常錨泊船舶中心位置作為初始訓練集,利用增量更新dbscan聚類算法對訓練集進行正常船舶錨泊模型訓練,得到正常船舶錨泊模型。
其中,增量更新dbscan聚類算法處理結果如圖6所示,圖6中:(a)多鄰域的dbscan聚類圖,(b)增量更新dbscan聚類圖,具體包括:
a)采集大量正常錨泊坐標數(shù)據(jù)作為初始訓練集;
b)計算原始船舶位置坐標點knn矩陣并對其排序,依次計算出各鄰域最大半徑epsi和全局minpts(一個核心對象以epsi為半徑的鄰域內的最小頂點數(shù));
c)將epsi半徑按從小到大依次結合全局minpts對初始數(shù)據(jù)集進行dbscan聚類,得到若干簇ci和正常船舶錨泊模型;
d)將待測船舶位置數(shù)據(jù)x與從訓練集得到的某個簇ck進行試聚類,若為核心點,則融入到該簇,并將數(shù)據(jù)加入到訓練集,若為噪聲點,轉入步驟e),若為邊界點,轉入步驟f);
e)若待定點數(shù)目t等于0則與下一個未匹配的簇試聚類;若t不為0,則x為噪聲點,停止試聚類,結束;
f)對待定點數(shù)t進行加一操作,若t等于minpts,則之前所有待定點均融入ck,并將數(shù)據(jù)加入到訓練集,對ck重新聚類調整核心點與邊界點;若t不等于minpts,則標記為待定點,用下一個x與ck繼續(xù)試聚類,轉入步驟d)。
步驟s400、在正常船舶錨泊模型下通過對待測船舶中心位置數(shù)據(jù)進行試聚類,實現(xiàn)船舶走錨的識別。
用采集到的待測錨泊船舶中心位置數(shù)據(jù)進行正常船舶錨泊模型下的試聚類,若為核心點則加入某簇,更新相關簇,若為異常點則表示發(fā)生了船舶走錨行為。對于船舶走錨行為,若船舶中心點距離最近邊界點達到ε則判定該船舶具有走錨嫌疑,進行初級提示,若船舶中心點距離最近邊界點達到ξ則判定該船舶顯著走錨,發(fā)出高級提示。船舶走錨識別結果如圖7所示,圖7中:(a)船舶初級走錨圖,(b)船舶高級走錨圖;。
其中,參數(shù)ε和ξ均為基于距離的閾值,ε為初步判定走錨的距離值(取當前鄰域最大半徑epsi),ξ為顯著走錨距離值(取2倍epsi),均為歐式距離。
應當理解的是,對本領域普通技術人員來說,可以根據(jù)上述說明加以改進或變換,而所有這些改進和變換都應屬于本發(fā)明所附權利要求的保護范圍。