整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢(xún)熱線:

          創(chuàng)意平臺(tái):基于顏色特征的圖片檢索應(yīng)用實(shí)戰(zhàn)

          創(chuàng)意平臺(tái)是一個(gè)擁有豐富素材、模板的多場(chǎng)景在線設(shè)計(jì)平臺(tái)。

          眾所周知,顏色在設(shè)計(jì)中扮演著極為重要的角色,它不僅僅是美感的體現(xiàn),還深刻影響用戶(hù)的感知、情緒和行為。為了提升用戶(hù)的檢索效率,提高作品的最終視覺(jué)效果,我們需要支持顏色檢索圖片。

          在最初版本中,我們通過(guò)人工識(shí)別的方式,將顏色作為標(biāo)簽與圖片關(guān)聯(lián)起來(lái),顯然,這與創(chuàng)意平臺(tái)設(shè)計(jì)的初衷背道而馳,所以我們決定在系統(tǒng)層面上實(shí)現(xiàn)圖片顏色識(shí)別及關(guān)聯(lián)自動(dòng)化。


          目的


          實(shí)現(xiàn)素材&模板的主色識(shí)別及關(guān)聯(lián)自動(dòng)化。換句話說(shuō),就是讓用戶(hù)在上傳素材&模板之后,不經(jīng)過(guò)人工處理,就能夠通過(guò)顏色檢索到對(duì)應(yīng)的素材&模板。


          實(shí)現(xiàn)方案


          通過(guò)分析用戶(hù)的使用場(chǎng)景,我們可以將流程細(xì)化成四步:用戶(hù)上傳素材&模板->服務(wù)器提取主色->服務(wù)器關(guān)聯(lián)顏色與素材&模板->用戶(hù)檢索素材&模板,其中服務(wù)器需要做三件事,提取主色、顏色歸類(lèi)、顏色關(guān)聯(lián),那么接下來(lái)我們將對(duì)這三件事進(jìn)行詳細(xì)闡述。


          1.主色提取

          計(jì)算機(jī)是如何表達(dá)圖像的?

          在提取主色前,我們首先需要知道計(jì)算機(jī)是如何表達(dá)圖像的。首先給出結(jié)論:計(jì)算機(jī)是通過(guò)像素和顏色信息來(lái)表達(dá)圖像的。圖像是由多個(gè)不可分割的單元組成的,這些單元被稱(chēng)為像素,每個(gè)像素代表圖像中的一個(gè)點(diǎn),像素都包含顏色信息、位置信息。像素的顏色信息通常使用RGB(紅、綠、藍(lán))模型表示。


          RGB顏色模型

          在RGB模型中,顏色由紅色、綠色和藍(lán)色三個(gè)顏色通道的組合來(lái)表示。每個(gè)通道的強(qiáng)度可以在0到255之間變化,其中0表示沒(méi)有該顏色,255表示該顏色的最大強(qiáng)度。例如,RGB(255, 0, 0) 表示紅色,因?yàn)榧t通道的強(qiáng)度是255,而綠和藍(lán)通道的強(qiáng)度為0。


          主色提取算法

          知道了圖像在計(jì)算機(jī)中的表達(dá)方式后,那么自然而然的想法是,可以通過(guò)統(tǒng)計(jì)圖像中像素個(gè)數(shù)排名靠前的顏色來(lái)得到主色,顯然,這種提取方式在一些簡(jiǎn)單場(chǎng)景上(如:純色圖片)效果不錯(cuò),但是在復(fù)雜場(chǎng)景(如:顏色漸變)上就不太合適了。


          常見(jiàn)的主色提取算法有Kmeans算法、中位切分法、八叉樹(shù)算法等,相較于其他語(yǔ)言,Java在圖像處理方面有著明顯的劣勢(shì),雖然有基礎(chǔ)的圖像處理API,但缺少?gòu)?qiáng)大的圖像處理庫(kù),通過(guò)調(diào)研這三種算法的實(shí)現(xiàn)難度、實(shí)現(xiàn)效果后,我們更傾向于Kmean算法和中位切分法,幸運(yùn)的是,我們?cè)趃ithub上找到開(kāi)源的顏色提取項(xiàng)目Color thief,它是基于中位切分法實(shí)現(xiàn)的。此開(kāi)源項(xiàng)目的核心思想簡(jiǎn)述如下:

          • 將圖像的顏色集合視作色彩空間的長(zhǎng)方體
          • 在RBG中最長(zhǎng)的一邊,找到顏色中位數(shù),將其一分為二,使兩個(gè)長(zhǎng)方體中的像素?cái)?shù)量相等,重復(fù)此步驟直至長(zhǎng)方體數(shù)量等于主題色數(shù)量


          在引用開(kāi)源項(xiàng)目后,我們成功提取出圖片的主色,但是在實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn)以下兩個(gè)問(wèn)題:

          • 問(wèn)題1:部分透明底的PNG圖片會(huì)被識(shí)別成黑色
          • 問(wèn)題2:提取出的主色會(huì)受主色數(shù)量及采樣率的影響


          針對(duì)問(wèn)題1:

          經(jīng)過(guò)對(duì)比分析,我們猜測(cè)是透明的像素點(diǎn)被識(shí)別成了黑色,為了驗(yàn)證這一猜想,我們調(diào)研了PNG圖片的格式,PNG圖片分為三通道PNG(RGB PNG)、四通道PNG(RGBA PNG),其中R G B A分別代表紅色通道、綠色通道、藍(lán)色通道、透明度通道,所以我們?cè)讷@取像素點(diǎn)顏色這一步驟中過(guò)濾了全透明像素點(diǎn),成功解決這一問(wèn)題。



          針對(duì)問(wèn)題2:

          我們都知道采樣是一種近似方法,對(duì)圖像進(jìn)行采樣可能導(dǎo)致信息丟失、顏色提取的精確度降低。另外,減少像素?cái)?shù)量,可以提高計(jì)算效率,對(duì)于大尺寸的圖像,可以顯著減少處理時(shí)間、減少資源消耗。我們期望在盡可能還原圖像最真實(shí)的顏色的基礎(chǔ)上,降低對(duì)服務(wù)器的影響,在創(chuàng)意平臺(tái)中,96.8%的圖片大小處于5M以?xún)?nèi),我們對(duì)于這類(lèi)圖片使用最高的采樣標(biāo)準(zhǔn),對(duì)于超過(guò)5M的圖片,盡可能使用最高的采樣標(biāo)準(zhǔn),對(duì)于處理失敗的圖片,未來(lái)將采取壓縮或者轉(zhuǎn)格式的方式來(lái)降低圖像文件大小。


          主色提取數(shù)量的變化會(huì)影響提取的主色范圍。最初,在參考常規(guī)的顏色提取網(wǎng)站后,我們選定了主色數(shù)量為4個(gè),在大多數(shù)場(chǎng)景下效果不錯(cuò),但在特殊場(chǎng)景下,肉眼感知的主色和圖片識(shí)別的主色不一致。


          我們第一反應(yīng):這張圖片應(yīng)包含橙色、灰色、黑色、棕色。



          但提取出來(lái)的顏色是這樣的:



          為什么沒(méi)有識(shí)別出橙色?我們知道,中位切分法是通過(guò)不斷二分顏色直方體,使得直方體數(shù)量等于主色數(shù)量,最后得出主色,所以在二分的過(guò)程中可能導(dǎo)致顏色精度損失。因此我們的策略是盡可能提取多的顏色,但不可能全量提取,所以我們?cè)谠?個(gè)主色的基礎(chǔ)上,分別增加1、2、3個(gè)進(jìn)行對(duì)比測(cè)試。


          提取5個(gè)主色



          提取6個(gè)主色



          提取7個(gè)主色



          測(cè)試結(jié)果顯示,在把主色數(shù)量設(shè)置為5時(shí),提取的主色基本就能覆蓋所有主色,再增加提取的主色數(shù)量也不過(guò)是增加"重復(fù)"的棕色,因此選定主色提取數(shù)量為5個(gè)。


          然而,這又引入一個(gè)新問(wèn)題,當(dāng)把主色提取數(shù)量設(shè)置為5個(gè)后,簡(jiǎn)單類(lèi)型的圖像主色包含占比很低的顏色。為了避免這一情況,就需要過(guò)濾占比較低的顏色,但是占比多少算低,沒(méi)有一個(gè)準(zhǔn)確的定論,只能通過(guò)不斷調(diào)整主色在原圖上的占比閾值來(lái)反復(fù)測(cè)試,最后,我們找到一個(gè)相對(duì)合適的占比范圍。


          2. 顏色歸類(lèi)

          首先,我們回顧一下RGB顏色空間,以r g b為軸,建立空間坐標(biāo)系,如下圖所示。



          可以看到,在RGB空間中,八個(gè)頂角分別代表了黑色、紅色、綠色、藍(lán)色、黃色、洋紅色、青色、白色。顯然,通過(guò)主色rgb值就確定主色屬于什么顏色是一件非常困難的事情,原因有二,第一,rgb三個(gè)分量是高度相關(guān)的,即使在rgb分量上有些許的變化,也會(huì)導(dǎo)致顏色分類(lèi)改變;第二,RBG顏色空間是面向機(jī)器的,顏色均勻性很差,無(wú)法通過(guò)空間點(diǎn)之間的關(guān)系進(jìn)行分類(lèi);所以我們不能使用RGB顏色空間。


          為了將主色進(jìn)行顏色歸類(lèi),我們需要更合適的顏色模型。通過(guò)調(diào)研,常見(jiàn)的顏色模型有CMYK、LAB、HSV。


          常見(jiàn)的顏色模型


          CMYK顏色模型

          CMYK顏色模型是一種用于印刷和出版的顏色模型,它表示顏色通過(guò)四個(gè)顏色通道:青(Cyan)、洋紅(Magenta)、黃(Yellow)和黑(Key,通常表示黑色)。這四個(gè)顏色通道可以組合產(chǎn)生多種顏色。


          LAB顏色模型

          LAB顏色空間是一種顏色空間,也稱(chēng)為CIE Lab*顏色空間,由國(guó)際照明委員會(huì)(CIE)定義。它是一種基于人眼感知的顏色空間,與設(shè)備無(wú)關(guān),用于更準(zhǔn)確地描述和測(cè)量顏色,更適用于顏色編輯

          • L(亮度)
          • 表示顏色的明亮程度
          • 取值范圍:0(黑)到100(白)


          • a(從綠到紅)
          • 表示顏色在紅綠軸上的位置
          • 取值范圍:-128(綠)到127(紅)


          • b(從藍(lán)到黃)
          • 表示顏色在藍(lán)黃軸上的位置
          • 取值范圍:-128(藍(lán))到127(黃)


          LAB顏色空間如下所示:



          HSV顏色模型

          HSV顏色模型是一種描述顏色的方式,其中顏色由三個(gè)屬性組成:色調(diào)(Hue)、飽和度(Saturation)和明度(Value)。HSV模型相對(duì)于RGB模型更加直觀,更符合人類(lèi)對(duì)顏色的感知。


          • 色調(diào)(Hue)
          • 表示顏色的種類(lèi)或類(lèi)型
          • 取值范圍:[0,360],單位:度


          • 飽和度(Saturation)
          • 表示顏色的強(qiáng)度
          • 飽和度為0表示灰度,顏色越飽和,其顏色越純凈
          • 取值范圍:[0,100%]


          • 明度(Value)
          • 表示顏色的亮度
          • 明度為0表示黑色,明度為最大值時(shí)顏色最亮。
          • 取值范圍:[0,100%]


          HSV顏色空間如下所示:



          按照角度劃分出顏色范圍如下所示:



          通過(guò)對(duì)比這三種顏色模型,我們最終選擇了HSV顏色模型。原因有二,第一,HSV顏色空間只需要通過(guò)一個(gè)變量就能控制顏色的線性變化,而LAB顏色空間需要兩個(gè);第二,HSV顏色空間更加容易確定顏色空間范圍。


          如何歸類(lèi)

          通過(guò)觀察HSV顏色空間,顏色歸類(lèi)可以抽象成在局部三維空間中找到指定的點(diǎn),在這個(gè)局部顏色空間中,所有的像素點(diǎn)均被歸類(lèi)成同一個(gè)顏色。我們需要做兩件事,第一,將主色轉(zhuǎn)換成空間中的點(diǎn);第二,確定顏色在HSV顏色空間的范圍


          我們將rgb映射成hsv,構(gòu)建成三維空間坐標(biāo)系。rgb轉(zhuǎn)hsv公式如下,由于java中Color工具類(lèi)中已實(shí)現(xiàn)rgb轉(zhuǎn)hsv,因此不需要再重復(fù)實(shí)現(xiàn)。



          其中 max 等于 r, g, b 中的最大者

          其中 min 等于 r, g, b 中的最小者


          為了方便計(jì)算,hsv的取值范圍分別映射成[0-180] [0-255] [0-255],如下圖所示:



          參考網(wǎng)上資料給出的顏色取值表,我們經(jīng)過(guò)了一系列的主色轉(zhuǎn)換測(cè)試,發(fā)現(xiàn)部分顏色的分類(lèi)不能夠滿(mǎn)足需求,所以,在原有取值表的基礎(chǔ)上,耗費(fèi)了大量時(shí)間進(jìn)行調(diào)整范圍測(cè)試,最終找到一個(gè)相對(duì)合適的取值范圍。原h(huán)sv顏色取值表如下所示:



          3.顏色檢索實(shí)現(xiàn)及效果展示

          在確定主色所在的顏色分類(lèi)空間范圍后,我們有兩種實(shí)現(xiàn)思路:


          第一種方案,存儲(chǔ)素材&模板的主色hsv值,使用給定范圍空間作為入?yún)⑷z索素材&模板,也就是在空間里找點(diǎn)。創(chuàng)意平臺(tái)目前是使用ElasticSearch和MySQL對(duì)素材&模板進(jìn)行存儲(chǔ)和檢索的,雖然兩者都支持了空間檢索,但是僅支持二維空間檢索。如果要使用其他的空間檢索工具,成本會(huì)非常高,因?yàn)樾枰WC數(shù)據(jù)一致性。


          第二種方案,存儲(chǔ)素材&模板的主色hsv對(duì)應(yīng)的顏色分類(lèi),即"色卡",效果等同于顏色標(biāo)簽,再通過(guò)"色卡"進(jìn)行檢索。實(shí)現(xiàn)簡(jiǎn)單,數(shù)據(jù)一致性也可通過(guò)內(nèi)部自研的數(shù)據(jù)同步工具保證。


          經(jīng)過(guò)多方面考量,最終,我們選擇了第二種實(shí)現(xiàn)方案,通過(guò)ElasticSearch實(shí)現(xiàn)存儲(chǔ)與檢索,效果不錯(cuò)。我們支持了PNG、SVG、JPEG、JPG、GIF、PPT、PPTX類(lèi)型文件的主色提取及關(guān)聯(lián)自動(dòng)化,自動(dòng)識(shí)別成功率達(dá)到99%。


          "色卡"紫色檢索圖片素材的效果如下所示:



          在設(shè)計(jì)團(tuán)隊(duì)視角上,資源中心展示的素材&模板均由設(shè)計(jì)師設(shè)置并展示,如果要使用顏色篩選功能則需要設(shè)計(jì)師人工識(shí)別顏色并打標(biāo)。現(xiàn)在,由系統(tǒng)自動(dòng)化處理,可節(jié)省時(shí)間成本20~30s/次(至少節(jié)省原人工處理流程時(shí)間的70%)。另外,資源中心內(nèi)展示的圖片素材&模板存量約為9000,通過(guò)系統(tǒng)處理可節(jié)省時(shí)間50~75h;周均上傳圖片素材&模板約100,周均節(jié)省時(shí)間33~50min;


          在業(yè)務(wù)團(tuán)隊(duì)視角上,圖片主色識(shí)別&關(guān)聯(lián)自動(dòng)化功能上線前,日均檢索總次數(shù)為95,上線后,日均檢索總次數(shù)為122(提升約27%),其中使用"色卡"檢索的次數(shù)為18(占比約15%),由此可見(jiàn),顏色檢索素材&模板功能是很重要的。


          總結(jié)及展望

          在顏色檢索2.0版本中,我們將顏色檢索圖片抽象成在三維空間中尋找點(diǎn),首先使用中位切分法提取圖像的主色,然后構(gòu)建主色的hsv空間坐標(biāo)系,在空間坐標(biāo)系中劃分各顏色空間領(lǐng)域,最后通過(guò)將主色歸類(lèi)到各顏色所在空間,實(shí)現(xiàn)顏色關(guān)聯(lián)圖像,從而達(dá)成顏色檢索圖片的目的。


          顏色檢索只是CBIR(Content-Based Image Retrieval)領(lǐng)域的冰山一角,而我們?cè)诠δ苌鲜褂玫降募夹g(shù)更是微不足道的一粒冰粒,在圖像特征的其他方向如紋理、形狀上,我們還有許多的路要走。



          參考資料

          1.https://github.com/sergeyk/rayleigh

          2.https://github.com/SvenWoltmann/color-thief-java

          3.https://immortalqx.github.io/2020/08/17/opencv-notes-2/

          4.https://blog.csdn.net/xxboy61/article/details/88356005

          5.https://www.mathworks.com/help/images/understanding-color-6.spaces-and-color-space-conversion.html

          7.https://blog.csdn.net/qq_42475234/article/details/122746811

          8.https://blog.csdn.net/lly_3485390095/article/details/104570885


          作者:石開(kāi)

          來(lái)源:微信公眾號(hào):高途技術(shù)

          出處:https://mp.weixin.qq.com/s/Smf2BRoeNenaK96FPs8S0w

          迎觀看 Premiere Pro 教程,小編帶大家學(xué)習(xí) Pr 的基本編輯技巧,了解如何創(chuàng)建顏色溶解過(guò)渡。

          在此項(xiàng)目中,將在兩個(gè)剪輯之間創(chuàng)建一個(gè)過(guò)渡,該過(guò)渡看起來(lái)與典型的交叉溶解非常不同。從編輯工作區(qū)開(kāi)始,將剪輯放在時(shí)間線上,以便第一個(gè)(“傳出”)剪輯與第二個(gè)(“傳入”)剪輯重疊。重疊的長(zhǎng)度應(yīng)該至少與您希望溶解效果持續(xù)的時(shí)間一樣長(zhǎng)。

          將顏色鍵效果應(yīng)用于頂部的傳出剪輯。在「效果控件」面板中,單擊「主要顏色」吸管以對(duì)要用于啟動(dòng)過(guò)渡效果的顏色進(jìn)行采樣。

          對(duì)于戲劇性的外觀,選擇占主導(dǎo)地位的場(chǎng)景,例如天空。

          在短時(shí)間內(nèi)將「顏色容差值」從零到最大值 (255) 設(shè)置關(guān)鍵幀,重疊時(shí)間的一半。

          會(huì)看到傳出的剪輯逐漸消失,露出其下方的傳入剪輯。

          在「效果控件」面板中選擇「顏色鍵」效果并復(fù)制它。

          使用快捷鍵 Command+C,然后按 Command+V。

          在下面的副本中,拖動(dòng)選擇,然后向前移動(dòng)「顏色容差」關(guān)鍵幀,以便第一個(gè)關(guān)鍵幀與上面副本中的第二個(gè)關(guān)鍵幀對(duì)齊。

          將關(guān)鍵顏色更改為仍出現(xiàn)在傳出剪輯中的顏色。

          如果它有助于您對(duì)顏色進(jìn)行采樣,放大播放序列。

          添加第二個(gè)顏色關(guān)鍵點(diǎn)效果將刪除傳出剪輯的所有痕跡,完全顯示傳入剪輯。如果沒(méi)有,稍微增加「邊緣細(xì)化」值。

          嘗試不同的起始鍵顏色,看看它們?nèi)绾斡绊戇^(guò)渡。還可以使用顏色遮罩(或任何圖形)作為傳入的剪輯,使傳出的剪輯逐漸融合到另一個(gè)視頻以外的其他內(nèi)容中。

          以上就是在 Premiere Pro 中創(chuàng)建顏色溶解過(guò)渡的方法。

          https://www.macz.com/mac/6072.html?id=NzY4OTYwJl8mMjcuMTg2LjkuMzM%3D

          法的實(shí)現(xiàn)可以訪問(wèn)鏈接了解:

          https://github.com/hyperparameters/tracking_via_colorization


          目標(biāo)跟蹤概述


          簡(jiǎn)單地說(shuō),它可以理解為在整個(gè)視頻序列中識(shí)別唯一的對(duì)象。要跟蹤的對(duì)象通常稱(chēng)為目標(biāo)對(duì)象,跟蹤可以通過(guò)邊界框或?qū)嵗指顏?lái)完成,有兩種類(lèi)型的公共對(duì)象跟蹤挑戰(zhàn)。


          1. 單目標(biāo)跟蹤:在整個(gè)視頻序列中跟蹤感興趣的目標(biāo),例如VOT挑戰(zhàn)

          2. 多目標(biāo)跟蹤:在整個(gè)視頻序列中跟蹤多個(gè)感興趣的目標(biāo)。例如:MOT挑戰(zhàn)


          研究趨勢(shì)


          一些著名的經(jīng)典的用于解決目標(biāo)跟蹤C(jī)V算法的是:


          1. Mean shift

          2. Optical flow

          3. Kalman filters


          其中最著名的一種多目標(biāo)跟蹤算法是SORT,是以卡爾曼濾波器為核心,并且非常成功的一種算法。


          隨著深度學(xué)習(xí)時(shí)代的到來(lái),社會(huì)上出現(xiàn)了非常有創(chuàng)新性的研究并且深度學(xué)習(xí)方法成功地勝過(guò)了傳統(tǒng)的CV方法來(lái)應(yīng)對(duì)公共跟蹤挑戰(zhàn)。盡管在公共挑戰(zhàn)方面取得了巨大成功但深度學(xué)習(xí)仍在努力為現(xiàn)實(shí)世界中的問(wèn)題陳述提供通用的解決方案。


          深度模型的挑戰(zhàn)


          在訓(xùn)練深度CNN模型時(shí),我們面臨的主要挑戰(zhàn)之一是訓(xùn)練數(shù)據(jù)。


          訓(xùn)練數(shù)據(jù):深度學(xué)習(xí)方法需要大量的數(shù)據(jù),這幾乎每次都會(huì)成為一個(gè)瓶頸。此外,像多目標(biāo)跟蹤這樣的任務(wù)很難注釋?zhuān)疫@個(gè)過(guò)程變得不切實(shí)際而且成本高昂。


          深度模型數(shù)據(jù)永遠(yuǎn)不嫌多


          用自監(jiān)督學(xué)習(xí)來(lái)拯救


          我們都知道有監(jiān)督和非監(jiān)督學(xué)習(xí)技術(shù)。這是一種被稱(chēng)為自監(jiān)督學(xué)習(xí)的新型學(xué)習(xí)方式。在這些類(lèi)型的學(xué)習(xí)中,我們?cè)囍脭?shù)據(jù)中已經(jīng)存在的信息,而不是任何外部標(biāo)簽,或者有時(shí)我們說(shuō)模型是自己學(xué)習(xí)的。實(shí)際上,我們所做的就是訓(xùn)練CNN模型去完成一些其他的任務(wù),間接地幫助我們實(shí)現(xiàn)我們的目標(biāo),這個(gè)模型自我監(jiān)督。這些任務(wù)被稱(chēng)為“代理任務(wù)”或“借口任務(wù)”。

          代理任務(wù)的示例如下:

          • 顏色化

          CNN模型學(xué)習(xí)從灰度圖像預(yù)測(cè)顏色。(來(lái)源:https://arxiv.org/abs/1603.08511)


          • 將圖像補(bǔ)丁放在正確的位置

          從圖像中提取補(bǔ)丁并將其打亂。模型學(xué)習(xí)如何解開(kāi)拼圖并按照正確 的順序排列,如圖3所示。(來(lái)源:https://arxiv.org/abs/1603.09246)


          • 按正確的順序放置視頻幀

          該模型學(xué)習(xí)在視頻序列中對(duì)打亂的幀進(jìn)行排序。[來(lái)源:https://arxiv.org/abs/1708.01246]


          許多這樣的任務(wù)可以用作計(jì)算機(jī)視覺(jué)問(wèn)題的代理任務(wù)。這種訓(xùn)練的一個(gè)主要好處是訓(xùn)練不需要手動(dòng)注釋數(shù)據(jù),并且適合解決生活中實(shí)際的用例。

          通過(guò)視頻著色進(jìn)行自監(jiān)督跟蹤


          我們已經(jīng)看到了并了解了什么是自監(jiān)督模型,您一定猜到了我們將使用著色作為我們的代理任務(wù)的名稱(chēng)。


          通過(guò)給視頻著色來(lái)實(shí)現(xiàn)跟蹤


          我們使用大量未標(biāo)記視頻學(xué)習(xí)模型的視覺(jué)跟蹤無(wú)需人工監(jiān)督。

          arxiv.org(https://arxiv.org/abs/1806.09594)


          簡(jiǎn)介


          著色是代理任務(wù)或借口任務(wù),目標(biāo)跟蹤是主要任務(wù)或下游任務(wù)。采用大規(guī)模的無(wú)標(biāo)記視頻對(duì)模型進(jìn)行訓(xùn)練,不需要人工進(jìn)行任何單一像素的標(biāo)注。該模型利用視頻的時(shí)間相干性對(duì)灰度視頻進(jìn)行著色。這看起來(lái)可能有點(diǎn)混亂,但我會(huì)慢慢給大家講明白。


          模型將如何學(xué)習(xí)跟蹤


          我們將取兩個(gè)幀,一個(gè)目標(biāo)幀(時(shí)刻t),一個(gè)參考幀(時(shí)刻t-1),并通過(guò)模型。該模型期望通過(guò)對(duì)參考幀顏色的先驗(yàn)知識(shí)來(lái)預(yù)測(cè)目標(biāo)幀的顏色。通過(guò)這種方式,模型內(nèi)部學(xué)會(huì)了指向正確的區(qū)域,以便從參考框架復(fù)制顏色,如圖所示。這種指向機(jī)制可以用作推理期間的跟蹤機(jī)制,我們將很快看到如何做到這一點(diǎn)。



          模型接收一個(gè)彩色幀和一個(gè)灰度視頻作為輸入,并預(yù)測(cè)下一幀的顏色。模型學(xué)會(huì)從參考系復(fù)制顏色,這使得跟蹤機(jī)制可以在沒(méi)有人類(lèi)監(jiān)督的情況下學(xué)習(xí)。[來(lái)源:https://ai.googleblog.com/2018/06/self-supervised-tracking-via-video.html]


          我們不復(fù)制網(wǎng)絡(luò)中的顏色,而是訓(xùn)練我們的CNN網(wǎng)絡(luò)學(xué)習(xí)目標(biāo)幀的像素和參考幀的像素之間的相似度(相似度是灰度像素之間),然后線性組合時(shí)使用此相似度矩陣參考幀中的真實(shí)顏色會(huì)給出預(yù)測(cè)的顏色。從數(shù)學(xué)上講,設(shè)C?為參考幀中每個(gè)像素i的真實(shí)顏色,C?為目標(biāo)幀中每個(gè)像素j的真實(shí)顏色。


          [資源鏈接:https://arxiv.org/abs/1806.09594]

          公式1:預(yù)測(cè)顏色與參考顏色的線性組合

          如何計(jì)算相似度矩陣


          無(wú)論是圖像、參考幀還是目標(biāo)幀都經(jīng)過(guò)模型學(xué)習(xí)后對(duì)每個(gè)像素進(jìn)行了低層次的嵌入,這里f?是像素i在參考幀中的嵌入,類(lèi)似地,f是像素j在目標(biāo)幀中的嵌入。然后,計(jì)算相似度矩陣:

          公式2:用softmax歸一化的內(nèi)積相似度


          相似矩陣中的每一行表示參考幀的所有像素i和目標(biāo)幀的像素j之間的相似性,因此為了使總權(quán)重為1,我們對(duì)每一行應(yīng)用softmax。


          Lets look an example with dimension to make it clear,we try to find a similarity matrix of 1 pixel from target frame.An illustration of this example is shown below.Consider reference image and target image, size (5, 5) => (25,1)for each pixel, cnn gives embedding of size (64, 1), embedding for reference frame, size (64, 25), embedding for target frame, size (64, 25),  embedding for 3rd pixel in target frame, size (64, 1)Similarity Matrix, between reference frame and target pixel, j=2  =softmax  , size (25, 64)  (64, 1) => (25,1) =>   (5, 5)we get a similarity between all the ref pixels and a target pixel at j=2.Colorization, To copy the color (here, colours are not RGB but quantized colour of with 1 channel) from reference frame,, Colors of reference frame size (5, 5) => (25, 1), Similarity matrix, size (5, 5) => (1, 25)Predicted color at j=2, , size (1, 25) (25, 1) => (1, 1)From the similarity matrix in below figure, we can see reference color at i=1 is dominant(0.46), thus we have a color copied for target, j=2 from reference, i=1PS:1. ? denotes transpose2. matrix indices starts from 0



          (a)為2幀大小(5,5),(b)為參考幀嵌入與目標(biāo)像素在j =2處嵌入的內(nèi)積,(c) softmax后的相似度矩陣,(d)相似度矩陣與參考幀真顏色的線性組合[來(lái)源:https://github.com/hyperparameters/tracking_via_colorization]


          同樣,對(duì)于目標(biāo)幀中的每個(gè)目標(biāo)像素((5,5)=> 25個(gè)像素),我們將會(huì)有一個(gè)相似矩陣的大小(5,5),即大小為(5,5,25)的完整相似度矩陣A?? =(25,25)。


          在實(shí)現(xiàn)中,我們將使用(256 x 256)圖像擴(kuò)展相同的概念。


          圖像量化



          第一行顯示原始幀,第二行顯示來(lái)自實(shí)驗(yàn)室空間的ab顏色通道。第三行將顏色空間量化到離散的容器中,并打亂顏色,使效果更加明顯。[來(lái)源:https://arxiv.org/abs/1806.09594]


          顏色是空間頻率偏低,所以我們可以處理低分辨率的幀。我們不需要C(255,3)顏色組合,所以我們創(chuàng)建了16個(gè)聚類(lèi)并將顏色空間量化為這些聚類(lèi)。現(xiàn)在我們只有16種獨(dú)特的顏色簇(見(jiàn)上圖第3欄)。聚類(lèi)是用k-均值完成的。16個(gè)群集會(huì)有一些顏色信息的丟失,但足以識(shí)別物體。我們可以增加聚類(lèi)的數(shù)目來(lái)提高著色的精度,但代價(jià)是增加計(jì)算量。


          [來(lái)源:https://arxiv.org/abs/2002.07793]


          為了將圖像量化成簇,我們將使用LAB顏色空間的AB通道而不是RGB顏色空間通道。上面的圖顯示了RGB和LAB通道間的相關(guān)性,從圖中我們可以得出結(jié)論


          RGB往往比LAB更具相關(guān)性。


          LAB將強(qiáng)制模型學(xué)習(xí)不變性,它將強(qiáng)制其學(xué)習(xí)更強(qiáng)大的表示形式,而不是依賴(lài)于本地顏色信息。


          可以使用sklearn的KMeans軟件包進(jìn)行聚類(lèi)。



          這個(gè)類(lèi)將用于制作顏色的簇,我們將把它存儲(chǔ)為一個(gè)pickle。

          實(shí)現(xiàn)


          注意:我使用pytorch來(lái)進(jìn)行實(shí)現(xiàn),它遵循(N, C, H, W)格式。在處理矩陣重塑時(shí)要記住這一點(diǎn)。如果你對(duì)形狀有任何疑問(wèn),請(qǐng)隨時(shí)與我們聯(lián)系。


          該模型從參考幀中學(xué)習(xí)為視頻幀著色。[來(lái)源:https://ai.googleblog.com/2018/06/self-supervised-tracking-via-video.html]


          輸入


          該模型的輸入是四個(gè)灰度視頻幀,其下采樣為256×256。三個(gè)參考幀和一個(gè)目標(biāo)幀。

          預(yù)處理


          首先,我們將所有的訓(xùn)練視頻壓縮到6fps。然后預(yù)處理框架以創(chuàng)建兩個(gè)不同的集合。一個(gè)用于CNN模型,另一個(gè)用于著色任務(wù)。


          - Video fps is reduced to 6 fpsSET 1 - for CNN Model- Down sampled to 256 x 256- Normalise to have intensities between [-1, 1]SET 2 - for Colourization- Convert to LAB colour space- Downsample to 32 x 32- Quantize in 16 clusters using k-means- Create one-hot vector corresponding to the nearest cluster centroid


          模型結(jié)構(gòu)


          所用的主干是ResNet-18,因此其結(jié)果與其他方法相當(dāng)。ResNet-18的最后一層被更新為32 x 32 x 256的尺寸輸出。ResNet-18的輸出隨后被傳送到3D-Conv網(wǎng)絡(luò),最終輸出為32 x 32 x 64。(下面的代碼塊顯示了從ResNet-18網(wǎng)絡(luò)獲取輸入的3D網(wǎng)絡(luò))


          訓(xùn)練


          訓(xùn)練可分為以下3個(gè)步驟:


          1. 網(wǎng)絡(luò)傳遞

          我們將使用SET 1的預(yù)處理幀,即通過(guò)網(wǎng)絡(luò)傳遞大小為(256 x 256)的4個(gè)灰度幀,以獲得具有64個(gè)通道的(32 x 32)空間圖。對(duì)于(32 x 32)圖像的每個(gè)像素,這可以解釋為64維嵌入。因此,我們有四個(gè)這樣的像素級(jí)嵌入,三個(gè)用于參考圖像,一個(gè)用于目標(biāo)圖像 。


          2. 相似度矩陣


          利用這五個(gè)嵌入,我們找到了參考幀和目標(biāo)幀之間的相似矩陣。對(duì)于目標(biāo)幀中的像素我們將獲得一個(gè)相似度值,其中所有三個(gè)參考幀中的所有像素均通過(guò)softmax歸一化為1。



          3. Colourization著色處理


          我們將使用SET 2的預(yù)處理幀,即將四個(gè)降采樣為(32 x 32)并量化的幀用于著色。將三個(gè)參考幀與相似度矩陣相結(jié)合,得到預(yù)測(cè)的量化幀。我們發(fā)現(xiàn)了具有預(yù)測(cè)顏色的交叉熵?fù)p失,(記住,我們量化幀到16個(gè)聚類(lèi),現(xiàn)在我們有16個(gè)類(lèi)別。我們發(fā)現(xiàn)在這些顏色上有多類(lèi)交叉熵?fù)p失。


          推理


          跟蹤預(yù)測(cè)的例子[來(lái)源:https://ai.googleblog.com/2018/06/self-supervised-tracking-via-video.html]


          在學(xué)習(xí)了著色的任務(wù)后,我們有了一個(gè)模型,可以計(jì)算一對(duì)目標(biāo)框架和參考框架的相似矩陣a??。對(duì)于跟蹤的實(shí)際任務(wù),我們利用了標(biāo)簽空間中模型是非參數(shù)的這一特性。我們簡(jiǎn)單地重復(fù)使用等式1來(lái)傳播,但不是傳播顏色,而是傳播類(lèi)別的分布。對(duì)于第一幀,我們有真實(shí)框掩碼,我們將所有實(shí)例掩碼布置為一獨(dú)熱矢量c?(這類(lèi)似于訓(xùn)練期間使用的量化顏色的一獨(dú)熱矢量)。將c?與我們的相似性矩陣A相結(jié)合,以找到掩碼的新位置,但請(qǐng)記住,隨后幾幀中的c?預(yù)測(cè)將變得很柔和,表明模型的置信度。為了做出艱難的決定,我們可以簡(jiǎn)單地選擇最自信的那一類(lèi)。推理算法為:


          失效模式


          失效模式


          讓我們來(lái)討論一下,當(dāng)模型在某些場(chǎng)景中趨于失敗時(shí),這主要是著色失敗的情況,這意味著著色與跟蹤有很高的相關(guān)性。


          在以下情況下會(huì)發(fā)現(xiàn)一些故障:


          • 當(dāng)光線在視頻中劇烈或頻繁變化時(shí)
          • 該方法成功地跟蹤了輕微到中等遮擋情況下的目標(biāo),但當(dāng)物體受到嚴(yán)重遮擋時(shí)無(wú)法進(jìn)行對(duì)目標(biāo)的跟蹤
          • 物體尺寸大小突然發(fā)生變化

          主站蜘蛛池模板: 日韩人妻一区二区三区蜜桃视频 | 一区二区精品视频| 午夜福利一区二区三区在线观看| 中文字幕一区二区视频| 在线精品动漫一区二区无广告| 日韩精品一区二三区中文| 一区二区三区在线观看视频| 国产精品视频一区二区三区不卡| 精品国产一区二区22| 久久久91精品国产一区二区三区| 久久综合九九亚洲一区| 蜜桃无码AV一区二区| 无码一区二区波多野结衣播放搜索| 久久精品成人一区二区三区| 国产人妖视频一区在线观看| 精品一区二区三区视频| 果冻传媒一区二区天美传媒| 亚洲av福利无码无一区二区| 亚洲综合色一区二区三区小说| 激情无码亚洲一区二区三区| 美女视频免费看一区二区| 国产一区二区精品尤物| 肉色超薄丝袜脚交一区二区| 深田咏美AV一区二区三区| 国产一区二区精品久久岳√| 在线精品动漫一区二区无广告| 国语精品一区二区三区| 国产对白精品刺激一区二区 | 国产传媒一区二区三区呀| 久久无码一区二区三区少妇 | 国产福利91精品一区二区| 夜夜精品视频一区二区| 亚洲毛片不卡av在线播放一区| 亚洲一区二区三区无码中文字幕 | 一区二区三区美女视频| 亚洲视频在线一区| 无码aⅴ精品一区二区三区| 亚洲av午夜精品一区二区三区| 日韩免费视频一区二区| 国产乱码精品一区二区三区香蕉| 国产伦一区二区三区高清|