本發(fā)明涉及圖像與視頻處理的領(lǐng)域,更具體地,本發(fā)明涉及一種曲線檢測(cè)方法和曲線檢測(cè)裝置。
背景技術(shù):
在圖像理解和識(shí)別的處理中,通常有價(jià)值的信息在于目標(biāo)對(duì)象的形狀。因此基于圖像的幾何曲線檢測(cè)技術(shù)作為自動(dòng)檢測(cè)的一項(xiàng)關(guān)鍵技術(shù)是計(jì)算機(jī)視覺處理的基本研究分支。這里所述的幾何曲線是由參數(shù)與公式嚴(yán)格定義下的基本矢量形狀如直線圓橢圓或基本形狀的組合如三角形矩形等。通過形狀的檢測(cè)和提取可從圖像里獲得關(guān)于目標(biāo)對(duì)象的幾何特征,這將有助于更好地解決計(jì)算機(jī)視覺問題。事實(shí)上,幾何曲線檢測(cè)技術(shù)已廣泛地用于目標(biāo)的跟蹤、對(duì)象的定位、產(chǎn)品質(zhì)量控制和工廠自動(dòng)化中。
對(duì)于幾何曲線檢測(cè),霍夫變換及其擴(kuò)展是當(dāng)前最經(jīng)典和使用最多的技術(shù)。然而,霍夫變換技術(shù)的有效性卻相對(duì)地依賴于輸入數(shù)據(jù)的質(zhì)量。在噪音大的圖像或待檢測(cè)的曲線噪音大的情況下,很難獲得精確的檢測(cè)結(jié)果。而且,霍夫變換非常耗時(shí),其復(fù)雜性隨著曲線參數(shù)個(gè)數(shù)及圖像尺寸大小而成倍增加的。
技術(shù)實(shí)現(xiàn)要素:
有鑒于上述情況,本發(fā)明提供了一種曲線檢測(cè)方法和曲線檢測(cè)裝置,其能夠顯著改善從噪音圖像中檢測(cè)曲線的能力,從而改進(jìn)曲線檢測(cè)的正確性和精度。
根據(jù)本發(fā)明一實(shí)施例,提供了一種曲線檢測(cè)方法,包括:對(duì)包含目標(biāo)的圖像進(jìn)行二值化,以獲得二值化圖像;對(duì)所述二值化圖像進(jìn)行初步曲線檢測(cè),以得到初步曲線檢測(cè)的結(jié)果;基于所述初步曲線檢測(cè)的結(jié)果,對(duì)所述圖像進(jìn)行仿真迭代檢測(cè),以得到仿真迭代檢測(cè)的結(jié)果;基于所述仿真迭代檢測(cè)的結(jié)果,確定最終的曲線檢測(cè)結(jié)果;以及輸出所述曲線檢測(cè)結(jié)果。
根據(jù)本發(fā)明一實(shí)施例,提供了一種曲線檢測(cè)裝置,包括:二值化單元,對(duì)包含目標(biāo)的圖像進(jìn)行二值化,以獲得二值化圖像;初步檢測(cè)單元,對(duì)所述二值化圖像進(jìn)行初步曲線檢測(cè),以得到初步曲線檢測(cè)的結(jié)果;仿真迭代檢測(cè)單元,基于所述初步曲線檢測(cè)的結(jié)果,對(duì)所述圖像進(jìn)行仿真迭代檢測(cè),以得到仿真迭代檢測(cè)的結(jié)果;確定單元,基于所述仿真迭代檢測(cè)的結(jié)果,確定最終的曲線檢測(cè)結(jié)果;以及輸出單元,輸出所述曲線檢測(cè)結(jié)果。
根據(jù)本發(fā)明另一實(shí)施例,提供了一種曲線檢測(cè)裝置,包括:處理器;存儲(chǔ)器;顯示器;和存儲(chǔ)在所述存儲(chǔ)器中的計(jì)算機(jī)程序指令,在所述計(jì)算機(jī)程序指令被所述處理器運(yùn)行時(shí)執(zhí)行以下步驟:對(duì)包含目標(biāo)的圖像進(jìn)行二值化,以獲得二值化圖像;對(duì)所述二值化圖像進(jìn)行初步曲線檢測(cè),以得到初步曲線檢測(cè)的結(jié)果;基于所述初步曲線檢測(cè)的結(jié)果,對(duì)所述圖像進(jìn)行仿真迭代檢測(cè),以得到仿真迭代檢測(cè)的結(jié)果;基于所述仿真迭代檢測(cè)的結(jié)果,確定最終的曲線檢測(cè)結(jié)果;以及輸出所述曲線檢測(cè)結(jié)果。
根據(jù)本發(fā)明另一實(shí)施例,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),在所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)了計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)執(zhí)行以下步驟:對(duì)包含目標(biāo)的圖像進(jìn)行二值化,以獲得二值化圖像;對(duì)所述二值化圖像進(jìn)行初步曲線檢測(cè),以得到初步曲線檢測(cè)的結(jié)果;基于所述初步曲線檢測(cè)的結(jié)果,對(duì)所述圖像進(jìn)行仿真迭代檢測(cè),以得到仿真迭代檢測(cè)的結(jié)果;基于所述仿真迭代檢測(cè)的結(jié)果,確定最終的曲線檢測(cè)結(jié)果;以及輸出所述曲線檢測(cè)結(jié)果。
在本發(fā)明實(shí)施例的曲線檢測(cè)方法、曲線檢測(cè)裝置和計(jì)算機(jī)程序產(chǎn)品中,通過對(duì)圖像進(jìn)行仿真迭代檢測(cè),能夠使得仿真迭代檢測(cè)的結(jié)果與人視覺感知的結(jié)果在更大程度上保持一致,由此提高了曲線檢測(cè)的正確性和精度。
此外,在本發(fā)明實(shí)施例的曲線檢測(cè)方法、曲線檢測(cè)裝置和計(jì)算機(jī)程序產(chǎn)品中,通過在仿真迭代檢測(cè)中適當(dāng)?shù)剡x擇種子點(diǎn)并生成新的密度分布圖,以仿真方式獲得更多虛擬像素點(diǎn)用于檢測(cè),增強(qiáng)了潛在曲線形狀的緊致性,改善了從噪音圖像中檢測(cè)曲線的能力。
附圖說明
圖1是圖示根據(jù)本發(fā)明實(shí)施例的曲線檢測(cè)方法的主要步驟的流程圖;
圖2是示意性圖示根據(jù)本發(fā)明實(shí)施例的曲線檢測(cè)方法中的種子點(diǎn)選擇的 處理的圖;
圖3是示意性圖示根據(jù)本發(fā)明實(shí)施例的曲線檢測(cè)方法中的重要性采樣的原理的圖;
圖4是圖示根據(jù)本發(fā)明實(shí)施例的曲線檢測(cè)裝置的主要配置的框圖;以及
圖5是圖示根據(jù)本發(fā)明另一實(shí)施例的曲線檢測(cè)裝置的主要配置的框圖。
具體實(shí)施方式
以下將參考附圖詳細(xì)描述本發(fā)明實(shí)施例。
本發(fā)明實(shí)施例的曲線檢測(cè)方法、曲線檢測(cè)裝置和計(jì)算機(jī)程序產(chǎn)品可應(yīng)用于諸如目標(biāo)的跟蹤、對(duì)象的定位、產(chǎn)品質(zhì)量控制和工程自動(dòng)化等領(lǐng)域中。
首先,參照?qǐng)D1描述根據(jù)本發(fā)明實(shí)施例的曲線檢測(cè)方法。
如圖1所示,在步驟S110,對(duì)包含目標(biāo)的圖像進(jìn)行二值化,以獲得二值化圖像。所述目標(biāo)即為本發(fā)明實(shí)施例的曲線檢測(cè)方法的檢測(cè)目標(biāo),例如為圖像中的各種形狀(如圓形)的物體等。本領(lǐng)域技術(shù)人員可采用各種方式對(duì)所述圖像進(jìn)行二值化處理,在此不再詳述。在通過如上所述的二值化處理而獲得的二值化圖像中,僅包括黑白兩種像素類型的像素點(diǎn)。示例性地,黑像素代表背景信息,白像素代表前景信息,并且待檢測(cè)的潛在幾何曲線可隱藏于前景信息之中。
此外,可選地,在步驟S110,還可對(duì)所述圖像進(jìn)行邊緣檢測(cè)處理,以獲得所述目標(biāo)的邊緣信息。示例性地,可通過CANNY邊緣檢測(cè)的方式來(lái)對(duì)所述圖像進(jìn)行邊緣檢測(cè)處理。當(dāng)然,本領(lǐng)域技術(shù)人員也可采用除此以外的其他各種方式來(lái)進(jìn)行邊緣檢測(cè),在此不再詳述。
接下來(lái),在步驟S120,對(duì)所述二值化圖像進(jìn)行初步曲線檢測(cè),以得到初步曲線檢測(cè)的結(jié)果。
具體地,本領(lǐng)域技術(shù)人員可采用目前已知和未來(lái)開發(fā)的各種曲線檢測(cè)方法來(lái)進(jìn)行這里所述的初步曲線檢測(cè)。示例性地,可以采用諸如霍夫檢測(cè)、模板匹配、最小平方誤差曲線擬合等的各種技術(shù)來(lái)進(jìn)行初步曲線檢測(cè)。
此外,本領(lǐng)域技術(shù)人員可以理解,如果在同一圖像中存在多條待檢測(cè)的曲線,則可以獲得多個(gè)初步曲線檢測(cè)結(jié)果,并分別進(jìn)行如下所述的仿真迭代檢測(cè)以最終獲得相應(yīng)的多個(gè)結(jié)果。
需要指出的是,由于在本發(fā)明實(shí)施例的曲線檢測(cè)方法中對(duì)于初步曲線檢測(cè)的結(jié)果的精度并沒有嚴(yán)格要求,因此,可以對(duì)低分辨率的圖像直接進(jìn)行此初步曲線檢測(cè)。即便由此獲得的初步曲線檢測(cè)的結(jié)果不夠理想,也可通過如下所述的仿真迭代檢測(cè)的處理而最終獲得相對(duì)精確的檢測(cè)結(jié)果。當(dāng)然,如果在步驟S110和S120所使用的圖像為高分辨率圖像,由此獲得的初步曲線檢測(cè)的精度相對(duì)較高,則將有利于最終獲得更精確的檢測(cè)結(jié)果。
此后,在步驟S130,基于所述初步曲線檢測(cè)的結(jié)果,對(duì)所述圖像進(jìn)行仿真迭代檢測(cè),以得到仿真迭代檢測(cè)的結(jié)果。
具體地,在一示例中,對(duì)于當(dāng)前仿真迭代檢測(cè),基于之前一次仿真迭代檢測(cè)的曲線檢測(cè)結(jié)果,從所述圖像中選擇本次仿真迭代檢測(cè)的種子點(diǎn)。
下面,將參照?qǐng)D2描述從之前一次仿真迭代檢測(cè)的曲線檢測(cè)結(jié)果選擇種子點(diǎn)的示例性實(shí)施例。
在圖2中,以圓檢測(cè)為例來(lái)說明如何選擇種子點(diǎn)。具體地,在此示例中,基于之前的仿真迭代檢測(cè)結(jié)果確定參考曲線。
在第一示例中,將上一次仿真迭代檢測(cè)結(jié)果確定為參考曲線。在第二示例中,將通過對(duì)之前的仿真迭代檢測(cè)結(jié)果進(jìn)行如下所述的評(píng)估之后所得到的曲線確定為參考曲線。需要指出的是,在第一次仿真迭代檢測(cè)時(shí),所使用的參考曲線即為所述初步曲線檢測(cè)的結(jié)果。
接下來(lái),基于所述參考曲線,從所述圖像中選擇本次仿真迭代檢測(cè)的種子點(diǎn)。
示例性地,可以選擇所述圖像中鄰近當(dāng)前參考曲線的像素點(diǎn)(示例性地,圖像前景像素點(diǎn))作為種子點(diǎn),其中,該像素點(diǎn)離參考曲線的距離小于D。D為閾值,其值可以由本領(lǐng)域技術(shù)人員根據(jù)待檢測(cè)的幾何曲線的尺寸和期望的精度而適當(dāng)?shù)卦O(shè)置,在此不作具體限定。
更具體地,假設(shè)參考圓(在圖2中以實(shí)線表示)的半徑是r0,中心點(diǎn)為P,由此確定圖2中的2個(gè)虛線圓,其同樣以P為中心,半徑各自為r0+D和r0-D。那么,位于這2個(gè)虛線圓之間的像素點(diǎn)(示例性地,前景像素點(diǎn))可被選擇為仿真迭代檢測(cè)所用的種子點(diǎn)。
接下來(lái),基于所述種子點(diǎn)而生成本次仿真迭代檢測(cè)的像素點(diǎn),以生成本次仿真迭代檢測(cè)的密度分布圖。具體地,可以以所述種子點(diǎn)為預(yù)定參考點(diǎn),基于預(yù)定采樣規(guī)則而產(chǎn)生服從預(yù)定分布的所述像素點(diǎn)。更具體地,可以首先 基于所述種子點(diǎn)距離所述參考曲線的距離,確定所述種子點(diǎn)的重要性,然后基于所述種子點(diǎn)的重要性對(duì)所述種子點(diǎn)指定采樣半徑和采樣數(shù)目中的至少一個(gè)作為所述預(yù)定采樣規(guī)則,接下來(lái)基于采樣半徑和采樣數(shù)目中的所述至少一個(gè),產(chǎn)生服從所述預(yù)定分布的像素點(diǎn)。
也就是說,可以以所述種子點(diǎn)為預(yù)定參考點(diǎn)(如,中心)而以蒙特卡羅隨機(jī)采樣方式確定若干個(gè)點(diǎn),所確定的點(diǎn)服從預(yù)定的分布類型,例如,高斯分布或均勻分布等。也就是說,在本發(fā)明實(shí)施例中,可以以種子點(diǎn)作為獨(dú)立隨機(jī)變量,以一對(duì)多的方式產(chǎn)生多個(gè)虛擬的前景像素點(diǎn)。更具體地,可以基于每個(gè)種子點(diǎn)對(duì)當(dāng)前已檢測(cè)的曲線的貢獻(xiàn)大小而確定本次仿真迭代檢測(cè)的新增像素點(diǎn)的個(gè)數(shù)分布范圍和分布密度。
再次參照?qǐng)D2來(lái)進(jìn)行說明所述采樣規(guī)則。從圖2可見,距當(dāng)前參考曲線不同距離的點(diǎn)對(duì)曲線檢測(cè)有著不同的影響。如果距離近,則對(duì)參考曲線檢測(cè)的貢獻(xiàn)大,反之就小。因此,可以基于作為種子點(diǎn)的像素點(diǎn)距參考曲線的距離大小來(lái)衡量所述種子點(diǎn)的重要性。在本發(fā)明實(shí)施例中,可以使用各種單調(diào)非增函數(shù)來(lái)計(jì)算其重要性。示例性地,可以通過以下等式(1)來(lái)確定種子點(diǎn)的重要度I(d):
I(d)=1-d/D (1)
其中,d是變量,代表著種子點(diǎn)到參考曲線的距離,d<D,D為常量,代表種子點(diǎn)距參考曲線的最大距離。I的值域范圍為0到1。
對(duì)于圖2中的三個(gè)點(diǎn)A、B、C,其距離關(guān)系為d(A)>d(C)>d(B),因此,顯然,其重要性關(guān)系為I(A)<I(C)<I(B)。
在仿真迭代檢測(cè)中,基于所述種子點(diǎn)而生成本次仿真迭代檢測(cè)的像素點(diǎn)且每一個(gè)種子點(diǎn)的重要性將通過新增采樣點(diǎn)的個(gè)數(shù)或不同采樣密度來(lái)體現(xiàn),這個(gè)過程也稱為重要性采樣。
圖3示出了重要性采樣的原理的示意圖。
在圖3中,如圖2所示的三個(gè)像素點(diǎn)A、B和C因其距參考曲線遠(yuǎn)近不同,其重要性也不同。因此,相應(yīng)地,可以為各自點(diǎn)指定不同的采樣半徑,或指定不同的采樣數(shù)目,從而反應(yīng)各個(gè)像素點(diǎn)不同的重要程度。
在第一示例中,通過為各個(gè)種子點(diǎn)指定不同的采樣半徑而體現(xiàn)其重要程度。即,如果指定每個(gè)種子點(diǎn)的采樣數(shù)目相同,那么當(dāng)B的重要性高于A時(shí),可對(duì)A指定較大的采樣半徑,而對(duì)B指定較小的采樣半徑。顯然大的半徑意 味采樣的密度低,該種子點(diǎn)對(duì)曲線檢測(cè)的貢獻(xiàn)也就少。也就是說,種子點(diǎn)的重要性越高,所生成的像素點(diǎn)越密集。種子點(diǎn)的重要性越低,所生成的像素點(diǎn)越稀疏。
這里,可以通過如下所示的等式(2)來(lái)定義采樣半徑函數(shù)r(I):
r(I)=R(1-k*I), (2)
其中,I為種子點(diǎn)的重要度,可通過例如上述等式(1)計(jì)算;R是常量,代表最大的采樣半徑,其值可以由本領(lǐng)域技術(shù)人員根據(jù)需要適當(dāng)?shù)卦O(shè)置,在此不作具體限定;k是0至1之間的系數(shù)。
圖3中的各個(gè)點(diǎn)所在的圓表達(dá)了不同的采樣半徑,因?yàn)镮(A)<I(C)<I(B),因此,r(A)>r(C)>r(B)。
在第二示例中,通過為各個(gè)種子點(diǎn)點(diǎn)指定不同的采樣數(shù)目而體現(xiàn)其重要程度。如果指定每個(gè)種子點(diǎn)的采樣半徑相同,那么當(dāng)B的重要性高于A時(shí),可對(duì)B指定較多的采樣數(shù)目,而對(duì)A指定較少的采樣數(shù)目。也就是說,種子點(diǎn)的重要性越高,以它為基礎(chǔ)所生成的像素點(diǎn)越多。種子點(diǎn)的重要性越低,基于它所生成的像素點(diǎn)越少。這里,可以通過如下所示的等式(3)來(lái)定義采樣數(shù)目n(I):
n(I)=I*N, (3)
其中,I為種子點(diǎn)的重要度,可通過例如上述等式(1)計(jì)算;N是常量,代表最大的采樣數(shù)目,其值可以由本領(lǐng)域技術(shù)人員根據(jù)需要適當(dāng)?shù)卦O(shè)置,在此不作具體限定。
從圖3可見,n(A)<n(C)<n(B)。
當(dāng)然,如上所述的兩個(gè)示例可以彼此結(jié)合來(lái)實(shí)現(xiàn)重要性采樣。也就是說,可以對(duì)重要性高的種子點(diǎn)指定較小采樣半徑和較多采樣數(shù)目,而對(duì)重要性低的種子點(diǎn)指定較大采樣半徑和較少采樣數(shù)目。
通過如上所述的重要性采樣,基于種子點(diǎn)而生成了了新的像素點(diǎn),所述新的像素點(diǎn)與所述種子點(diǎn)可一并看作是前景點(diǎn),所述新的像素點(diǎn)的坐標(biāo)可以以種子點(diǎn)為中心由一隨機(jī)數(shù)發(fā)生器隨機(jī)產(chǎn)生得到的。示例性地,可采用例如均勻分布或高斯分布等的各種概率分布來(lái)確定新的點(diǎn)的坐標(biāo)。例如,可通過蒙特卡羅方法來(lái)確定新的點(diǎn)的坐標(biāo)。
以種子點(diǎn)A為例,假設(shè)A的坐標(biāo)是P(xA,yA),采樣的半徑是rA,隨機(jī)數(shù)產(chǎn)生方法為均勻分布。首先,產(chǎn)生隨機(jī)數(shù)xN服從于[xA–rA,xA+rA]上的均勻 分布,同時(shí)也產(chǎn)生隨機(jī)數(shù)yN也服從于[yA–rA,yA+rA]均勻分布。如果坐標(biāo)P(xN,yN)落在以P(xA,yA)為中心半徑為rA的圓內(nèi)部,就將該坐標(biāo)賦予新的點(diǎn),否則重新產(chǎn)生新的坐標(biāo)。
新產(chǎn)生的點(diǎn)隨機(jī)分布于種子點(diǎn)四周,和種子點(diǎn)一起構(gòu)成了新的密度分布圖,這進(jìn)一步增加了潛在待檢曲線形狀的緊致性,從而為仿真迭代檢測(cè)的曲線檢測(cè)提供了較好質(zhì)量的輸入數(shù)據(jù)。
本領(lǐng)域技術(shù)人員能夠理解,雖然上面以均勻分布為例進(jìn)行了描述,然而本發(fā)明實(shí)施例不限于此,而是可以應(yīng)用于諸如高斯分布等的其他分布。
在通過如上所述的重要性采樣而生成了新的密度分布圖之后,可以基于所述密度分布圖,執(zhí)行曲線檢測(cè),以得到本次仿真迭代檢測(cè)的曲線檢測(cè)結(jié)果。
具體地,可以采用各種現(xiàn)有和未來(lái)開發(fā)的曲線檢測(cè)技術(shù),基于如上所述生成的新的密度分布圖來(lái)檢測(cè)曲線。和初始化檢測(cè)結(jié)果里的檢測(cè)不同,此處通過如上所述的重要性采樣得到更多的前景像素點(diǎn),因此,可不更改圖像的分辨率而直接對(duì)圖像進(jìn)行曲線檢測(cè),并能獲得更精確的曲線檢測(cè)結(jié)果。
在完成當(dāng)前仿真迭代檢測(cè)并在進(jìn)入下一輪仿真迭代檢測(cè)前,通過當(dāng)前仿真迭代步驟新增的像素點(diǎn)將被丟棄掉,從而確保原始圖像數(shù)據(jù)在下一輪仿真迭代檢測(cè)里不被污染。換句話說,在下一輪仿真迭代檢測(cè)里,基于新的參考曲線從原始圖像數(shù)據(jù)中重新確定種子點(diǎn)并重新生成相應(yīng)的像素點(diǎn),以生成用于下一輪仿真迭代檢測(cè)的新的密度分布圖。
接下來(lái),判斷仿真迭代檢測(cè)是否滿足終止條件。當(dāng)所述仿真迭代檢測(cè)不滿足終止條件時(shí),進(jìn)行下一次仿真迭代檢測(cè)。當(dāng)所述仿真迭代檢測(cè)滿足終止條件時(shí),停止所述仿真迭代檢測(cè)以獲得所述仿真迭代檢測(cè)的結(jié)果。
具體地,在第一示例中,所述終止條件可以為到達(dá)指定的仿真迭代次數(shù)。其具體值可以由本領(lǐng)域技術(shù)人員根據(jù)需要而適當(dāng)?shù)卦O(shè)置,在此不作具體限定。在第二示例中,所述終止條件可以為在當(dāng)前的仿真迭代檢測(cè)中不能檢測(cè)出曲線。在第三示例中,所述終止條件可以為在前后兩次相鄰的仿真迭代檢測(cè)中獲得幾乎一樣的檢測(cè)結(jié)果。例如,在圓的檢測(cè)里,檢測(cè)結(jié)果相似意味著兩次迭代里所檢測(cè)到的圓具有非常靠近的圓心坐標(biāo)和幾乎相等的半徑長(zhǎng)度。
需要指出的是,以上所述的終止條件可以適當(dāng)?shù)剡M(jìn)行組合或修改。而且,上述終止條件僅為示例,本領(lǐng)域技術(shù)人員能夠在此基礎(chǔ)上設(shè)計(jì)其他各種終止條件。
接下來(lái),所述方法進(jìn)行到步驟S140,基于所述仿真迭代檢測(cè)的結(jié)果,確定最終的曲線檢測(cè)結(jié)果。
具體地,在第一示例中,當(dāng)所述仿真迭代檢測(cè)滿足終止條件時(shí),獲取各次仿真迭代檢測(cè)的曲線檢測(cè)結(jié)果作為候選曲線,并基于所述候選曲線確定最終的曲線檢測(cè)結(jié)果。具體地,可通過一定的評(píng)估準(zhǔn)則,例如以基于最小化擬合誤差的方式對(duì)所述候選曲線進(jìn)行評(píng)估,從而確定最終的曲線檢測(cè)結(jié)果。
在第二示例中,首先獲取本次仿真迭代檢測(cè)的曲線檢測(cè)結(jié)果與之前一次仿真迭代檢測(cè)后所獲得的評(píng)估結(jié)果作為候選曲線,然后對(duì)所述候選曲線例如以基于最小化擬合誤差的方式進(jìn)行評(píng)估,以確定本次仿真迭代檢測(cè)的評(píng)估結(jié)果。所述評(píng)估同樣可采用如下所述的評(píng)估準(zhǔn)則。然后,當(dāng)仿真迭代檢測(cè)滿足終止條件時(shí),將當(dāng)前的評(píng)估結(jié)果確定為最終的曲線檢測(cè)結(jié)果。更具體地,所述評(píng)估可以基于最小化擬合誤差的方式,從所述候選曲線中選擇在指定的誤差范圍和指定的平均誤差下具有最大覆蓋原始二值圖像前景像素點(diǎn)點(diǎn)數(shù)的候選曲線。替代地,所述評(píng)估也可以基于最小化擬合的方式,從所述候選曲線中選擇在指定的誤差范圍和指定的平均誤差下覆蓋原始二值圖像前景像素點(diǎn)點(diǎn)數(shù)超過閾值的候選曲線的集合。
下面,將詳細(xì)描述在評(píng)估過程中所使用的評(píng)估準(zhǔn)則。
具體地,所述評(píng)估準(zhǔn)則的目的在于評(píng)估各自檢測(cè)的結(jié)果并從中找到最接近于人眼視覺感知結(jié)果的待檢測(cè)的曲線。對(duì)于傳統(tǒng)的霍夫檢測(cè)來(lái)說,評(píng)價(jià)的標(biāo)準(zhǔn)是累加器空間各個(gè)單元的投票數(shù)多少。但在本發(fā)明實(shí)施例中,那些對(duì)正確檢測(cè)有貢獻(xiàn)的像素點(diǎn)或許會(huì)偏離標(biāo)準(zhǔn)的形狀,因此,單純的投票數(shù)可能不足以準(zhǔn)確地反映結(jié)果。在此,作為示例,可以采用基于最小化擬合誤差的方式來(lái)進(jìn)行評(píng)估。更具體地,在給定的誤差范圍內(nèi),例如,在最大的誤差半徑Dr和最大的平均誤差Da的誤差范圍內(nèi),可通過比較有多少像素點(diǎn)落入到此誤差范圍內(nèi)來(lái)決定哪條曲線是正確的待檢曲線。本發(fā)明實(shí)施例所提出的這種新的評(píng)價(jià)準(zhǔn)則和人的視覺感知結(jié)果更符合。
更具體地,可將第“i”條候選曲線附近的原始二值圖上前景像素點(diǎn)按距該候選曲線的距離從小到大排序并分配給其不同的序號(hào)“j”,該像素點(diǎn)可記為pij。
在第一示例中,所述評(píng)估準(zhǔn)則可通過如下所示的公式(4)來(lái)表示:
其中,pij是屬于與第“i”條候選曲線關(guān)聯(lián)的第“j”個(gè)像素點(diǎn);f(.)是像素點(diǎn)計(jì)數(shù)函數(shù),僅當(dāng)像素點(diǎn)滿足一定條件才計(jì)數(shù)為1,否則為0;
di(.)是像素點(diǎn)到第“i”候選曲線距離計(jì)算函數(shù),di(pik)是與第“i”候選曲線關(guān)聯(lián)的第“k”個(gè)像素點(diǎn)到第“i”候選曲線的距離;
Dr是如上所述的最大誤差半徑,Da是如上所述的最大平均誤差,其值可以由本領(lǐng)域技術(shù)人員根據(jù)需要適當(dāng)?shù)卦O(shè)置,在此不作具體限定。
通過如上所述的評(píng)估準(zhǔn)則(4),可以獲得各次曲線檢測(cè)結(jié)果中的最優(yōu)的曲線檢測(cè)結(jié)果。
替代地,在第二示例中,所述評(píng)估準(zhǔn)則可通過如下所示的公式(5)來(lái)表示:
其中T為閾值,其值可以由本領(lǐng)域技術(shù)人員根據(jù)需要適當(dāng)?shù)卦O(shè)置,在此不作具體限定;Ci代表第“i”候選曲線,i、j、k、Dr、Da、pij和di(pik)的含義如上所述,在此不再重復(fù)。
通過如上所述的評(píng)估準(zhǔn)則(5),可以獲得各次曲線檢測(cè)結(jié)果中滿足一定條件(例如,大于閾值T)的曲線檢測(cè)結(jié)果的集合。
通過如上所述的處理,獲得了最終的曲線檢測(cè)結(jié)果,所述曲線檢測(cè)方法進(jìn)行到步驟S150,并輸出所述曲線檢測(cè)結(jié)果。
以上,參照?qǐng)D1-圖3描述了本發(fā)明實(shí)施例的曲線檢測(cè)方法。
在本發(fā)明實(shí)施例的曲線檢測(cè)方法中,通過仿真迭代檢測(cè),能夠使得仿真迭代檢測(cè)的結(jié)果與人視覺感知的結(jié)果在更大程度上保持一致,由此提高了曲線檢測(cè)的正確性和精度。
此外,在本發(fā)明實(shí)施例的曲線檢測(cè)方法中,通過在仿真迭代檢測(cè)中適當(dāng)?shù)剡x擇種子點(diǎn)并生成新的密度分布圖,以仿真方式獲得更多點(diǎn)用于檢測(cè),增強(qiáng)了潛在曲線形狀的緊致性,改善了從噪音圖像中檢測(cè)曲線的能力。
此外,在本發(fā)明實(shí)施例的曲線檢測(cè)方法中,通過基于最小化擬合誤差的方式的評(píng)估準(zhǔn)則從候選曲線中選擇精確的曲線來(lái)作為最終的曲線檢測(cè)結(jié)果,從而既能達(dá)到例如基于最小二乘法等的方式的水平,又能避免噪音的干擾,最終能夠獲得最接近于人視覺感知的曲線。
下面,將參照?qǐng)D4描述本發(fā)明實(shí)施例的曲線檢測(cè)裝置。
如圖4所示,本發(fā)明實(shí)施例的曲線檢測(cè)裝置400主要包括:二值化單元410、初步檢測(cè)單元420、仿真迭代檢測(cè)單元430、確定單元440以及輸出單元450。
所述二值化單元410對(duì)包含目標(biāo)的圖像進(jìn)行二值化,以獲得二值化圖像。所述初步檢測(cè)單元420對(duì)所述二值化圖像進(jìn)行初步曲線檢測(cè),以得到初步曲線檢測(cè)的結(jié)果。所述仿真迭代檢測(cè)單元430基于所述初步曲線檢測(cè)的結(jié)果,對(duì)所述圖像進(jìn)行仿真迭代檢測(cè),以得到仿真迭代檢測(cè)的結(jié)果。所述確定單元440基于所述仿真迭代檢測(cè)的結(jié)果,確定最終的曲線檢測(cè)結(jié)果。所述輸出單元450輸出所述曲線檢測(cè)結(jié)果。
在一實(shí)施例中,可選地,所述仿真迭代檢測(cè)單元包括:參考曲線確定單元,基于之前的仿真迭代檢測(cè)結(jié)果確定參考曲線;種子點(diǎn)選擇單元,基于所述參考曲線,從所述圖像中選擇本次仿真迭代檢測(cè)的種子點(diǎn);像素點(diǎn)生成單元,基于所述種子點(diǎn)而產(chǎn)生本次仿真迭代檢測(cè)的像素點(diǎn),以生成本次仿真迭代檢測(cè)的密度分布圖;曲線檢測(cè)單元,基于所述密度分布圖,執(zhí)行曲線檢測(cè),以得到本次仿真迭代檢測(cè)的曲線檢測(cè)結(jié)果;終止判斷單元,判斷仿真迭代檢測(cè)是否滿足終止條件;以及處理單元,當(dāng)所述仿真迭代檢測(cè)不滿足終止條件時(shí),進(jìn)行下一次仿真迭代檢測(cè);當(dāng)所述仿真迭代檢測(cè)滿足終止條件時(shí),停止所述仿真迭代檢測(cè)以獲得所述仿真迭代檢測(cè)的結(jié)果;其中,在第一次仿真迭代檢測(cè)中,所述參考曲線為所述初步曲線檢測(cè)的結(jié)果。
在另一實(shí)施例中,可選地,所述確定單元包括:候選曲線獲取單元,獲取各次仿真迭代檢測(cè)的曲線檢測(cè)結(jié)果作為候選曲線;以及評(píng)估單元,對(duì)候選曲線以基于最小化擬合誤差的方式進(jìn)行評(píng)估,以確定最終的曲線檢測(cè)結(jié)果。
在另一實(shí)施例中,可選地,所述確定單元包括:候選曲線獲取單元,獲 取本次仿真迭代檢測(cè)的曲線檢測(cè)結(jié)果與之前一次仿真迭代檢測(cè)后所獲得的評(píng)估結(jié)果,作為候選曲線;評(píng)估單元,對(duì)所述候選曲線以基于最小化擬合誤差的方式進(jìn)行評(píng)估,以確定本次仿真迭代檢測(cè)的評(píng)估結(jié)果;以及檢測(cè)結(jié)果確定單元,當(dāng)仿真迭代檢測(cè)滿足終止條件時(shí),將當(dāng)前的評(píng)估結(jié)果確定為最終的曲線檢測(cè)結(jié)果。
在另一實(shí)施例中,可選地,所述評(píng)估單元配置為執(zhí)行以下至少之一的操作:基于最小化擬合誤差的方式,從所述候選曲線中選擇在指定的誤差范圍和指定的平均誤差下具有最大覆蓋原始二值圖上前景像素點(diǎn)點(diǎn)數(shù)的候選曲線;或基于最小化擬合的方式,從所述候選曲線中選擇在指定的誤差范圍和指定的平均誤差下覆蓋原始二值圖上前景像素點(diǎn)點(diǎn)數(shù)超過閾值的候選曲線的集合。
在另一實(shí)施例中,可選地,所述種子點(diǎn)選擇單元配置為:選擇所述圖像中鄰近所述參考曲線的像素點(diǎn),作為所述種子點(diǎn)。
在另一實(shí)施例中,可選地,所述像素點(diǎn)生成單元配置為:以所述種子點(diǎn)為預(yù)定參考點(diǎn),基于預(yù)定采樣規(guī)則而產(chǎn)生服從預(yù)定分布的所述像素點(diǎn)。
在另一實(shí)施例中,可選地,所述像素點(diǎn)生成單元包括:重要性確定單元,基于所述種子點(diǎn)距離所述參考曲線的距離,確定所述種子點(diǎn)的重要性;采樣規(guī)則確定單元,基于所述種子點(diǎn)的重要性,對(duì)所述種子點(diǎn)指定采樣半徑和采樣數(shù)目中的至少一個(gè)作為所述預(yù)定采樣規(guī)則;以及產(chǎn)生單元,基于采樣半徑和采樣數(shù)目中的所述至少一個(gè),產(chǎn)生服從所述預(yù)定分布的像素點(diǎn)。
圖5是圖示根據(jù)本發(fā)明另一實(shí)施例的曲線檢測(cè)裝置的主要配置的框圖。
如圖5所示,本發(fā)明實(shí)施例的曲線檢測(cè)裝置500主要包括:一個(gè)或多個(gè)處理器510和存儲(chǔ)器520,這些組件通過總線系統(tǒng)530和/或其它形式的連接機(jī)構(gòu)(未示出)互連。應(yīng)當(dāng)注意,圖5所示的曲線檢測(cè)裝置500的組件和結(jié)構(gòu)只是示例性的,而非限制性的,根據(jù)需要,曲線檢測(cè)裝置500也可以具有其他組件和結(jié)構(gòu)。
處理器510可以是中央處理單元(CPU)或者具有數(shù)據(jù)處理能力和/或指令執(zhí)行能力的其它形式的處理單元,并且可以控制曲線檢測(cè)裝置500中的其它組件以執(zhí)行期望的功能。
存儲(chǔ)器520可以包括一個(gè)或多個(gè)計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品可以包括各種形式的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如易失性存儲(chǔ)器和/或非易失性 存儲(chǔ)器。所述易失性存儲(chǔ)器例如可以包括隨機(jī)存取存儲(chǔ)器(RAM)和/或高速緩沖存儲(chǔ)器(cache)等。所述非易失性存儲(chǔ)器例如可以包括只讀存儲(chǔ)器(ROM)、硬盤、閃存等。在所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上可以存儲(chǔ)一個(gè)或多個(gè)計(jì)算機(jī)程序指令,處理器520可以運(yùn)行所述程序指令,以實(shí)現(xiàn)本發(fā)明實(shí)施例的曲線檢測(cè)方法的功能以及/或者其它期望的功能。
此外,雖然沒有示出,但是本發(fā)明實(shí)施例的曲線檢測(cè)裝置500還可以適當(dāng)?shù)匕ㄖT如輸入單元和輸出單元等的其他單元。
以上,參照?qǐng)D4和圖5描述了本發(fā)明實(shí)施例的曲線檢測(cè)裝置。
在本發(fā)明實(shí)施例的曲線檢測(cè)裝置中,通過仿真迭代檢測(cè),能夠使得仿真迭代檢測(cè)的結(jié)果與人視覺感知的結(jié)果在更大程度上保持一致,由此提高了曲線檢測(cè)的正確性和精度。
此外,在本發(fā)明實(shí)施例的曲線檢測(cè)裝置中,通過在仿真迭代檢測(cè)中適當(dāng)?shù)剡x擇種子點(diǎn)并生成新的密度分布圖,以仿真方式獲得更多點(diǎn)用于檢測(cè),增強(qiáng)了潛在曲線形狀的緊致性,改善了從噪音圖像中檢測(cè)曲線的能力。
此外,在本發(fā)明實(shí)施例的曲線檢測(cè)裝置中,通過基于最小化擬合誤差的方式的評(píng)估準(zhǔn)則從候選曲線中選擇精確的曲線來(lái)作為最終的曲線檢測(cè)結(jié)果,從而既能達(dá)到例如基于最小二乘法等的方式的水平,又能避免噪音的干擾,最終能夠獲得最接近于人視覺感知的曲線。
此外,根據(jù)本發(fā)明另一實(shí)施例,提供了一種用于曲線檢測(cè)的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),在所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)了計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令可由處理器執(zhí)行以使得所述處理器對(duì)包含目標(biāo)的圖像進(jìn)行二值化,以獲得二值化圖像;對(duì)所述二值化圖像進(jìn)行初步曲線檢測(cè),以得到初步曲線檢測(cè)的結(jié)果;基于所述初步曲線檢測(cè)的結(jié)果,對(duì)所述圖像進(jìn)行仿真迭代檢測(cè),以得到仿真迭代檢測(cè)的結(jié)果;基于所述仿真迭代檢測(cè)的結(jié)果,確定最終的曲線檢測(cè)結(jié)果;以及輸出所述曲線檢測(cè)結(jié)果。
需要說明的是,在本說明書中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制 的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
此外,需要說明的是,在本說明書中,類似“第一…單元”、“第二...單元”的表述僅為了在描述時(shí)方便區(qū)分,而并不意味著其必須實(shí)現(xiàn)為物理分離的兩個(gè)或多個(gè)單元。事實(shí)上,根據(jù)需要,所述單元可以整體實(shí)現(xiàn)為一個(gè)單元,也可以實(shí)現(xiàn)為多個(gè)單元。
最后,還需要說明的是,上述一系列處理不僅包括以這里所述的順序按時(shí)間序列執(zhí)行的處理,而且包括并行或分別地、而不是按時(shí)間順序執(zhí)行的處理。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以全部通過硬件來(lái)實(shí)施。基于這樣的理解,本發(fā)明的技術(shù)方案對(duì)背景技術(shù)做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
在本發(fā)明實(shí)施例中,單元/模塊可以用軟件實(shí)現(xiàn),以便由各種類型的處理器執(zhí)行。舉例來(lái)說,一個(gè)標(biāo)識(shí)的可執(zhí)行代碼模塊可以包括計(jì)算機(jī)指令的一個(gè)或多個(gè)物理或者邏輯塊,舉例來(lái)說,其可以被構(gòu)建為對(duì)象、過程或函數(shù)。盡管如此,所標(biāo)識(shí)模塊的可執(zhí)行代碼無(wú)需物理地位于一起,而是可以包括存儲(chǔ)在不同位里上的不同的指令,當(dāng)這些指令邏輯上結(jié)合在一起時(shí),其構(gòu)成單元/模塊并且實(shí)現(xiàn)該單元/模塊的規(guī)定目的。
在單元/模塊可以利用軟件實(shí)現(xiàn)時(shí),考慮到現(xiàn)有硬件工藝的水平,所以可以以軟件實(shí)現(xiàn)的單元/模塊,在不考慮成本的情況下,本領(lǐng)域技術(shù)人員都可以搭建對(duì)應(yīng)的硬件電路來(lái)實(shí)現(xiàn)對(duì)應(yīng)的功能,所述硬件電路包括常規(guī)的超大規(guī)模集成(VLSI)電路或者門陣列以及諸如邏輯芯片、晶體管之類的現(xiàn)有半導(dǎo)體或者是其它分立的元件。模塊還可以用可編程硬件設(shè)備,諸如現(xiàn)場(chǎng)可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備等實(shí)現(xiàn)。
以上對(duì)本發(fā)明進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在 具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。