導(dǎo)讀
本文討論使用生成數(shù)據(jù)集來做目標(biāo)檢測(cè)的一些基礎(chǔ)概念。
今天,我們開始一系列專門討論一個(gè)特定的機(jī)器學(xué)習(xí)問題,這個(gè)問題通常由合成數(shù)據(jù)來補(bǔ)充:物體檢測(cè)。在這個(gè)系列的第一篇文章中,我們將討論什么是目標(biāo)檢測(cè),以及數(shù)據(jù)從哪里來,以及如何讓你的網(wǎng)絡(luò)來檢測(cè)物體的邊界框下面。
問題設(shè)定:什么是物體檢測(cè)
如果你有過計(jì)算機(jī)視覺方面的經(jīng)驗(yàn),或者聽過許多關(guān)于現(xiàn)代深度學(xué)習(xí)的神奇之處的介紹,你可能知道圖像分類問題:如何區(qū)分貓和狗?
盡管這只是一個(gè)二元分類(一個(gè)回答是/否的問題),但這已經(jīng)是一個(gè)非常復(fù)雜的問題了。真實(shí)世界的圖像“生活”在一個(gè)非常高維的空間中,以數(shù)百萬計(jì)的特征為數(shù)量級(jí):例如,從數(shù)學(xué)上講,一張一百萬像素的彩色照片是一個(gè)超過三百萬數(shù)字的向量!因此,圖像分類的重點(diǎn)不在于實(shí)際學(xué)習(xí)決策面(分離類),而在于特征提取:我們?nèi)绾螌⑦@個(gè)巨大的空間投射到更易于管理的東西上,而分割平面可以相對(duì)簡(jiǎn)單?
這正是深度學(xué)習(xí)取得如此成功的原因:它不依賴于人們以前用于計(jì)算機(jī)視覺的手工功能SIFT,而是從零開始學(xué)習(xí)自己的特征。分類器本身仍然非常簡(jiǎn)單和經(jīng)典:幾乎所有用于分類的深度神經(jīng)網(wǎng)絡(luò)都帶有一個(gè)softmax層,即基本的邏輯回歸。關(guān)鍵是如何將圖像空間轉(zhuǎn)換為邏輯回歸足夠的表示,而這正是網(wǎng)絡(luò)的其他部分的切入點(diǎn)。如果你看一些早期文章你可以找到例子,人們學(xué)習(xí)深度神經(jīng)網(wǎng)絡(luò)提取特征,然后應(yīng)用其他分類器,如支持向量機(jī):
但到目前為止,這是很少見的:一旦我們有足夠的數(shù)據(jù)來訓(xùn)練最先進(jìn)的特征提取器,在最后進(jìn)行簡(jiǎn)單的邏輯回歸就容易得多,也足夠了。在過去的十年里,人們已經(jīng)開發(fā)了大量的圖像特征提取器:AlexNet, VGG, Inception, ResNet, DenseNet, EfficientNet……
要把它們?nèi)拷忉屒宄饪恳黄┛臀恼率沁h(yuǎn)遠(yuǎn)不夠的,但常見的思路是,你有一個(gè)特征提取主干,后面跟著一個(gè)簡(jiǎn)單的分類層,然后你在一個(gè)大型圖像分類數(shù)據(jù)集中從頭到尾地訓(xùn)練整個(gè)東西,通常是ImageNet,這是一個(gè)巨大的人工標(biāo)記和管理的數(shù)據(jù)集,有超過1400萬張圖片,標(biāo)記了近22000個(gè)類別,以語義層次組織:
一旦你完成了這些,網(wǎng)絡(luò)已經(jīng)學(xué)會(huì)了為真實(shí)世界的攝影圖像提取信息豐富的、有用的特征,所以即使你的類不是來自ImageNet,它也通常是一個(gè)調(diào)整以適應(yīng)這個(gè)新信息的問題。當(dāng)然,你仍然需要新的數(shù)據(jù),但通常不是數(shù)以百萬計(jì)的圖像。當(dāng)然,除非這是一個(gè)完全新穎的圖像領(lǐng)域,如x射線或顯微鏡,在那里ImageNet不會(huì)有太大幫助。
但視覺并不是這樣工作的。當(dāng)我環(huán)顧四周,我在腦海中看到的不僅僅是單一的標(biāo)簽。我在我的視野中區(qū)分不同目標(biāo):現(xiàn)在我看到了鍵盤,我自己的手,一個(gè)監(jiān)視器,一個(gè)咖啡杯,一個(gè)網(wǎng)絡(luò)攝像頭等等,基本上是在同一時(shí)間。我能夠從一個(gè)單一的靜止圖像中同樣區(qū)分所有這些物體。
這意味著我們需要從分類開始繼續(xù)下去、分類時(shí)為整個(gè)圖像分配一個(gè)標(biāo)簽(你可以分配多個(gè)multilabel分類模型,但是他們?nèi)匀皇钦麄€(gè)圖像打標(biāo)簽),其他問題,需要更細(xì)粒度的分析圖像中的目標(biāo)。人們通常會(huì)區(qū)分幾種不同的問題:
分類,就像我們上面討論的那樣。
分類 + 定位,你假設(shè)圖像中只有一個(gè)中心目標(biāo),你需要去定位這個(gè)目標(biāo),畫一個(gè)包圍框出來。
物體檢測(cè),我們今天的主題,需要在一張圖像中找到多個(gè)目標(biāo),并框出來。
最后,分割是更加復(fù)雜的問題,你需要找到物體的實(shí)際輪廓,即,基本上把圖像上的每一個(gè)像素劃分為一個(gè)物體或背景,分割也有幾種不同的方式(語義分割、邊界分割和實(shí)例分割)。
用貓和狗解釋如下:
從數(shù)學(xué)上講,這意味著網(wǎng)絡(luò)的輸出不再僅僅是一個(gè)類標(biāo)簽。它現(xiàn)在是幾個(gè)不同的類標(biāo)簽,每個(gè)都有相關(guān)聯(lián)的矩形。矩形由四個(gè)數(shù)字定義(兩個(gè)相對(duì)角的坐標(biāo),或一個(gè)角的坐標(biāo),寬度和高度),所以現(xiàn)在每個(gè)輸出在數(shù)學(xué)上是四個(gè)數(shù)字和一個(gè)類標(biāo)簽。
從機(jī)器學(xué)習(xí)的角度來看,在我們開始思考如何解決問題之前,我們需要找到數(shù)據(jù)?;镜腎mageNet數(shù)據(jù)集沒有什么用:它是一個(gè)分類數(shù)據(jù)集,所以它有像“Cat”這樣的標(biāo)簽,但是它沒有邊界框!手動(dòng)標(biāo)注現(xiàn)在是一個(gè)更困難的問題:你必須為每個(gè)目標(biāo)提供一個(gè)邊界框,而不僅僅是點(diǎn)擊正確的類標(biāo)簽,而且在一張照片上可能有許多目標(biāo)。
下面是一個(gè)用于通用目標(biāo)檢測(cè)問題的標(biāo)注的例子。
你可以想象,為目標(biāo)檢測(cè)而手動(dòng)標(biāo)注一幅圖像需要整整幾分鐘,而不是像用于分類那樣需要幾秒鐘。那么像這樣的大型數(shù)據(jù)集從何而來呢?
目標(biāo)檢測(cè)數(shù)據(jù)集:真實(shí)
讓我們首先看看我們有什么樣的使用真實(shí)目標(biāo)和人工標(biāo)注的目標(biāo)檢測(cè)數(shù)據(jù)集。首先,讓我們快速回顧最流行的數(shù)據(jù)集。
ImageNet數(shù)據(jù)集作為ImageNet大規(guī)模視覺識(shí)別挑戰(zhàn)(ILSVRC)的關(guān)鍵部分而受到歡迎,這是2010年至2017年舉辦的一系列比賽。ILSVRC系列見證了一些卷積神經(jīng)網(wǎng)絡(luò)中最有趣的進(jìn)展:AlexNet、VGG、GoogLeNet、ResNet和其他著名的架構(gòu)都在這里首次亮相。
一個(gè)不太為人所知的事實(shí)是ILSVRC也一直有一個(gè)物體檢測(cè)競(jìng)賽,而ILSVRC系列實(shí)際上是與另一個(gè)著名的競(jìng)賽合作發(fā)展起來的,2005年至2012年舉辦的PASCAL Visual Object Classes (VOC) Challenge。這些挑戰(zhàn)也從一開始就體現(xiàn)了目標(biāo)檢測(cè),這就是第一個(gè)著名的數(shù)據(jù)集的由來,通常被稱為PASCAL VOC數(shù)據(jù)集。以下是“飛機(jī)”和“自行車”類別的一些示例圖片:
按照今天的標(biāo)準(zhǔn),PASCAL VOC是相當(dāng)小的:20個(gè)類,只有11530張圖片,27450個(gè)目標(biāo)標(biāo)注,這意味著PASCAL VOC每幅圖片只有不到2.5個(gè)目標(biāo)。目標(biāo)通常是相當(dāng)大的和突出的照片,所以PASCAL VOC是一個(gè)“容易”的數(shù)據(jù)集。盡管如此,在很長(zhǎng)一段時(shí)間里,它仍然是最大的手動(dòng)標(biāo)注的目標(biāo)檢測(cè)數(shù)據(jù)集之一,并在數(shù)百篇關(guān)于目標(biāo)檢測(cè)的論文中默認(rèn)使用。
在規(guī)模和復(fù)雜性方面的下一步是Microsoft Common Objects in Context (Microsoft COCO)數(shù)據(jù)集。到目前為止,它已經(jīng)超過200K帶有150萬個(gè)目標(biāo)實(shí)例的標(biāo)記圖像,它不僅提供了邊界框,而且還提供了(相當(dāng)粗糙的)分割輪廓。以下是一些示例圖片:
正如你所看到的,現(xiàn)在的目標(biāo)更加多樣化,它們可以有非常不同的大小。這實(shí)際上是一個(gè)物體檢測(cè)的大問題:很難讓一個(gè)單一的網(wǎng)絡(luò)同時(shí)檢測(cè)大大小小的物體,這也是為什么MS COCO被證明是一個(gè)比PASCAL VOC更難的數(shù)據(jù)集的主要原因。數(shù)據(jù)集仍然是非常相關(guān)的,在目標(biāo)檢測(cè),實(shí)例分割和其他賽道每年舉行比賽。
我想談?wù)摰淖詈笠粋€(gè)通用目標(biāo)檢測(cè)數(shù)據(jù)集是目前最大的可用數(shù)據(jù)集:谷歌的Open Images Dataset。到目前為止,他們到了Open Images V6,它有大約190萬張圖片和1600萬個(gè)邊界框600個(gè)目標(biāo)類。這相當(dāng)于每幅圖像有8.4個(gè)邊界框,所以場(chǎng)景相當(dāng)復(fù)雜,物體的數(shù)量也更加均勻分布:
這些例子看起來有趣、多樣,有時(shí)非常復(fù)雜:
實(shí)際上,Open Images之所以成為可能,是因?yàn)槟繕?biāo)檢測(cè)本身的進(jìn)步。如上所述,手工繪制邊界框非常耗時(shí)。幸運(yùn)的是,在某種程度上,現(xiàn)有的目標(biāo)檢測(cè)器變得非常好,以至于我們可以將邊界框委托給機(jī)器學(xué)習(xí)模型,而只用人類來驗(yàn)證結(jié)果。也就是說,你可以將模型設(shè)置為一個(gè)相對(duì)較低的靈敏度閾值,這樣你就不會(huì)錯(cuò)過任何重要的信息,但結(jié)果可能會(huì)有很多誤報(bào)。然后請(qǐng)人工標(biāo)注確認(rèn)正確的邊界框并拒絕誤報(bào)。
據(jù)我所知,這一范式的轉(zhuǎn)變發(fā)生在2016年前后Papadopoulos等人的一篇論文之后。它更易于管理,這就是Open Images成為可能的原因,但是對(duì)于人類標(biāo)注者來說,它仍然有很多工作要做,所以只有像谷歌這樣的巨人才能提供如此規(guī)模的目標(biāo)檢測(cè)數(shù)據(jù)集。
當(dāng)然,還有更多的對(duì)象檢測(cè)數(shù)據(jù)集,通常用于更專門的應(yīng)用程序:這三個(gè)是覆蓋通用目標(biāo)檢測(cè)的主要數(shù)據(jù)集。但等等,這是一個(gè)關(guān)于合成數(shù)據(jù)的博客,我們還沒有說過一個(gè)字!讓我們解決這個(gè)問題。
目標(biāo)檢測(cè)數(shù)據(jù)集:為什么要合成數(shù)據(jù)?
有了像Open Images這樣的數(shù)據(jù)集,主要的問題就變成了:我們到底為什么需要合成數(shù)據(jù)來進(jìn)行目標(biāo)檢測(cè)?Open Images看起來幾乎和ImageNet一樣大,我們還沒有聽說過很多關(guān)于圖像分類的合成數(shù)據(jù)。
對(duì)于目標(biāo)檢測(cè),答案在于細(xì)節(jié)和具體的用例。是的,Open Images很大,但它并不能覆蓋你可能需要的所有內(nèi)容。舉個(gè)恰當(dāng)?shù)睦?假設(shè)你正在為一輛自動(dòng)駕駛汽車構(gòu)建一個(gè)計(jì)算機(jī)視覺系統(tǒng)。當(dāng)然,Open Images有“Car”類別,但你需要更多的細(xì)節(jié):不同交通情況下的不同類型的汽車、路燈、各種類型的行人、交通標(biāo)志等等。如果你所需要的只是一個(gè)圖像分類問題,那么你可以為新類創(chuàng)建自己的數(shù)據(jù)集,每個(gè)類包含幾千張圖像,手工為其貼上標(biāo)簽,并為新類調(diào)整網(wǎng)絡(luò)。在目標(biāo)檢測(cè),特別是分割中,它就不那么容易工作了。
考慮一下最新和最大的自動(dòng)駕駛真實(shí)數(shù)據(jù)集:Caesar et al.的nuScenes,順便說一下,這篇論文已經(jīng)被CVPR 2020接受了。他們創(chuàng)建了一個(gè)包含6個(gè)攝像機(jī)、5個(gè)雷達(dá)和1個(gè)激光雷達(dá)的完整數(shù)據(jù)集,并使用3D邊界框(這是我們走向3D場(chǎng)景理解的新標(biāo)準(zhǔn))和人類場(chǎng)景描述進(jìn)行了充分標(biāo)注。以下是數(shù)據(jù)的一個(gè)樣本:
所有這些都是在視頻中完成的!nuScenes數(shù)據(jù)集包含1000個(gè)場(chǎng)景,每20秒以2Hz的頻率進(jìn)行關(guān)鍵幀采樣,所以總共有40000張非常相似的40張標(biāo)注圖像(來自同一個(gè)場(chǎng)景)。給這類數(shù)據(jù)貼上標(biāo)簽已經(jīng)是一項(xiàng)龐大而昂貴的工作。
將其與名為ProcSy的自動(dòng)駕駛合成數(shù)據(jù)集進(jìn)行比較。它的特點(diǎn)是像素完美的分割(使用合成數(shù)據(jù),沒有區(qū)別,你可以像要求分割邊界框一樣簡(jiǎn)單),使用CityEngine構(gòu)建深度地圖的城市場(chǎng)景與交通,然后用虛幻引擎渲染。它看起來像這樣(帶有分割、深度和遮擋圖):
在論文中,比較了不同分割模型在惡劣天氣條件和其他可能使問題復(fù)雜化的因素下的性能。為此,他們只需要11000幀的小數(shù)據(jù)樣本,這就是你可以從上面的網(wǎng)站下載的(順便說一下,壓縮文件就有30Gb)。他們報(bào)告說,這個(gè)數(shù)據(jù)集是從135萬可用的道路場(chǎng)景中隨機(jī)抽取的。但最重要的部分是數(shù)據(jù)集是程序生成的,所以實(shí)際上它是一個(gè)潛在的無限數(shù)據(jù)流,你可以改變地圖、交通類型、天氣狀況等等。
這是合成數(shù)據(jù)的主要特點(diǎn):一旦你預(yù)先投資創(chuàng)建(或者更準(zhǔn)確地說,尋找和調(diào)整)你感興趣的目標(biāo)的3D模型,你就可以擁有盡可能多的數(shù)據(jù)。如果你做了額外的投資,你甚至可以轉(zhuǎn)向全尺寸交互式3D世界,但這又是另一個(gè)故事了。
英文原文:https://synthesis.ai/2020/08/05/object-detection-with-synthetic-data-i-introduction-to-object-detection/
作者:Sergey Nikolenk
編譯:ronghuaiyang
責(zé)任編輯:lq6
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7030瀏覽量
89036 -
物體檢測(cè)
+關(guān)注
關(guān)注
0文章
8瀏覽量
9179
原文標(biāo)題:如何使用合成數(shù)據(jù)集來做目標(biāo)檢測(cè)?
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論