基于顯著性的圖像分割

0 評(píng)論 5599 瀏覽 6 收藏 11 分鐘

本篇文章介紹了顯著性圖像的分割,這個(gè)方法最初來源于對(duì)于發(fā)掘一個(gè)自動(dòng)生成圖像三分圖方法的興趣,這個(gè)摳圖算法用于關(guān)注前景和背景細(xì)節(jié)的圖像分割。

通常我們看到一幅圖像的時(shí)候,我們都會(huì)關(guān)注于圖像中的某一點(diǎn)上,這有可能是一個(gè)人,一個(gè)建筑物或者甚至是一個(gè)水桶。圖像的清晰部分幾乎沒有什么意義,這些部分在圖像中通常的特點(diǎn)是缺少關(guān)注點(diǎn)、顏色單調(diào)和紋理平滑。當(dāng)這樣一類圖像出現(xiàn)的時(shí)候,它們是從圖像剩余部分分割出感興趣目標(biāo)的理想圖像。這篇文章就探索了這類顯著性圖像的分割。

顯著性圖像的例子。左邊的水桶和右邊的人就是感興趣的目標(biāo)。

這個(gè)項(xiàng)目最初來源于對(duì)于發(fā)掘一個(gè)自動(dòng)生成圖像三分圖方法的興趣。當(dāng)和摳圖算法相結(jié)合的時(shí)候三分圖就是圖像的掩膜。這個(gè)摳圖算法用于關(guān)注前景和背景細(xì)節(jié)的圖像分割。正常情況下一個(gè)三分圖包含了前景的白色部分、背景的黑色部分和不確定的灰色區(qū)域。

基于顯著性的圖像分割

三分圖的例子(來源于參考文獻(xiàn)[2])

大多數(shù)摳圖算法的問題就是它們希望由用戶提供三分圖,這是一個(gè)耗時(shí)的工作。這里有兩篇我參考的主要的論文,他們嘗試去自動(dòng)生成三分圖[1][2]。在第一篇論文里,Hsieh等人使用了一個(gè) 相當(dāng)直接和易完成的方法。但不幸的是他們的方法并不是完全自動(dòng)的,因?yàn)樗枰脩艚oGrabcut算法提供一個(gè)矩形區(qū)域。Gupta等人而是使用顯著性方法去預(yù)測(cè)感興趣的區(qū)域。然而他們的顯著性方法非常復(fù)雜,結(jié)合了三種顯著性算法的結(jié)果。其中一種算法使用了卷積神經(jīng)網(wǎng)絡(luò),這是一種我希望為了簡(jiǎn)單實(shí)現(xiàn)而避免使用的技術(shù)。

除了需要用戶提供信息之外,Hsieh’s等人的算法產(chǎn)生的結(jié)果是非常合理的。我想如果我能夠使Grabcut部分自動(dòng)化,那么他們算法的其余部分就會(huì)解決最初始的那個(gè)問題。我是從Gupta等人提供的方法那里得到的去創(chuàng)造這樣一個(gè)自動(dòng)方法的靈感。

方法

很多的圖像分割方法的目標(biāo)就是將圖像二值化為感興趣的區(qū)域。這個(gè)項(xiàng)目的目標(biāo)是不一樣的。

首先,我想大致的找出感興趣區(qū)域。將高斯模糊濾波器應(yīng)用于圖像。從模糊圖像中生成平均15個(gè)像素大小的超像素。超像素算法旨在基于像素區(qū)域中的值的顏色和距離來打破圖像。具體來說,用了簡(jiǎn)單線性迭代聚類算法(SLIC)。

基于顯著性的圖像分割

水桶和人的超像素圖

超像素將圖像分為幾乎一樣大小的區(qū)域。這樣做的好處之一就是超像素允許區(qū)域的泛化。我們可以假設(shè)超像素里的大部分像素有著相似的屬性。

與確定圖像中的超像素并行地,計(jì)算圖像的顯著圖使用了兩種不同的顯著性方法。第一種方法使用了內(nèi)置的OpenCV方法,叫細(xì)粒度顯著性。第二種方法涉及獲取細(xì)粒度顯著圖像的平均值并從圖像的高斯模糊圖中減去它,就得到了新圖像的絕對(duì)值。

這兩種方法的不同之處在于結(jié)果的侵略性。下面的兩張圖象高亮了感興趣區(qū)域。細(xì)粒度顯著性方法產(chǎn)生的圖像相對(duì)柔和一些。另外,細(xì)粒度顯著性圖像主要勾勒出顯著圖像的邊界,盡管另一種方法也捕獲了顯著圖的內(nèi)部。與細(xì)粒度方法相比積極的方法確實(shí)產(chǎn)生了更多的噪聲。消除噪聲是這個(gè)過程的下一步。

基于顯著性的圖像分割

使用細(xì)粒度方法產(chǎn)生的水桶和人的顯著性圖

基于顯著性的圖像分割

使用積極顯著性產(chǎn)生的水桶和人的顯著性圖

以下的技術(shù)是從Gupta等人的論文中挖掘出來的。為了對(duì)圖像進(jìn)行二值化,通過迭代從彩色圖像生成每個(gè)超像素。如果顯著性圖像超像素區(qū)域的中間像素值大于閾值T1,那么這整個(gè)超像素就二值化為白色。否則整個(gè)超像素就是黑色。T1由用戶選擇。在參考文獻(xiàn)[2]中,T1被設(shè)置為顯著性圖像中最大像素值的30%,但是在該項(xiàng)目中使用的是25%。

在二值化圖像之后,擴(kuò)張圖像基于使用哪種顯著性技術(shù)。在細(xì)粒度顯著方法中,圖像被擴(kuò)大為超像素平均值的兩倍大小。Aggressive顯著性方法沒有擴(kuò)張圖像。圖像中出現(xiàn)的噪聲越大,任何擴(kuò)張都有風(fēng)險(xiǎn)。

基于顯著性的圖像分割

細(xì)粒度顯著性方法(左)和二值化Aggressive顯著性方法擴(kuò)張后的水桶圖像

最后一步又取決于使用哪種顯著性方法。在這兩種方法中,都提取了白色像素最大的區(qū)域。在OpenCV中,這個(gè)操作可以通過尋找圖像中的輪廓并選擇具有最大面積的輪廓來實(shí)現(xiàn)。對(duì)選擇出來的區(qū)域會(huì)匹配一個(gè)包圍框。

據(jù)觀察,細(xì)粒度顯著性方法常常會(huì)生成碎片區(qū)域。在包圍框生成后,其他任何落在包圍框里的不屬于最大區(qū)域的白色部分都會(huì)被添加到包圍框里。包圍框的邊界會(huì)增大來包圍這些區(qū)域。Aggressive顯著性方法并不需要這樣做。通常最大區(qū)域的包含量超過了預(yù)期。

最后一步是將最終找到的包圍框輸入到Grabcut算法中。Grubcut是分割圖像的常用方法。包圍框給了Grabcut函數(shù)什么會(huì)被算法最終分割為背景和前景。在包含Grubcut應(yīng)用程序的大多數(shù)軟件包中,用戶編輯矩形區(qū)域可以為算法產(chǎn)生更好的結(jié)果提供更多的信息。在這個(gè)項(xiàng)目中,使用了OpenCV內(nèi)置的Grubcut功能。

基于顯著性的圖像分割

在桶的實(shí)驗(yàn)中,兩種方法都產(chǎn)生了相同的結(jié)果。

此過程在[1]開始的地方結(jié)束。在將來我計(jì)劃繼續(xù)開發(fā)這種自動(dòng)tripmap生成器。

結(jié)果

在這兩種方法中,Aggressive顯著性圖似乎為大多數(shù)圖像產(chǎn)生了精確的掩模。細(xì)粒度顯著性方法產(chǎn)生的圖像中的顯著性目標(biāo)更為“笨重”。如果圖像很長(zhǎng)或有卷須,則這些部分通常會(huì)與圖像的其余部分?jǐn)嚅_連接。然而,由于其保守的性質(zhì),當(dāng)圖像特別嘈雜時(shí),細(xì)粒度方法更好。掩模不一定能夠捕獲整個(gè)圖像,但它并沒有像Aggressive方法那樣頻繁地溢出。

基于顯著性的圖像分割

兩種方法的樣本結(jié)果

還要必要指出,對(duì)于[1]中開發(fā)的算法,欠發(fā)達(dá)的掩模并不壞。由于最終目標(biāo)是開發(fā)tripmap圖像,因此掩模將由灰色區(qū)域填充。該灰色區(qū)域?qū)⒂兄趨^(qū)分前景和背景。

對(duì)于任何的每周的讀者來說,使用C++學(xué)習(xí)OpenCV并實(shí)現(xiàn)這個(gè)算法是非常耗時(shí)的。對(duì)于時(shí)延感到很抱歉,但希望將來這個(gè)項(xiàng)目會(huì)繼續(xù)并有更多的內(nèi)容!

Github 代碼地址:https://github.com/TimChinenov/GraspPicture

參考文獻(xiàn)

[1] C. Hsieh and M. Lee, “Automatic trimap generation for digital image matting,”?2013 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference, Kaohsiung, 2013, pp. 1–5.

[2] Gupta, Vikas & Raman, Shanmuganathan. (2017). Automatic Trimap Generation for Image Matting.

 

本文為 AI 研習(xí)社編譯的技術(shù)博客,原標(biāo)題 :Saliency Based Image Segmentation

作者:Tim Chin,翻譯:GAOLILI

原文鏈接:https://towardsdatascience.com/saliency-based-image-segmentation-473b4cb31774

本文來源于人人都是產(chǎn)品經(jīng)理合作媒體 @雷鋒網(wǎng),翻譯@GAOLILI

題圖來自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒評(píng)論,等你發(fā)揮!