新四季網

一種針對多類圖像的多類輪廓跟蹤方法、裝置和介質與流程

2024-04-16 02:43:05



1.本發明涉及工業生產輪廓跟蹤技術領域,特別涉及一種針對多類圖像的多類輪廓跟蹤方法、裝置和介質。


背景技術:

2.輪廓跟蹤,有時也稱為邊界跟蹤,是圖像處理的基本技術之一。其目的是獲取一幅圖像中目標對象的輪廓信息,根據輪廓信息可以更精確計算得到目標對象的幾何特徵,如角、面積、周長、曲率、中心、偏心、投影。輪廓跟蹤算法是圖像壓縮、物體形狀表示、物體識別和基於輪廓的區域分析等圖像處理的基礎,具有廣泛的工業應用。
3.隨著科學技術的不斷發展,圖像處理的圖像尺寸越來越大,同時提取圖像中的目標對象類別越來越多,以及精度要求越來越高。近年來基於深度學習的圖像分割技術使得圖像更容易更精細地分割成不同類別,隨之圖像處理的應用也更加廣泛。工業視覺檢測應用場景有幾個重要特徵:實時性要求高,運行穩定性要求高,準確性要求高,設備功耗要求低且成本敏感。這裡的實時性要求不僅是對算法本身的運行速度要求,還包括數據傳輸的低延遲性要求,譬如圖像數據的傳輸需要在1ms以內完成。由於工業產線安裝空間限制,長時間不間斷工作和成本敏感,對算法的性能是個很大的挑戰。
4.現有的多類圖像跟蹤算法在應用於工業應用場景時,若使用並行計算時則節點的信息傳送不可避免地會產生程序運行時的延遲,無法很好的滿足工業應用中的實時性、低延時的檢測要求。同時,工業應用考慮到成本的投入,在設備的性能上往往有很大的限制,大多情況下都沒有進行並行計算的條件。但是現有算法的跟蹤方式在串行的機器上又存在明顯缺陷:計算複雜度冗餘,內存開銷大。因此將輪廓跟蹤算法應用於工業生產線中,目前已有的算法,特別是針對多類圖像的輪廓跟蹤算法,難以適應在線實時和準確檢測的要求。


技術實現要素:

5.本發明要解決的技術問題,在於提供一種針對多類圖像的多類輪廓跟蹤方法、裝置和介質,對多類圖像僅需要一次掃描,就可以快速準確地跟蹤複雜的輪廓信息,並且能夠區分輪廓類別,能夠快速準確地進行多類圖像輪廓跟蹤,容易應用到工業生產中低算力的設備中。
6.第一方面,本發明提供了一種針對多類圖像的多類輪廓跟蹤方法,包括:分割賦值過程、起始點獲取過程、輪廓點跟蹤過程以及終止執行過程;
7.所述分割賦值過程包括:對圖像進行圖像分割,得到多類圖像,將所述多類圖像的像素點劃分背景像素以及至少一個第n類像素點,其中,n為整數,且多類圖像的邊框一圈像素恆為背景像素;將背景像素賦值為第一設定值,將第n類像素點分別賦值為第n+1設定值;
8.所述起始點獲取過程包括:按從上到下、從左到右的順序對賦值後的多類圖像進行逐像素掃描;當通過比較左右相鄰兩個像素點的值找到外輪廓起始點或內輪廓起始點時,掃描中斷,將找到外輪廓起始點或內輪廓起始點作為跟蹤起始點進行輪廓跟蹤;
9.所述輪廓點跟蹤過程包括:依指定順序檢測該起始點周圍指定方向的像素點,將找到的第一個同類像素點e作為該輪廓的跟蹤終止點,如果找不到滿足條件的像素點e,則說明該跟蹤起始點為孤立點,執行將該跟蹤起始點的像素值設為負的類別值的操作後,從右側像素點開始恢復掃描,返回起始點獲取過程;
10.當找到跟蹤終止點後,從跟蹤起始點基於鏈碼根據預先定義的順序逐個檢測當前輪廓點b周圍的8個像素點,從0處位置的像素點出發,按順序依次檢測像素點,直至檢測到b點的同類像素點,就代表找到了下一輪廓點;然後將下一輪廓點作為當前輪廓點b繼續按順序依次檢測像素點,將所有輪廓點的像素值設為負的類別值,並將輪廓點右側的像素點被檢測過的輪廓點的flag變量修改為設定值,使其不可成為其他輪廓的跟蹤起始點;循環執行,當從跟蹤終止點追蹤到跟蹤起始點時,終止當前輪廓的跟蹤並得到完整的輪廓,然後從輪廓起始點的右側像素點開始恢復掃描,返回起始點獲取過程,用同樣的方法找到其它輪廓的跟蹤起始點並進行輪廓跟蹤;
11.所述終止執行過程包括:當掃描到多類圖像的最後一個像素點時,結束掃描,得到輪廓跟蹤結果。
12.進一步地,所述起始點獲取過程中,比較左右相鄰兩個像素點的值找到外輪廓起始點或內輪廓起始點,具體包括:
13.判斷兩個連續像素點p
i,j
與p
i,j-1
或者p
i,j
與p
i,j+1
的值是否滿足如下條件:
14.條件1:t
i,j
≠t
i,j-1
,且f
i,j
》0;
15.條件2:t
i,j
≠t
i,j+1
,且f
i,j
》0;
16.條件3:t
i,j
≠t
i,j+1
,且p
i,j
不為flag-point;
17.其中,t
i,j
為當前像素點p
i,j
的類別值,是一個非負的值,並且不會改變;f
i,j
為p
i,j
的像素值;flag-point表示flag變量的值不為初始值;
18.當僅滿足條件1時,像素點p
i,j
為外輪廓起始點;當滿足條件2或條件3時,像素點p
i,j
為內輪廓起始點;當同時滿足條件1和條件2時,將像素點p
i,j
僅作為外輪廓起始點。
19.進一步地,所述起始點獲取過程中,找到內輪廓起始點或外輪廓起始點時,若輪廓起始點為外輪廓起始點,則將該像素點的p-code設置為7,若輪廓起始點為內輪廓起始點,則將該像素點的p-code設置為3,所述p-code為當前鏈碼,表示前一個輪廓點到當前輪廓點的方向。
20.進一步地,所述輪廓點跟蹤過程中,依次檢測該起始點右方、右下方、下方、左下方、左方的像素點,將找到的第一個同類像素點e作為該輪廓的跟蹤終止點;當從一輪廓點追蹤到跟蹤起始點時,判斷該輪廓點是否為跟蹤終止點,如果不是跟蹤終止點,則繼續當前輪廓的跟蹤,如果是跟蹤終止點,則終止當前輪廓的跟蹤。
21.第二方面,本發明提供了一種針對多類圖像的多類輪廓跟蹤裝置,包括:分割賦值模塊、起始點獲取模塊、輪廓點跟蹤模塊以及終止執行模塊;
22.所述分割賦值模塊,用於對圖像進行圖像分割,得到多類圖像,將所述多類圖像的像素點劃分背景像素以及至少一個第n類像素點,其中,n為實數,且多類圖像的邊框一圈像素恆為背景像素;將背景像素賦值為第一設定值,將第n類像素點分別賦值為第n+1設定值;
23.所述起始點獲取模塊,用於按從上到下、從左到右的順序對賦值後的多類圖像進行逐像素掃描;當通過比較左右相鄰兩個像素點的值找到外輪廓起始點或內輪廓起始點
時,掃描中斷,將找到外輪廓起始點或內輪廓起始點作為跟蹤起始點進行輪廓跟蹤;
24.所述輪廓點跟蹤模塊,用於依指定順序檢測該起始點周圍指定方向的像素點,將找到的第一個同類像素點e作為該輪廓的跟蹤終止點,如果找不到滿足條件的像素點e,則說明該跟蹤起始點為孤立點,執行將該跟蹤起始點的像素值設為負的類別值的操作後,從右側像素點開始恢復掃描;
25.當找到跟蹤終止點後,從跟蹤起始點基於鏈碼根據預先定義的順序逐個檢測當前輪廓點b周圍的8個像素點,從0處位置的像素點出發,按順序依次檢測像素點,直至檢測到b點的同類像素點,就代表找到了下一輪廓點;然後將下一輪廓點作為當前輪廓點b繼續按順序依次檢測像素點,將所有輪廓點的像素值設為負的類別值,並將輪廓點右側的像素點被檢測過的輪廓點的flag變量修改為設定值,使其不可成為其他輪廓的跟蹤起始點;循環執行,當從跟蹤終止點追蹤到跟蹤起始點時,終止當前輪廓的跟蹤並得到完整的輪廓,然後從輪廓起始點的右側像素點開始恢復掃描,返回起始點獲取模塊,用同樣的方法找到其它輪廓的跟蹤起始點並進行輪廓跟蹤;
26.所述終止執行模塊,用於當掃描到多類圖像的最後一個像素點時,結束掃描,得到輪廓跟蹤結果。
27.進一步地,所述起始點獲取模塊中,比較左右相鄰兩個像素點的值找到外輪廓起始點或內輪廓起始點,具體包括:
28.判斷兩個連續像素點p
i,j
與p
i,j-1
或者p
i,j
與p
i,j+1
的值是否滿足如下條件:
29.條件1:t
i,j
≠t
i,j-1
,且f
i,j
》0;
30.條件2:t
i,j
≠t
i,j+1
,且f
i,j
》0;
31.條件3:t
i,j
≠t
i,j+1
,且p
i,j
不為flag-point;
32.其中,t
i,j
為當前像素點p
i,j
的類別值,是一個非負的值,並且不會改變;f
i,j
為p
i,j
的像素值;flag-point表示flag變量的值不為初始值;
33.當僅滿足條件1時,像素點p
i,j
為外輪廓起始點;當滿足條件2或條件3時,像素點p
i,j
為內輪廓起始點;當同時滿足條件1和條件2時,將像素點p
i,j
僅作為外輪廓起始點。
34.進一步地,所述起始點獲取模塊中,找到內輪廓起始點或外輪廓起始點時,若輪廓起始點為外輪廓起始點,則將該像素點的p-code設置為7,若輪廓起始點為內輪廓起始點,則將該像素點的p-code設置為3,所述p-code為當前鏈碼,表示前一個輪廓點到當前輪廓點的方向。
35.進一步地,所述輪廓點跟蹤模塊中,依次檢測該起始點右方、右下方、下方、左下方、左方的像素點,將找到的第一個同類像素點e作為該輪廓的跟蹤終止點;當從一輪廓點追蹤到跟蹤起始點時,判斷該輪廓點是否為跟蹤終止點,如果不是跟蹤終止點,則繼續當前輪廓的跟蹤,如果是跟蹤終止點,則終止當前輪廓的跟蹤。
36.第三方面,本發明提供了一種計算機可讀存儲介質,其上存儲有電腦程式,該程序被處理器執行時實現第一方面所述的方法。
37.本發明實施例中提供的技術方案,至少具有如下技術效果或優點:
38.1、只需要對多類圖像進行一次掃描,就能夠快速且準確的得到圖像中所有不同類別的目標對象的內輪廓與外輪廓的信息,從而不同類連通域之間的包含、重疊等關係不會丟失,可以保障輪廓信息的準確性,同時算法時間和空間複雜度低,適合低算力的設備,方
便移植到現有的低功耗工業設備;
39.2、當一個輪廓點被跟蹤過後,該點像素值設置為負的類別值,從而將將已跟蹤過的輪廓點區分出來,避免重複跟蹤同一個輪廓;
40.3、通過flag變量的標記方法保證了此算法不會丟失任何輪廓,也不會重複跟蹤同一輪廓,並且能夠區分不同的類別。
41.上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。
附圖說明
42.下面參照附圖結合實施例對本發明作進一步的說明。
43.圖1為本發明實施例連通關係的四連通與八連通示意圖;
44.圖2為本發明實施例多類圖像的像素示意圖;
45.圖3為線纜的缺陷檢測圖像的相機原圖/二值圖像/多類圖像示意圖;
46.圖4為本發明實施例孔洞連通域與內輪廓示意圖;
47.圖5為現有技術中鏈碼示意圖;
48.圖6為本發明實施例輪廓跟蹤的8種不同檢測順序示意圖;
49.圖7為圖2像素示意圖的1-連通域外輪廓被完整跟蹤後的結果像素示意圖;
50.圖8為本發明實施例一中方法中的流程示意圖;
51.圖9為本發明實施例二中裝置的結構示意圖。
具體實施方式
52.下面將結合附圖和具體實施方式對本發明的技術方案進行清楚、完整地描述。基於發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
53.在本發明的描述中,需要說明的是,術語「中心」、「上」、「下」、「左」、「右」、「內」、「外」等指示的方位或位置關係為基於附圖所示的方位或位置關係,僅是為了便於描述本發明和簡化描述,不能理解為對本發明的限制。
54.本發明實施例中的技術方案,總體思路如下:
55.為了解決現有輪廓跟蹤算法難以實現多類圖像的在線實時和準確檢測的問題,本發明提出了一種針對多類圖像的高效且準確的多類輪廓跟蹤方法,此方法只需要對原多類圖像進行一次掃描,就能夠得到全部類別的輪廓信息。本發明的多類輪廓跟蹤算法時間和空間複雜度低,適合低算力的設備,方便移植到現有的低功耗工業設備。
56.考慮一張尺寸為h
×
w的圖像,像素點記為pi
,j
,其中(i,j)是一個像素的坐標,代表該像素位於圖像中第i行第j列的位置,圖像最左上角的位置為(1,1)。f
i,j
代表像素點p
i,j
的像素值。本發明中涉及的連通關係有四連通和八連通兩種,如圖1所示。其餘的一些定義如下。
57.定義1(多類圖像):圖像中每個像素點有其唯一歸屬的類別,用t
i,j
記為像素點p
i,j
的類別值,0≤t
i,j
≤255,具有相同類別值的像素點稱為同類像素點。類別值為0的像素點稱
為背景像素,其餘的像素點稱為目標對象像素。一張初始的多類圖像中,每個像素的像素值等於其類別值。圖2描述了一個多類圖像的像素示意圖,每個方格表示一個像素,像素值為0的像素代表背景。其餘四種表示四種類別,分別用1,2,3,4表示。輪廓跟蹤就是要找出所有具有相同數字的區域的輪廓。
58.多類圖像是本發明需要直接進行輪廓跟蹤的圖像,與二值圖像有很大的區別。為了更好地對多類圖像進行展示,所以在需要展現多類圖像時,賦予不同類別的像素以不同的顏色作為區分,稱為多類圖像示意圖。圖3展示了一張工業缺陷檢測中的線纜的相機原圖與它對應的二值圖像和多類圖像示意圖。圖3(a)是相機原圖,圖3(b)是圖3(a)對應的二值圖像,圖3(c)是圖3(a)進行圖像分割後得到的多類圖像示意圖,每一種顏色代表了一個類別。
59.定義2(k-連通域):在四(八)連通的前提下,所有相互連通的同類像素點構成一個四(八)連通的k-連通域,其中k的值就是構成該連通域的像素點的共同的類別值,0≤k≤255。特別的,如果一個非零像素點沒有任何同類鄰居點,稱這個像素點為孤立點,並將其視作一個獨立的k-連通域。以圖2為例,圖中類別值為1的像素點,若以八連通的方式為前提則組成一個1-連通域;若以四連通的方式為前提則組成兩個1-連通域。因此規定,背景像素點總是以四連通的方式相連通,構成背景連通域。對於一個給定的八連通的非零k-連通域s,該連通域s中最外側的像素點稱為外輪廓像素點,s中全部外輪廓像素點的集合構成s的外輪廓。
60.定義3(包圍):對於給定的兩個連通域s1和s2,其中s1是八連通的k
1-連通域,s2是四連通的k
2-連通域,k1≠k2,k1≠0。首先滿足s2中至少有一個像素點與s1中的某個像素點有公共邊,其次滿足從s2中的任意一個像素點出發,以四連通的方向為路徑向整幅圖像的邊框延申,所有的路徑中都會經過s1中的像素點,則稱為s1包圍s2。
61.定義4(孔洞連通域和內輪廓):當一個八連通的非零k
1-連通域s1包圍一個四連通的k
2-連通域s2時,s2和其他所有與s2有公共邊的四連通的連通域s3,s4,
……
,sn組成一個孔洞區域h1,然後,h1和其他所有與h1有公共邊的四連通的連通域s
n+1

……
,sm組成孔洞區域h2,依次類推,最後一定能夠得到一個無法再擴大的孔洞區域h
t
,否則與包圍關係相矛盾。其中所有四連通的連通域si的類別值均不同於s1,i≠1。此時,稱h
t
為s1的一個孔洞連通域,而s1中與該孔洞連通域具有公共邊的所有像素點集合構成s1的一個內輪廓。圖4展示了圖2示意圖中的全部孔洞連通域和內輪廓。圖中陰影部分表示孔洞連通域,像素值為負數的像素點表示內輪廓像素點。圖4(a)和圖4(b)中是1-連通域的兩個不同的內輪廓,圖4(c)中是3-連通域的內輪廓。
62.根據以上定義,可以看到輪廓像素點以八連通的方式構成閉合輪廓,且背景像素點均不是輪廓像素點。本發明所提出的多類輪廓跟蹤算法目標就是對一張多類圖像進行一次掃描之後,就能夠快速且準確的得到圖像中所有不同類別的目標對象的內輪廓與外輪廓的信息。利用在工業視覺檢測中便能夠更加精確地獲取缺陷的信息。
63.本發明提出的多類輪廓跟蹤算法主要分為三個部分。第一部分是如何確定一個輪廓的跟蹤起始點。在本發明後續描述中,點的概念等同於像素的概念。第二部分是跟蹤策略,即如何從當前輪廓點跟蹤至下一輪廓點。最後部分則是確定跟蹤終止條件,結束當前跟蹤並得到一個完整的輪廓。圖像的掃描順序為從上到下,從左到右,逐像素掃描。當掃描至
像素p
i,j
並發現其為某一輪廓的起始點時,掃描中斷,然後開始進行輪廓跟蹤,當跟蹤滿足終止條件時,結束當前跟蹤,並從像素點p
i,j+1
恢復掃描。當掃描到達圖像右下角時,算法終止。不失一般性,本發明假設所處理的多類圖像的邊框一周像素恆為背景像素。
64.通過比較左右相鄰兩個像素點的值,能夠找到新的輪廓。而為了避免重複跟蹤同一個輪廓,通常採用一些特殊的標記法將已跟蹤過的輪廓點區分出來。本發明提出一種新的標記方法:當一個輪廓點p
x,y
被跟蹤過後,該點像素值設置為負的類別值,即f
x,y
=-t
x,y
。同時,給輪廓點p
x,y
設置一個額外的bool類型的flag變量,初始值為0,當該輪廓點右側的像素點p
x,y+1
在跟蹤過程中被檢測過時,說明該點不可能再成為其他輪廓的跟蹤起始點,故將該輪廓點p
x,y
的flag變量的值置為1以示區分。flag變量的值為1的輪廓點稱為「flag-point」。這種標記方法保證了此算法不會丟失任何輪廓,也不會重複跟蹤同一輪廓,並且能夠區分不同的類別。
65.在掃描的過程中,如果兩個連續像素點p
i,j
與p
i,j-1
或者p
i,j
與p
i,j+1
的值滿足如下幾種情況的變化條件之一,那麼像素點p
i,j
為一個輪廓的跟蹤起始點。其中f
i,j
為p
i,j
的像素值,在跟蹤過程中會有正負值的變化。t
i,j
為當前像素點p
i,j
的類別值,是一個非負的值,並且不會改變。
66.條件1:t
i,j
≠t
i,j-1
,且f
i,j
》0;則p
i,j
為外輪廓起始點。
67.條件2:t
i,j
≠t
i,j+1
,且f
i,j
》0;則p
i,j
為內輪廓起始點。
68.條件3:t
i,j
≠t
i,j+1
,且p
i,j
不為flag-point;則p
i,j
為內輪廓起始點。
69.當同時滿足條件1和條件2時,將像素點p
i,j
僅作為外輪廓起始點。
70.在從當前輪廓點跟蹤至下一個輪廓點的過程中,跟蹤器根據預先定義的順序逐個檢測像素點。本發明的跟蹤算法基於鏈碼,如圖5所示的方向碼就是鏈碼。由於每個像素最多只有8個鄰居,所以用3個位來指示下一個輪廓像素的方向代碼是足夠的。
71.本發明實施例中採用的檢測順序如圖6所示,每個方格代表一個像素,b為當前輪廓點,a為前一個輪廓點,當前鏈碼p-code表示前一個輪廓點到當前輪廓點的方向,記為a

b,其數值與圖5所示的鏈碼相對應。圖6中的數字0

6(0

5)代表跟蹤器檢測像素點的順序。每一次跟蹤到新的輪廓點時,根據p-code的不同,找到對應的順序圖,跟蹤器從0處位置的像素點出發,按0

6(0

5)的順序依次檢測像素點,直至檢測到b點的同類像素點,就代表找到了下一輪廓點。p-code隨即更新。此外,已證明標識x位置的像素點必然不是輪廓點b的同類像素點,否則,根據逆時針的檢測順序,對於先前輪廓點a來說,當前輪廓點應該是x位置的像素點,而不是b點。由於對於輪廓起始點來說不存在先前輪廓點,故規定在外輪廓起始點和內輪廓起始點跟蹤開始時,p-code分別設置默認值7和3,以保證輪廓跟蹤能夠正常啟動。
72.具體的跟蹤策略為:每當檢測出一個新的輪廓像素點b
i,j
時,該點的像素值置為負的類別值,也即f
i,j
=-t
i,j
,然後根據當前鏈碼p-code的值,按照圖6中對應的檢測順序進行檢測,直至找到下一輪廓點,並更新p-code。在這個過程中,如果像素點p
i,j+1
經過了檢測,則當前輪廓點b
i,j
的flag變量的值更改為1。特別注意,當p-code的值為2或者3時,由於當前輪廓點b
i,j
的右側像素點p
i,j+1
不可能是下一個輪廓點,所以此時需要將當前輪廓點b
i,j
的flag變量的值也更改為1,表示其右側像素點已經被檢測過了。如此循環,直到跟蹤完一個完整的輪廓。
73.總體的多類圖像的輪廓跟蹤過程見以下實施例。
74.實施例一
75.本實施例提供一種針對多類圖像的多類輪廓跟蹤方法,如圖7所示,包括:分割賦值過程、起始點獲取過程、輪廓點跟蹤過程以及終止執行過程;
76.所述分割賦值過程包括:對圖像進行圖像分割,得到多類圖像,將所述多類圖像的像素點劃分背景像素以及至少一個第n類像素點,其中,n為整數,且多類圖像的邊框一圈像素恆為背景像素(可以在多類圖像的周圍加一圈背景像素,或者將邊框一圈像素直接設為背景像素);將背景像素賦值為第一設定值,將第n類像素點分別賦值為第n+1設定值(比如,圖2中除背景像素以外有四類像素點,背景像素賦值為0,其它4類像素點分別賦值為1、2、3、4);
77.所述起始點獲取過程包括:按從上到下、從左到右的順序對賦值後的多類圖像進行逐像素掃描(設定這一掃描順序是為了方便後續方法中針對每一像素點及其周圍的像素點方位的描述,不能理解為對本發明的限制;掃描順序也可以更換為其它順序,比如從下到上、從右到左,或者任意能保證像素按順序逐一被掃描到的順序組合,但相對應的點的比較方式、定位方式和鏈碼的順序就需要相應作出調整);當通過比較左右相鄰兩個像素點的值找到外輪廓起始點或內輪廓起始點時,掃描中斷,將找到外輪廓起始點或內輪廓起始點作為跟蹤起始點進行輪廓跟蹤;
78.所述輪廓點跟蹤過程包括:依指定順序檢測該起始點周圍指定方向的像素點,將找到的第一個同類像素點e作為該輪廓的跟蹤終止點,如果找不到滿足條件的像素點e,則說明該跟蹤起始點為孤立點,執行將該跟蹤起始點的像素值設為負的類別值的操作後,從右側像素點開始恢復掃描,返回起始點獲取過程;
79.當找到跟蹤終止點後,從跟蹤起始點基於鏈碼根據預先定義的順序逐個檢測當前輪廓點b周圍的8個像素點,從0處位置的像素點出發,按順序依次檢測像素點,直至檢測到b點的同類像素點,就代表找到了下一輪廓點;然後將下一輪廓點作為當前輪廓點b繼續按順序依次檢測像素點,將所有輪廓點的像素值設為負的類別值,並將輪廓點右側的像素點被檢測過的輪廓點的flag變量修改為設定值(如果有其它的像素點先於右側的像素點被檢測為同類像素點,則右側的像素點的狀態為未檢測),使其不可成為其他輪廓的跟蹤起始點(僅不能作為跟蹤起始點,但仍可以作為輪廓點);循環執行,當從跟蹤終止點追蹤到跟蹤起始點時,終止當前輪廓的跟蹤並得到完整的輪廓,然後從輪廓起始點的右側像素點開始恢復掃描,返回起始點獲取過程,用同樣的方法找到其它輪廓的跟蹤起始點並進行輪廓跟蹤;
80.所述終止執行過程包括:當掃描到多類圖像的最後一個像素點時,結束掃描,得到輪廓跟蹤結果。
81.在一種可能的實現方式中,所述起始點獲取過程中,比較左右相鄰兩個像素點的值找到外輪廓起始點或內輪廓起始點,具體包括:
82.判斷兩個連續像素點p
i,j
與p
i,j-1
或者p
i,j
與p
i,j+1
的值是否滿足如下條件:
83.條件1:t
i,j
≠t
i,j-1
,且f
i,j
》0;
84.條件2:t
i,j
≠t
i,j+1
,且f
i,j
》0;
85.條件3:t
i,j
≠t
i,j+1
,且p
i,j
不為flag-point;
86.其中,t
i,j
為當前像素點p
i,j
的類別值,是一個非負的值,並且不會改變;f
i,j
為p
i,j
的像素值;flag-point表示flag變量的值不為初始值;
87.當僅滿足條件1時,像素點p
i,j
為外輪廓起始點;當滿足條件2或條件3時,像素點p
i,j
為內輪廓起始點;當同時滿足條件1和條件2時,將像素點p
i,j
僅作為外輪廓起始點。
88.在一種可能的實現方式中,所述起始點獲取過程中,找到內輪廓起始點或外輪廓起始點時,若輪廓起始點為外輪廓起始點,則將該像素點的p-code設置為7,若輪廓起始點為內輪廓起始點,則將該像素點的p-code設置為3,所述p-code為當前鏈碼,表示前一個輪廓點到當前輪廓點的方向。
89.在一種可能的實現方式中,所述輪廓點跟蹤過程中,依次檢測該起始點右方、右下方、下方、左下方、左方的像素點,將找到的第一個同類像素點e作為該輪廓的跟蹤終止點;當從一輪廓點追蹤到跟蹤起始點時,判斷該輪廓點是否為跟蹤終止點,如果不是跟蹤終止點,則繼續當前輪廓的跟蹤,如果是跟蹤終止點,則終止當前輪廓的跟蹤。
90.在一具體實施例中,當掃描尋找到輪廓的跟蹤起始點p
i,j
時,暫停掃描,依次檢測該起始點右方、右下方、下方、左下方、左方的像素點,也就是按照圖5中鏈碼方向為0,7,6,5,4的順序依次檢測p
i,j
周圍的像素點,找到的第一個p
i,j
的同類像素點e,稱為該輪廓的跟蹤終止點。在記錄了輪廓的跟蹤終止點後,追蹤器從起始點出發進行逐一的輪廓點跟蹤,直到追蹤器從終止點e追蹤到起始點p
i,j
時,終止當前輪廓的跟蹤,得到一個完整的輪廓,然後從右側像素點p
i,j+1
開始恢復掃描。如果找不到滿足條件的像素點e,則說明該跟蹤起始點為孤立點,進行f
i,j
=-t
i,j
的操作之後,從右側像素點p
i,j+1
開始恢復掃描。
91.以圖2所示的像素示意圖為例,可以判斷出像素點p
2,4
為一個外輪廓的跟蹤起始點,像素點e
2,5
則是其對應的跟蹤終止點。應用本發明的輪廓跟蹤方法,在其第一個輪廓被完整跟蹤過後,結果如圖8所示。在圖8中,輪廓跟蹤從p
2,4
開始出發,最終從e
2,5
回到p
2,4
,得到一個完整的輪廓,即得到1-連通域的外輪廓。圖8中所有被跟蹤過的輪廓點的像素值均變化為負值,其中用圓圈圈出來的的輪廓點表示該輪廓點為flag-point。
92.基於同一發明構思,本技術還提供了與實施例一中的方法對應的裝置,詳見實施例二。
93.實施例二
94.在本實施例中提供了一種針對多類圖像的多類輪廓跟蹤裝置,如圖9所示,包括:分割賦值模塊、起始點獲取模塊、輪廓點跟蹤模塊以及終止執行模塊;
95.所述分割賦值模塊,用於對圖像進行圖像分割,得到多類圖像,將所述多類圖像的像素點劃分背景像素以及至少一個第n類像素點,其中,n為實數,且多類圖像的邊框一圈像素恆為背景像素;將背景像素賦值為第一設定值,將第n類像素點分別賦值為第n+1設定值;
96.所述起始點獲取模塊,用於按從上到下、從左到右的順序對賦值後的多類圖像進行逐像素掃描;當通過比較左右相鄰兩個像素點的值找到外輪廓起始點或內輪廓起始點時,掃描中斷,將找到外輪廓起始點或內輪廓起始點作為跟蹤起始點進行輪廓跟蹤;
97.所述輪廓點跟蹤模塊,用於依指定順序檢測該起始點周圍指定方向的像素點,將找到的第一個同類像素點e作為該輪廓的跟蹤終止點,如果找不到滿足條件的像素點e,則說明該跟蹤起始點為孤立點,執行將該跟蹤起始點的像素值設為負的類別值的操作後,從右側像素點開始恢復掃描;
98.當找到跟蹤終止點後,從跟蹤起始點基於鏈碼根據預先定義的順序逐個檢測當前
輪廓點b周圍的8個像素點,從0處位置的像素點出發,按順序依次檢測像素點,直至檢測到b點的同類像素點,就代表找到了下一輪廓點;然後將下一輪廓點作為當前輪廓點b繼續按順序依次檢測像素點,將所有輪廓點的像素值設為負的類別值,並將輪廓點右側的像素點被檢測過的輪廓點的flag變量修改為設定值,使其不可成為其他輪廓的跟蹤起始點;循環執行,當從跟蹤終止點追蹤到跟蹤起始點時,終止當前輪廓的跟蹤並得到完整的輪廓,然後從輪廓起始點的右側像素點開始恢復掃描,返回起始點獲取模塊,用同樣的方法找到其它輪廓的跟蹤起始點並進行輪廓跟蹤;
99.所述終止執行模塊,用於當掃描到多類圖像的最後一個像素點時,結束掃描,得到輪廓跟蹤結果。
100.在一種可能的實現方式中,所述起始點獲取模塊中,比較左右相鄰兩個像素點的值找到外輪廓起始點或內輪廓起始點,具體包括:
101.判斷兩個連續像素點p
i,j
與p
i,j-1
或者p
i,j
與p
i,j+1
的值是否滿足如下條件:
102.條件1:t
i,j
≠t
i,j-1
,且f
i,j
》0;
103.條件2:t
i,j
≠t
i,j+1
,且f
i,j
》0;
104.條件3:t
i,j
≠t
i,j+1
,且p
i,j
不為flag-point;
105.其中,t
i,j
為當前像素點p
i,j
的類別值,是一個非負的值,並且不會改變;f
i,j
為p
i,j
的像素值;flag-point表示flag變量的值不為初始值;
106.當僅滿足條件1時,像素點p
i,j
為外輪廓起始點;當滿足條件2或條件3時,像素點p
i,j
為內輪廓起始點;當同時滿足條件1和條件2時,將像素點p
i,j
僅作為外輪廓起始點。
107.在一種可能的實現方式中,所述起始點獲取模塊中,找到內輪廓起始點或外輪廓起始點時,若輪廓起始點為外輪廓起始點,則將該像素點的p-code設置為7,若輪廓起始點為內輪廓起始點,則將該像素點的p-code設置為3,所述p-code為當前鏈碼,表示前一個輪廓點到當前輪廓點的方向。
108.在一種可能的實現方式中,所述輪廓點跟蹤模塊中,依次檢測該起始點右方、右下方、下方、左下方、左方的像素點,將找到的第一個同類像素點e作為該輪廓的跟蹤終止點;當從一輪廓點追蹤到跟蹤起始點時,判斷輪廓點是否為跟蹤終止點,如果不是跟蹤終止點,則繼續當前輪廓的跟蹤,如果是跟蹤終止點,則終止當前輪廓的跟蹤。
109.由於本發明實施例二所介紹的裝置,為實施本發明實施例一的方法所採用的裝置,故而基於本發明實施例一所介紹的方法,本領域所屬人員能夠了解該裝置的具體結構及變形,故而在此不再贅述。凡是本發明實施例一的方法所採用的裝置都屬於本發明所欲保護的範圍。
110.基於同一發明構思,本技術提供了實施例一對應的存儲介質,詳見實施例三。
111.實施例三
112.本實施例提供一種計算機可讀存儲介質,其上存儲有電腦程式,該電腦程式被處理器執行時,可以實現實施例一中任一實施方式。
113.由於本實施例所介紹的計算機可讀存儲介質為實施本技術實施例一中方法所採用的計算機可讀存儲介質,故而基於本技術實施例一中所介紹的方法,本領域所屬技術人員能夠了解本實施例的計算機可讀存儲介質的具體實施方式以及其各種變化形式,所以在此對於該計算機可讀存儲介質如何實現本技術實施例中的方法不再詳細介紹。只要本領域
所屬技術人員實施本技術實施例中的方法所採用的計算機可讀存儲介質,都屬於本技術所欲保護的範圍。
114.本發明聚焦於工業智能製造的產品視覺檢測領域,該領域具有自身的特殊性:實時性要求高,運行穩定性要求高,準確性要求高,低延時,設備功耗要求低且成本敏感。本發明提出了一種新的多類輪廓跟蹤算法,可直接對多類圖像進行輪廓跟蹤,只需要對圖像進行一次掃描,就可以準確獲得所有類別的輪廓。
115.本發明的多類輪廓跟蹤算法在處理二值圖像時同樣適用,甚至在效率上優於一些傳統的單類跟蹤算法,而在處理多類圖像時,效率更是有顯著的提高。此算法在處理小尺寸多類圖像時可以達到個位數毫秒級別的運行速度,在處理較大尺寸的多類圖像時運行速度也是能夠保持在五十毫秒以下,並且這都是在代碼未進行優化的前提下,所以可預期此算法在優化後可以滿足工業應用中的實時性要求。除此之外,本發明的多類算法時間和空間複雜度低,適合低算力的設備,方便移植到現有的低功耗工業設備,這些特性很好的滿足了工業視覺檢測應用對算法性能的要求。
116.本發明實施例只需要對多類圖像進行一次掃描,就能夠快速且準確的得到圖像中所有不同類別的目標對象的內輪廓與外輪廓的信息,從而不同類連通域之間的包含、重疊等關係不會丟失,可以保障輪廓信息的準確性,同時算法時間和空間複雜度低,適合低算力的設備,方便移植到現有的低功耗工業設備;當一個輪廓點被跟蹤過後,該點像素值設置為負的類別值,從而將將已跟蹤過的輪廓點區分出來,避免重複跟蹤同一個輪廓;通過flag變量的標記方法保證了此算法不會丟失任何輪廓,也不會重複跟蹤同一輪廓,並且能夠區分不同的類別。
117.本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、cd-rom、光學存儲器等)上實施的電腦程式產品的形式。
118.本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
119.這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
120.這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
121.雖然以上描述了本發明的具體實施方式,但是熟悉本技術領域的技術人員應當理解,我們所描述的具體的實施例只是說明性的,而不是用於對本發明的範圍的限定,熟悉本領域的技術人員在依照本發明的精神所作的等效的修飾以及變化,都應當涵蓋在本發明的權利要求所保護的範圍內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀