本發(fā)明屬于監(jiān)控技術(shù)領(lǐng)域,尤其涉及一種自動港口貨船的提取方法及裝置。
背景技術(shù):
由于智能監(jiān)控技術(shù)水平的提高,能夠?qū)崿F(xiàn)的各種智能監(jiān)控功能也越來越豐富,如人頭計數(shù)、車輛跟蹤、煙霧檢測。智能視頻監(jiān)控應(yīng)用于社會的各行各業(yè)已經(jīng)是大趨勢,不同行業(yè)正逐步采用智能監(jiān)控技術(shù)來加強自身的管理能力,如油田防盜監(jiān)測、監(jiān)獄打架斗毆報警?,F(xiàn)有實際工程項目中關(guān)于海事船舶檢測的方案大多都是采用軟硬件結(jié)合的方式,使用海事專用攝像機、船舶ais系統(tǒng)來完成海事監(jiān)控中需要的船舶跟蹤、定位、計數(shù)、測速功能。而監(jiān)控系統(tǒng)僅僅完成視頻錄取和調(diào)取檢閱的作用。用智能視頻監(jiān)控技術(shù)來完成港口船舶的精定位、船舶分割、計數(shù)、測速還在探索階段,這方面真正行之有效、精確度高,能夠穩(wěn)定應(yīng)用于工程項目上的案例非常少。對這些為海事局進行港口管理提供幫助的監(jiān)控功能進行探索和應(yīng)用顯得非常有必要。
公開號cn201410216050.3的中國專利申請了一種基于顯著性區(qū)域檢測的紅外艦船目標分割方法。該專利主要利用船舶目標與水面和 無關(guān)建筑物對紅外輻射反應(yīng)成像強度的不同。融合雙邊濾波、邊緣強度檢測、海森矩陣特征圖來得到顯著性圖。再用自適應(yīng)閾值分割得到結(jié)果圖。這種算法缺點是必須在熱紅外成像圖片上做處理,且當水面上船舶過多時,雙邊濾波和局部行對比度檢測會出現(xiàn)混淆現(xiàn)象,直接降低檢測結(jié)果的精確度,甚至無法得到有效船舶分割結(jié)果。
公開號為cn201210248684.8開發(fā)了一種基于顯著性分析的紅外遙感海面船只檢測方法。也是在紅外遙感圖像的基礎(chǔ)上進行檢測。在已分割出的海面區(qū)域上,計算海面子區(qū)域的灰度直方圖與整個海面區(qū)域灰度直方圖的相似度值來得到圖像的顯著性圖。對顯著性圖進行大尺度超像素分割算法,再對尺寸和形狀信息進行過濾得到最終的結(jié)果圖。同樣,這種簡單基于灰度直方圖的顯著性分析在普通光學(xué)攝像監(jiān)控鏡頭得到的場景圖像中會出現(xiàn)大量的雜質(zhì),且得到的船舶會出現(xiàn)隔斷或邊緣冗余的情況,精度低。紅外成像圖片對溫度變化敏感,連續(xù)幀之間的檢測結(jié)果也會出現(xiàn)明顯的不一致性,魯棒性差。
公開號為cn201310408461.8的專利發(fā)明了一種基于頻譜奇異值分解的海上目標顯著性檢測方法。這種顯著性方法在lab空間內(nèi)先分別對l、a、b三個通道進行傅里葉變換得到幅度譜和相位譜。再對各個幅度譜進行奇異值分解得到它們的非主要分量。用得到的非主要分量和原相位譜結(jié)合進行反傅里葉變換得到三個通道的顯著性圖。融合三個通道得到全彩色顯著性圖。該專利僅僅提出一種顯著性分析的計算方法,并未涉及到船舶的提取分割,僅僅通過一副彩色結(jié)果顯著圖無法得到船舶的精定位輪廓信息。對于容易出現(xiàn)的船舶被隔斷,午 間水面大面積反光出現(xiàn)的水波紋情況均沒有提及有效的解決方案。
綜上,目前迫切需要一種能夠用于海事監(jiān)控中計算復(fù)雜度低實現(xiàn)簡單,所獲取船舶輪廓精度高,無需特殊硬件或船舶先驗信息的港口貨船精確提取算法。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的目的在于提供一種自動港口貨船的提取方法及裝置,旨在解決由現(xiàn)有的海事監(jiān)控精確度差的問題。
本發(fā)明實施例是這樣實現(xiàn)的,一種自動港口貨船的提取方法,所述方法包括如下步驟:
s1、獲取場景圖像的視頻幀;
s2、根據(jù)所述獲取的視頻幀計算全局顯著性圖;
s3、對所述全局顯著性圖進行閾值處理和連通域提取,得到所述視頻幀中各個連通域?qū)?yīng)的區(qū)域圖片;
s4、遍歷所述區(qū)域圖片,根據(jù)預(yù)設(shè)的過濾條件濾除不包括船舶的區(qū)域圖片;
s5、對過濾后的區(qū)域圖片進行局部顯著性分析,得到所述港口貨船的結(jié)果圖。
進一步地,所述步驟s5具體包括:
s51、獲取一所述過濾后的區(qū)域圖片;
s52、計算所述區(qū)域圖片的局部顯著性圖;
s53、對所述局部顯著性圖進行灰度變換和閾值處理,得到區(qū)域 二值圖;
s54、提取所述區(qū)域二值圖內(nèi)所有子連通域,進行水波紋濾除,確認含有船舶的子連通域;
s55、當所述含有船舶的子連通域不包含被截斷的船舶時,將該子連通域復(fù)制至預(yù)設(shè)的結(jié)果圖,并返回步驟s51獲取另一所述過濾后的區(qū)域圖片直到遍歷所有過濾后的區(qū)域圖片。
進一步地,所述步驟s5還包括:
s56、當所述含有船舶的子連通域包含被截斷的船舶時,對該子連通域所在區(qū)域圖片進行船舶生長計算直到該區(qū)域圖片不包含被截斷的船舶;
s57、將所述區(qū)域圖片內(nèi)的子連通域復(fù)制至所述結(jié)果圖,并返回步驟s51。
進一步地,所述步驟s52具體包括:
s521、將所述視頻幀轉(zhuǎn)換至lab彩色空間lab(x,y);
s522、計算所述lab(x,y)的平均色,得到平均色圖像m(x,y),以及計算所述lab(x,y)的高斯模糊圖像g(x,y);
s523、計算坐標(x,y)計算lab(x,y)和g(x,y)的色差,得到顯著性圖s(x,y);
s524、將所述s(x,y)像素值縮放至[0,1]范圍,得到所述局部顯著性圖。
進一步地,所述s54具體包括:
s541、遍歷所有子連通域,記錄所有面積大于或等于預(yù)設(shè)的最小面積閾值的子連通域的面積;
s542、當所述已記錄面積的子連通域的數(shù)量小于預(yù)設(shè)的數(shù)量值,且其中最大面積的子連通域與所在區(qū)域圖片的面積比例大于預(yù)設(shè)的比例值時,將所述已記錄面積的子連通域作為所述確認含有船舶的子連通域。
本發(fā)明還提出一種自動港口貨船的提取裝置,所述裝置包括:
獲取模塊,用于獲取場景圖像的視頻幀;
計算模塊,用于根據(jù)所述獲取的視頻幀計算全局顯著性圖;
處理模塊,用于對所述全局顯著性圖進行閾值處理和連通域提取,得到所述視頻幀中各個連通域?qū)?yīng)的區(qū)域圖片;
過濾模塊,用于遍歷所述區(qū)域圖片,根據(jù)預(yù)設(shè)的過濾條件濾除不包括船舶的區(qū)域圖片;
分析模塊,用于對過濾后的區(qū)域圖片進行局部顯著性分析,得到所述港口貨船的結(jié)果圖。
進一步地,所述分析模塊包括:
獲取單元,用于獲取一所述過濾后的區(qū)域圖片;
計算單元,用于計算所述區(qū)域圖片的局部顯著性圖;
處理單元,用于對所述局部顯著性圖進行灰度變換和閾值處理,得到區(qū)域二值圖;
水波紋濾除單元,用于提取所述區(qū)域二值圖內(nèi)所有子連通域,進 行水波紋濾除,確認含有船舶的子連通域;
復(fù)制單元,用于當所述含有船舶的子連通域不包含被截斷的船舶時,將該子連通域復(fù)制至預(yù)設(shè)的結(jié)果圖,并返回所述獲取單元獲取另一所述過濾后的區(qū)域圖片直到遍歷所有過濾后的區(qū)域圖片。
進一步地,所述分析模塊還包括:
船舶生長單元,用于當所述含有船舶的子連通域包含被截斷的船舶時,對該子連通域所在區(qū)域圖片進行船舶生長計算直到該區(qū)域圖片內(nèi)的子連通域不包含被截斷的船舶;
所述復(fù)制單元還用于將所述區(qū)域圖片內(nèi)的子連通域復(fù)制至所述結(jié)果圖,并返回獲取單元獲取另一過濾后的區(qū)域圖片。
進一步地,所述計算單元包括:
轉(zhuǎn)換子單元,用于將所述視頻幀轉(zhuǎn)換至lab彩色空間lab(x,y);
平均色計算子單元,用于計算所述lab(x,y)的平均色,得到平均色圖像m(x,y),以及計算所述lab(x,y)的高斯模糊圖像g(x,y);
顯著性圖計算子單元,用于計算坐標(x,y)計算lab(x,y)和g(x,y)的色差,得到顯著性圖s(x,y);
像素值標準化子單元,用于將所述s(x,y)像素值縮放至[0,1]范圍,得到所述局部顯著性圖。
進一步地,所述水波紋濾除單元包括:
記錄子單元,用于遍歷所有子連通域,記錄所有面積大于或等于預(yù)設(shè)的最小面積閾值的子連通域的面積;
確認子單元,用于當所述已記錄面積的子連通域的數(shù)量小于預(yù)設(shè) 的數(shù)量值,且其中最大面積的子連通域與所在區(qū)域圖片的面積比例大于預(yù)設(shè)的比例值時,將所述已記錄面積的子連通域作為所述確認含有船舶的子連通域。
本發(fā)明實施例先采用全局進行顯著性分析提取船舶的大概位置,經(jīng)過對候選區(qū)域的篩選,濾除偽目標之后再進行局部區(qū)域的顯著性分析完成精確定位。本發(fā)明實施例同時加入了水波紋區(qū)域的檢測篩選算法以及被隔斷船舶的生長算法,能夠提取完整、精確的船舶輪廓進而分割。在顯著性分析方法的開發(fā)上,利用港口監(jiān)控場景自身的特點經(jīng)過試驗選取了適合此場景下的全局粗定位和局部精定位的顯著性分析算法,魯棒性高。
附圖說明
圖1是本發(fā)明實施例一提供的自動港口貨船的提取方法的流程圖;
圖2是本發(fā)明實施例一提供的自動港口貨船的提取方法中局部顯著性分析的流程圖;
圖3是本發(fā)明實施例一提供的自動港口貨船的提取方法中局部顯著性算法的流程圖;
圖4是本發(fā)明實施例一提供的自動港口貨船的提取方法中水波紋濾除的流程圖;
圖5是本發(fā)明實施例二提供的自動港口貨船的提取裝置的結(jié)構(gòu)圖;
圖6是本發(fā)明實施例二提供的自動港口貨船的提取裝置中分析模塊的結(jié)構(gòu)圖;
圖7是本發(fā)明實施例二提供的自動港口貨船的提取裝置中計算單元的結(jié)構(gòu)圖;
圖8是本發(fā)明實施例二提供的自動港口貨船的提取裝置中水波紋濾除單元的結(jié)構(gòu)圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
實施例一
本發(fā)明實施例一提出一種自動港口貨船的提取方法。如圖1所示,本發(fā)明實施例一的方法包括如下步驟:
s1、獲取場景圖像的視頻幀。通過監(jiān)控攝像頭得到港口的實時視頻,進行預(yù)處理得到場景圖像的視頻幀。預(yù)處理主要是確定監(jiān)測區(qū)域,包括去除江岸(海岸)部分,只保留江面(海面)部分。
s2、根據(jù)獲取的視頻幀計算全局顯著性圖。該步驟中,全局顯著性圖可采用譜殘差顯著性圖sr,計算過程如下:
(1)將獲取的視頻幀轉(zhuǎn)換得到灰度圖i(x,y),計算其二維離散傅里葉變換fft(i(x,y))。再計算得到相角譜p(u,v)和頻譜a(u,v)。
(2)對頻譜a(u,v)取對數(shù),得到log譜l(u,v)=log(a(u,v))。
(3)對log譜進行局部均值濾波,濾波模板為h(u,v),得到平均頻譜m(u,v)=h(u,v)*l(u,v)。
(4)計算log譜和平均頻譜的差,得到譜殘差r(u,v)=l(u,v)-m(u,v)。
(5)計算譜殘差r(u,v)的自然指數(shù),得到e(u,v)=exp(r(u,v))。
(6)結(jié)合e(u,v)與相角譜p(u,v)得到復(fù)數(shù)二維矩陣c(u,v)=e(u,v)*cos(p(u,v))+i*e(u,v)*sin(p(u,v))。
(7)對c(u,v)其進行傅里葉反變換得到d(x,y)=ifft(c(u,v))。
(8)對d(x,y)進行高斯模糊得到顯著性圖g(x,y),再對g(x,y)像素值縮放至[0,1]范圍,得到全局顯著性圖sr(x,y)。
可對全局顯著性圖sr進行灰度變換,目的在于改變?nèi)诛@著性圖的平均灰度值,以便后續(xù)二值處理得到的高亮部分盡可能完整的包含船舶區(qū)域。在某些場景,如清晨或者黃昏時,由于光線較暗,得到的全局顯著性圖的絕大部分像素點集中在低亮度部分,此時若不經(jīng)過任何處理,直接進行閾值處理得到的區(qū)域僅能包含少數(shù)絕對顯眼的船舶。
完成灰度變換首先計算全局顯著性圖sr的均值sr_mean,以及灰度放大倍數(shù)ratio=dst_mean/sr_mean,dst_mean為根據(jù)測試視頻樣本確定的表現(xiàn)較好的均值常量。灰度變換得到的全局顯著圖sr’計算如下,若sr(x,y)*ratio<=255,則sr’(x,y)=sr(x,y);否則sr’(x,y)=255。
s3、對全局顯著性圖進行閾值處理和連通域提取,得到視頻幀中各個連通域?qū)?yīng)的區(qū)域圖片。閾值處理可以采用基本全局閾值處理或者ostu等,得到二值圖threglobal。提取二值圖threglobal的所有連通域,得到船舶目標的粗定位區(qū)域,計算每一個連通域的外接矩形框,得到這些矩形框?qū)?yīng)于原輸入的視頻幀中的區(qū)域圖片。
s4、遍歷區(qū)域圖片,根據(jù)預(yù)設(shè)的過濾條件濾除不包括船舶的區(qū)域圖片。步驟s3中,由于進行二值圖threglobal的連通域提取得到各連通域的外接矩形框contour_rect,在某些復(fù)雜場景如中午水面大面積反光時,得到的連通域可能是一整塊的反光水面而不含任何船舶,或者在較暗的場景得到的連通域只是平靜的水面。因此,可根據(jù)預(yù)設(shè)的過濾條件濾波不包括船舶的區(qū)域圖片,如先以連通域外接矩形框contour_rect的尺寸為過濾條件,濾除矩形寬度(rect_width)小于最小寬度值(width_min)或大于最大寬度值(width_max),且矩形高度(rect_height)小于最小高度值(height_min)或大于最大高度值(height_max)的區(qū)域圖片,再計算連通域外接矩形框contour_rect在步驟s1中獲取的初始的視頻幀中對應(yīng)區(qū)域的方差region_var,濾除方差region_var小于最小方差值(var_min)或大于最大方差值(var_max)的區(qū)域圖片。其中,width_min、width_max、height_min、height_max、var_min和var_max是閾值常量。
s5、對過濾后的區(qū)域圖片進行局部顯著性分析,得到港口貨船的結(jié)果圖。具體如圖2所示,包括步驟:
s51、獲取一過濾后的區(qū)域圖片;
s52、計算局部顯著性圖;局部顯著性圖可利用高低頻率信息,得到頻率調(diào)諧顯著性圖,這種顯著性算法對多種復(fù)雜場景的穩(wěn)定性和對邊緣提取的精確度上均表現(xiàn)優(yōu)異,計算步驟如圖3所示:
s521、將獲取的區(qū)域圖片轉(zhuǎn)換到lab彩色空間圖lab(x,y);
s522、計算lab(x,y)的平均色,得到平均色圖像meanimg(x,y);
s523、計算lab(x,y)的高斯模糊圖像g(x,y);
s524、計算lab空間內(nèi)m(x,y)與g(x,y)圖中(x,y)坐標元素的色差,即像素值向量<l,a,b>的歐氏距離,得到顯著性圖s(x,y)。
s525、對s(x,y)像素值縮放至[0,1]范圍,得到局部顯著性圖ft(x,y)。
s53、對局部顯著性圖ft(x,y)進行灰度變換和閾值處理得到區(qū)域二值圖;
s54、對區(qū)域二值圖提取區(qū)域內(nèi)所有子連通域,進行水波紋濾除,得到確認含有船舶的區(qū)域圖片及其內(nèi)子連通域。水波紋濾除主要目的在于判斷區(qū)域圖片內(nèi)是否只包含高反光水波,即偽船舶候選目標區(qū)域,如果存在這樣的區(qū)域圖片則濾除,水波紋濾除算法按如圖4所示步驟進行:
s541、遍歷區(qū)域圖片內(nèi)所有子連通域,記錄所有面積大于或等于預(yù)設(shè)的最小面積閾值的子連通域的面積。計算各個子連通域的面積,剔除面積小于最小面積閾值的子連通域,其中最小面積閾值被設(shè)定為最小可檢測船舶面積常量,記錄面積大于或等于最小面積閾值的子連通域。
s542、當已記錄面積的子連通域的數(shù)量小于預(yù)設(shè)的數(shù)量值,且其中最大面積的子連通域與所在區(qū)域圖片的比例大于預(yù)設(shè)的比例值時,將已記錄面積的子連通域作為確認含有船舶的子連通域。
具體地,將已記錄面積大于或等于最小面積閾值的子連通域按面積從大到小排序。若子連通域的數(shù)量小于預(yù)設(shè)的數(shù)量值,且其中最大面積的子連通域與所在區(qū)域圖片的比例大于預(yù)設(shè)的比例值時,將該區(qū)域圖片作為確認含有船舶的子區(qū)域,該區(qū)域內(nèi)被記錄的子連通域即被認為是船舶(完整船舶,或部分船舶)。
不滿足以上條件,則判斷該區(qū)域圖片是水波紋區(qū)域,不含船舶,刪除此候選目標區(qū)域。
s55、判斷被確認含有船舶的子連通域內(nèi)是否包含被截斷的船舶,若不含被截斷的船舶,將被確認為船舶的子連通域復(fù)制到結(jié)果圖,并返回步驟s51獲取另一過濾后的區(qū)域圖片直到遍歷所有過濾后的區(qū)域圖片。
在船舶的粗定位階段,可能出現(xiàn)在區(qū)域圖片內(nèi)沒有包含完整的整條船只,只包含一部分。因此需要根據(jù)局部顯著性圖來判斷。判斷準則如下:若一子連通域的外接矩形的邊界(上、下、左、右)與該區(qū)域圖片相應(yīng)邊界的距離小于預(yù)設(shè)的距離閥值border_dist_min,則判斷該方向邊界(上、下、左、右)有被隔斷的船舶,其中border_dist_min是最小距離閾值常量。
s56、如含有被截斷的船舶,對確認含有截斷船舶的子連通域所處的區(qū)域圖片,進行船舶生長算法直到該區(qū)域圖片內(nèi)的子連通域不包 含被截斷的船舶。
船舶生長算法是不斷生長區(qū)域圖片的尺寸,直至確認最終生長完成的區(qū)域圖片中的所有子連通域都包含完整的整個船舶。
船舶生長算法具體包含如下步驟:
對當前區(qū)域圖片內(nèi)的每一個子連通域外接矩形框的上邊界進行判斷,若該方向有船舶被隔斷,則將此區(qū)域圖片上邊界向上生長ratio*rect_height。此處ratio是區(qū)域生長速率,rect_height是候選目標區(qū)域的高度。同理,進行下、左、右邊界相同的邊界生長操作。
判斷邊界生長完成后的區(qū)域圖片的面積是否大于一預(yù)設(shè)面積閥值,如大于則結(jié)束流程,否則對邊界生長完成的子連通域進行局部顯著性計算及閾值處理,判斷局部顯著性計算及閾值處理后的子連通域是否包含被截斷的船舶,不包含則將補全的區(qū)域圖片內(nèi)計算得到的所有大于最小面積閾值的子連通域復(fù)制到結(jié)果圖,并返回步驟s51。
本發(fā)明實施例一直接利用帶有高光學(xué)變倍的監(jiān)控攝像鏡頭捕獲的場景圖片進行分析,實現(xiàn)船舶的粗定位和精確的輪廓提取,算法不僅復(fù)雜度低且檢測效果和計算速度都表現(xiàn)很好。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
(1)提供的算法是全自動的,無需如gps定位、視頻幀中船體坐標預(yù)定義等先驗信息。
(2)具有高魯棒性,解決了在清晨或黃昏江面光線昏暗及復(fù)雜場景下如中午江面出現(xiàn)大面積高反光水波紋場景下的船舶分割,有效解決水面高亮度反射所造成的顯著性偽目標。
(3)準確度高,采用先粗定位,后精定位,多種顯著性分析方法相結(jié)合的方式來進行目標的精確輪廓檢測與分割,可以得到精細的船舶輪廓,定位準確。
(4)對工程監(jiān)控攝像頭配置要求低,即普通帶光學(xué)變倍監(jiān)控相機即可滿足要求,無需紅外線等特殊功能。
本發(fā)明實施例一不僅用于港口海面船舶輪廓區(qū)域的精確提取,達到精定位的目的。此外根據(jù)所提取的輪廓及連通域可以完成對船舶的計數(shù)。由于本發(fā)明實施例一提供的算法魯棒性高,對前后幀檢測到的船舶結(jié)合攝像頭的視場角和放大倍數(shù)信息可以用于測量船舶的航速、航向。
實施例二
本發(fā)明實施例二提出一種自動港口貨船的提取裝置,如圖5所示,所述裝置包括:
獲取模塊10,用于獲取場景圖像的視頻幀;
計算模塊20,用于根據(jù)獲取的視頻幀計算全局顯著性圖;
處理模塊30,用于對全局顯著性圖進行閾值處理和連通域提取,得到視頻幀中各個連通域?qū)?yīng)的區(qū)域圖片;
過濾模塊40,用于遍歷區(qū)域圖片,根據(jù)預(yù)設(shè)的過濾條件濾除不包括船舶的區(qū)域圖片;
分析模塊50,用于對過濾后的區(qū)域圖片進行局部顯著性分析,得到港口貨船的結(jié)果圖。
本發(fā)明實施例二的工作原理具體如下:
獲取模塊10通過監(jiān)控攝像頭得到港口的實時視頻,進行預(yù)處理得到場景圖像的視頻幀。預(yù)處理主要是確定監(jiān)測區(qū)域,包括去除江岸(海岸)部分,只保留江面(海面)部分。
計算模塊20可采用譜殘差顯著性圖sr計算全局顯著性圖,計算過程如下:
(1)將獲取的視頻幀轉(zhuǎn)換得到灰度圖i(x,y),計算其二維離散傅里葉變換fft(i(x,y)),再計算得到相角譜p(u,v)和頻譜a(u,v)。
(2)對頻譜a(u,v)取對數(shù),得到log譜l(u,v)=log(a(u,v))。
(3)對log譜進行局部均值濾波,濾波模板為h(u,v),得到平均頻譜m(u,v)=h(u,v)*l(u,v)。
(4)計算log譜和平均頻譜的差,得到譜殘差r(u,v)=l(u,v)-m(u,v)。
(5)計算譜殘差r(u,v)的自然指數(shù),得到e(u,v)=exp(r(u,v))。
(6)結(jié)合e(u,v)與相角譜p(u,v)得到復(fù)數(shù)二維矩陣c(u,v)=e(u,v)*cos(p(u,v))+i*e(u,v)*sin(p(u,v))。
(7)對c(u,v)其進行傅里葉反變換得到d(x,y)=ifft(c(u,v))。
(8)對d(x,y)進行高斯模糊得到顯著性圖g(x,y),再對g(x,y)像素值縮放至[0,1]范圍,得到全局顯著性圖sr(x,y)。
可進一步對全局顯著性圖sr進行灰度變換,目的在于改變?nèi)诛@著性圖sr的平均灰度值,以便后續(xù)二值處理得到的高亮部分盡可能完整的包含船舶區(qū)域。在某些場景,如清晨或者黃昏時,由于光線 較暗,得到的全局顯著性圖sr的絕大部分像素點集中在低亮度部分,此時若不經(jīng)過任何處理,直接進行閾值處理得到的區(qū)域僅能包含少數(shù)絕對顯眼的船舶。
完成灰度變換首先計算全局顯著性圖sr的均值sr_mean,以及灰度放大倍數(shù)ratio=dst_mean/sr_mean,dst_mean為根據(jù)測試視頻樣本確定的表現(xiàn)較好的均值常量?;叶茸儞Q得到的全局顯著圖sr’計算如下,若sr(x,y)*ratio<=255,則sr’(x,y)=sr(x,y);否則sr’(x,y)=255。
處理模塊30對全局顯著性圖sr’(x,y)進行閾值處理和連通域提取,得到視頻幀中各個連通域?qū)?yīng)的區(qū)域圖片。閾值處理可以采用基本全局閾值處理或者ostu等,得到二值圖threglobal。提取二值圖threglobal的所有連通域,得到船舶目標的粗定位區(qū)域,計算每一個連通域的外接矩形框,得到這些矩形框?qū)?yīng)于原輸入的視頻幀中的區(qū)域圖片,完成船舶的粗定位。
由于進行二值圖threglobal的連通域提取得到各連通域的外接矩形框contour_rect,在某些復(fù)雜場景如中午水面大面積反光時,得到的連通域可能是一整塊的反光水面而不含任何船舶,或者在較暗的場景得到的連通域只是平靜的水面。因此,過濾模塊40可根據(jù)預(yù)設(shè)的過濾條件濾波不包括船舶的區(qū)域圖片,如先以連通域外接矩形框contour_rect的尺寸為過濾條件,濾除矩形寬度(rect_width)小于最小寬度值(width_min)或大于最大寬度值(width_max),且矩形高度(rect_height)小于最小高度值(height_min)或大于最大高度值 (height_max)的區(qū)域圖片,再計算連通域外接矩形框contour_rect在初始的視頻幀中對應(yīng)區(qū)域的方差region_var,濾除方差region_var小于最小方差值(var_min)或大于最大方差值(var_max)的區(qū)域圖片。其中,width_min、width_max、height_min、height_max、var_min和var_max是閾值常量。
分析模塊50再對過濾后的區(qū)域圖片進行局部顯著性分析。如圖6所示,分析模塊50包括獲取單元511、計算單元512、處理單元513、水波紋濾除單元514、復(fù)制單元515、船舶生長單元516,具體地:
獲取單元511獲取一過濾后的區(qū)域圖片后,計算單元512計算區(qū)域圖片的局部顯著性圖,局部顯著性圖可利用高低頻率信息,得到頻率調(diào)諧顯著性圖,這種顯著性算法對多種復(fù)雜場景的穩(wěn)定性和對邊緣提取的精確度上均表現(xiàn)優(yōu)異。如圖7所示,計算單元512包括轉(zhuǎn)換子單元5121、平均色計算子單元5122、顯著性圖計算子單元5123和歸一化子單元5124。轉(zhuǎn)換子單元5121將獲取的區(qū)域圖片轉(zhuǎn)換到lab彩色空間圖lab(x,y),平均色計算子單元5122計算lab(x,y)的平均色,得到平均色圖像meanimg(x,y),以及計算lab(x,y)的高斯模糊圖像g(x,y),顯著性圖子計算單元5123計算lab空間內(nèi)m(x,y)與g(x,y)圖中(x,y)坐標元素的色差,即像素值向量<l,a,b>的歐氏距離,得到顯著性圖s(x,y),像素值標準化子單元5124將s(x,y)像素值縮放至[0,1]范圍,得到局部顯著性圖ft(x,y)。處理單元513對局部顯著性圖ft(x,y)進行灰度變換和閾值處理,得到區(qū)域二值圖。
水波紋濾除單元514提取區(qū)域二值圖內(nèi)所有子連通域,進行水波 紋濾除,確認含有船舶的子連通域。水波紋濾除主要目的在于判斷子連通域是否只包含高反光水波,即偽船舶候選目標區(qū)域,如果存在這樣的子連通域則濾除,具體地,如圖8所示,水波紋濾除單元514包括記錄子單元5141和確認子單元5142,記錄子單元5141遍歷所有子連通域,記錄所有面積大于或等于預(yù)設(shè)的最小面積閾值的子連通域的面積,剔除面積小于最小面積閾值的子連通域,其中最小面積閾值被設(shè)定為最小可檢測船舶面積常量。確認子單元5142將已記錄面積大于或等于最小面積閾值的子連通域按面積從大到小排序。若子連通域的數(shù)量小于預(yù)設(shè)的數(shù)量值,且其中最大面積的子連通域與所在區(qū)域圖片的比例大于預(yù)設(shè)的比例值時,將該區(qū)域圖片作為確認含有船舶的子區(qū)域,該區(qū)域內(nèi)被記錄的子連通域即被認為是船舶(完整船舶,或部分船舶)。不滿足以上條件,則判斷該區(qū)域圖片是水波紋區(qū)域,不含船舶,刪除此候選目標區(qū)域。
由于在船舶的粗定位階段,可能出現(xiàn)在區(qū)域圖片內(nèi)沒有包含完整的整條船只,只包含一部分。因此需要根據(jù)局部顯著性圖來判斷。判斷準則如下:若一子連通域的外接矩形的邊界(上、下、左、右)與該區(qū)域圖片相應(yīng)邊界的距離小于預(yù)設(shè)的距離值border_dist_min,則判斷該方向邊界(上、下、左、右)有被隔斷的船舶,其中border_dist_min是最小距離閾值常量。
當含有船舶的子連通域不包含被截斷的船舶時,復(fù)制單元515將該子連通域復(fù)制至預(yù)設(shè)的結(jié)果圖,并返回獲取單元511獲取另一過濾后的區(qū)域圖片,重復(fù)上述過程直到遍歷所有過濾后的區(qū)域圖片。
當含有船舶的子連通域包含被截斷的船舶時,船舶生長單元516對該子連通域進行船舶生長計算,所述復(fù)制單元515還用于將該區(qū)域圖片內(nèi)的子連通域復(fù)制至結(jié)果圖,并返回獲取單元511獲取另一過濾后的區(qū)域圖片。
具體地,船舶生長單元516對每一個子連通域外接矩形框的上邊界進行判斷,若該方向有船舶被隔斷,則將此區(qū)域圖片上邊界向上生長ratio*rect_height。此處ratio是區(qū)域生長速率,rect_height是候選目標區(qū)域的高度。同理,進行下、左、右邊界相同的邊界生長操作。
判斷邊界生長完成后的區(qū)域圖片的面積是否大于一預(yù)設(shè)面積閥值,如大于則結(jié)束,否則對邊界生長完成的子連通域進行局部顯著性計算及閾值處理
判斷局部顯著性計算及閾值處理后的子連通域是否包含被截斷的船舶,不包含則復(fù)制單元515將補全的區(qū)域圖片內(nèi)計算得到的所有大于最小面積閾值的子連通域復(fù)制到結(jié)果圖,并返回獲取單元511獲取另一過濾后的區(qū)域圖片。
本發(fā)明實施例二直接利用帶有高光學(xué)變倍的監(jiān)控攝像鏡頭捕獲的場景圖片進行分析,實現(xiàn)船舶的粗定位和精確的輪廓提取,算法不僅復(fù)雜度低且檢測效果和計算速度都表現(xiàn)很好。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
(1)提供的算法是全自動的,無需如gps定位、視頻幀中船體坐標預(yù)定義等先驗信息。
(2)具有高魯棒性,解決了在清晨或黃昏江面光線昏暗及復(fù)雜 場景下如中午江面出現(xiàn)大面積高反光水波紋場景下的船舶分割,有效解決水面高亮度反射所造成的顯著性偽目標。
(3)準確度高,采用先粗定位,后精定位,多種顯著性分析方法相結(jié)合的方式來進行目標的精確輪廓檢測與分割,可以得到精細的船舶輪廓,定位準確。
(4)對工程監(jiān)控攝像頭配置要求低,即普通帶光學(xué)變倍監(jiān)控相機即可滿足要求,無需紅外線等特殊功能。
本發(fā)明實施例二不僅用于港口海面船舶輪廓區(qū)域的精確提取,達到精定位的目的。此外根據(jù)所提取的輪廓及連通域可以完成對船舶的計數(shù)。由于本發(fā)明實施例二提供的算法魯棒性高,對前后幀檢測到的船舶結(jié)合攝像頭的視場角和放大倍數(shù)信息可以用于測量船舶的航速、航向。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。