廣州迷你小鏡子聯盟

如何做一個“實用”的圖像數據集

只看樓主 收藏 回復
  • - -
樓主
  

目錄

?

引言

一、探究數據的“用途”

二、梳理專業的“知識”

三、數據與知識“迭代”

四、確定性能的“指標”

五、總結

鳴謝、文獻

?

編者序


大家都說這是一個大數據的年代,人工智能的落地需要數據, 深度學習更需要海量數據。于是, 出現了一個流行的口號:“數據就是新的石油“(Data is the new oil)。這個比喻很形象,但容易把問題簡單化。首先,對于人工智能的應用來說,數據頂多只是原油( crude oil),就是那種黑糊糊的液體, 要變成可以用的汽油, 還需要復雜的取舍和提煉過程。其次,汽油對各種汽車是通用的,而人工智能的需求非常廣泛, 任務各異,往往根據不同任務,要精煉不同的汽油。更復雜的是,對于一個行業或者產品來說, 它的任務定義往往是模糊的。那么“數據”和“任務”需要一個長期的迭代過程,這個過程成本是相當高的。

賈夢雷帶領的阿里巴巴“圖像和美”團隊開發計算機視覺在時尚領域的應用,花了7年時間迭代數據與任務。非常感謝他與我們分享他們在第一線“煉油”的心路歷程, 以及各種洞見。

?

引言


我們在阿里巴巴圖像和美團隊探索將AI用于時尚領域,已經有七個年頭。我們希望開發的AI產品對衣服的理解不只限于照片和文字,而是可以理解衣服本身,進而理解時尚穿搭之道、理解流行風向;我們希望這樣的理解可以作用在阿里巴巴數以億計的商品上,從而影響大眾、改變行業。


讓AI懂得時尚,且不說商業落地,僅從技術上聽起來,就有點天方夜譚:時尚是如此主觀,人都很難理解,何況機器?其實,做時尚AI的魅力也就在此——“如何客觀地看待主觀世界”——需要我們把嚴謹的科研態度和行業洞察力、想象力結合在一起,才能為機器打造一顆“時尚之心”。


讓機器理解衣服,核心是制作服飾圖像數據集。我們在本文分享“時尚之心”項目中最基礎也最有挑戰的部分:如何制作一個“實用”的圖像數據集?這里的“實用”指的是能夠達到商業落地的程度。構建一個圖像數據集,即是在一定的“用途”目的下,將“知識”與“圖像”做關聯,并給出評價算法的“指標”。


文章結構也是按照以上四個關鍵詞來組織的:文章第一部分是對“用途”的探討,第二、三、四部分圍繞著“知識”、“數據”和“指標”來展開,最后是總結。


一、探究數據的“用途”



一方面覺得被拷問“用途”是受辱,一方面又覺得朋友問得對。后來我常拿“做什么用”來問自己,提醒自己這個世界另有期待。畢業后我從事計算機視覺的工作。做圖像算法比研究機器人探路更接近現實應用。要讓算法走向實用,首先要讓數據集走向實用。圖像數據集在計算機視覺研究中的的作用,好比實驗對象在科研工作中的作用。實驗對象的采制是否嚴謹合理、距離實際有多遠,直接決定了科研成果是否可靠、是否能用于實際。可以說,實驗對象在相當程度上決定了科研活動的水平。



中國古代用“性、相、用”來分析一個事物,即通過“性質、顯現、用途”來認識一個事物。套用在數據集上:“性”是制作數據集的方法和原則,“相”是數據集的具體內容,“用”是數據集的用途。


在過去,論文往往著重介紹數據集的“性”和“相”,即制作方法和具體內容,而對數據集的“用”描述過于簡略。也難怪,過去的數據集基本用來驗證方法本身(如分類方法、檢測方法),是從學者的視角出發,而不是從實際問題出發。業界衡量一個數據集是否成功,往往只用被引用次數、影響力大小,而忽略數據集的內在邏輯結構和外在實用價值,有點像自說自話。


我們關心AI算法的落地,就必須關心數據集的用途。圖像中的內容,可分為兩大類:“自然的”和“人造的”。自然的如風景、動物,人造的如汽車、文字。內容為自然事物的圖像,例如人臉照片,是證件照還是監控攝像頭拍照,差異巨大,這是由其使用場景——用途——直接決定的。而對于人造事物,“用途”的重要性更甚:事物的形態往往是其功能的體現,人們是通過“用途”去認識這類東西的。


強調“用”不僅是出于實用價值,也是加深對研究對象的理解的內在需要。在制作數據集的過程中,“用途”作為制作者做取舍的依據,其作用會體現在各個環節、不同層面上。接下來我們首先看到的,就是重視“用途”對于數據集中“知識”的影響。


二、梳理專業的“知識”


2.1忽視專業知識,無法做出有用的數據集


我們把一個特定場景下的經驗和規則,稱為專業知識。制作一個實用的圖像數據集,即是將特定場景下的知識與該場景下的圖像做關聯。如同制作一個工具,制作人員事先對于工具的典型使用場景必須有所了解,設計上有對該場景的考慮。如果缺乏特定場景的經驗,數據集就無法指導實踐。



有的制作者雖然使用了特定領域的數據,但缺乏專業人士的指導,只是沿用學術界慣有的方法,想當然的把一些專有名詞與圖像做了關聯。這樣制作出的數據集可能與實際情況有很大偏差。


舉一例,DeepFashion[4]是2016年發布的一個服飾圖像數據集,包括了超過80萬張時裝照片,被歸到50個類別里。這50個類別標簽來自制作者從兩個服飾網站的查詢詞中抽取的名詞,這些標簽被聲明是互斥的,但實際情況并非如此。例如毛衣(Sweater)和龜領(Turtleneck)這兩個標簽,毛衣屬于“材質”的范疇,而龜領屬于“領子設計”的范疇,兩個標簽在概念上并非平行對等,不能并列作為服飾的兩個類別。如圖1,“龜領”類別的衣服,同時也是“毛衣”。這類錯誤在DeepFashion數據集中并不少見。


圖1.DeepFashion中的“龜領”標簽下服裝



2.2 原有知識體系往往有局限


即使能獲取到專門的數據,有專業人士的幫助,數據集制作者在“知識構建”上仍需付出巨大的努力。這是因為,知識的“用途”發生了變化。


這里的“完備”,指的是上層概念所覆蓋的范圍,要能被下層概念完全覆蓋。例如“中國人”可以被“南方人”和“北方人”覆蓋。如果無法完全覆蓋則稱為“不完備”。這里的“二義性”,指的是同層級的兩個概念,覆蓋的范圍有一定的重合,例如會有一部分“中國人”歸屬到“南方人”或“北方人”都說得通,是模棱兩可的。專業知識往往來自于人的日常經驗,天然具有一定的不完備和二義性。例如醫療影像中的疾病種類,是無法完全枚舉的。


人去處理溝通中的“不完備”和“二義性”,問題不大,因為人既有生活常識、也經過一定的背景訓練,可以根據經驗來糾錯。而機器不行,機器就如同白紙一張的嬰幼兒,接收到的往往只有標注數據,告訴他什么就是什么,辨別能力或者說容錯能力非常低。當然我們可以像訓練嬰幼兒一樣,用多種數據訓練一個有一定推理糾錯能力的模型,這屬于探索性的嘗試,對于當下絕大部分的商業應用來說并不現實。因此,有必要對原有知識體系做出修正,減少不完備性和二義性,以適應機器當下的學習能力。


若觀察原有知識體系,可以看出它們多是從一個個實例出發、自底向上構建的,因此難以避免不完備和二義性的缺陷。如果換個方式,一開始就注意避免不完備和二義性,自頂向下構建知識體系,這可行嗎?答案是否定的。我們雖然可以從邏輯上規避二義性,但實際層面的二義性一點不少。例如,我們把“商品圖”分為“模特圖”和“非模特圖”,簡單理解,就是有人的圖,和沒有人只有商品的圖。這在邏輯上沒有二義性,但實際情況例如圖2,圖中是穿在腳上的一雙鞋,這算是模特圖還是非模特圖呢?


圖2.穿在腳上的一雙鞋



圖3. 依次為:平鋪圖、假模圖、手模圖、腿模圖、全身模特圖


對于“不完備”,還有一類普遍情況,值得重視。如圖4所示,我們要標注裙長,但圖中無法展現裙子的全長,這屬于“無法判別”的情況。


圖4. 裙子被截斷的圖片


因此,制作數據集時,我們要保留這部分數據、設立為“無法判別”的分類,這個措施也可看作是為了知識的“完備性”而做的努力。


以上還是專業知識來自單一人群的情況,如果是多類人群對于同一知識點有不同理解,就更復雜了,需要做跨角色的知識重建。


2.3跨越多種角色的知識重建


在實際中,“專業人士”可能并非單一的人群,而是在一件事的不同環節上的多種角色,他們視角不同,使用的知識體系也不同。


例如,服裝的“顏色”屬性,就有“計算機的顏色空間”、“潘通色卡”、“服裝營銷色彩”等不同知識體系。在計算機的顏色空間中,一個點可以代表一種顏色,如在“RGB空間”中,一個(R,G,B)三元組就對應一種顏色,這可被計算機理解,但無法用于日常溝通。“潘通色卡”是國際上通用的紡織、印刷、塑膠、繪圖等領域的色彩標準語言,其中國際紡織服裝的版本包括2310種顏色。這么細的劃分,很難被消費者理解,服裝商通常會建立一套大眾可以理解的顏色標簽,即“服裝營銷色彩”,粗分有8到10種色系,細分有上百種顏色。以“紅色”為例,如圖5所示。要將算法模型付諸實用,我們就要打通這三套顏色體系、做知識連接。


圖5. 紅色在不同顏色體系中的值


以上是簡單的例子,更復雜的例子是服飾的“風格”屬性。在電商服飾的生產流通中,有“生產商”、“電商平臺”、“零售商”三個角色,三者各自有一套“女裝風格”體系:

  • 生產商的風格體系,是設計師和服飾企劃人員用的,用的是工業設計語言,這個體系相對完備和穩定。

  • 電商平臺的風格體系,是平臺運營人員用的,用的是運營語言,用于管理貨品、組織賣場,體系的穩定性介于生產商和零售商之間,是二者的橋梁。

  • 零售商面對消費者,用的是營銷語言,風格體系要根據時尚趨勢和消費熱點而變化,特點是靈活發散,易于消費者理解和聯想。


我們可以通過圖6獲取三者的直觀印象。


圖6. 三種角色各自的風格體系


生產商的風格體系,有四個相對獨立的維度,每個維度用代表該維度兩極的詞匯來表示,例如“男性化,女性化”是其中一個維度,其他三個維度是“經典,前衛”、“民族,現代”、“活潑,優雅”,這構成一個四維的設計空間,在服裝企劃人員的眼里,每件衣服都對應著這個空間中的一個位置。例如圖6中的連衣裙將落在“女性化、現代、前衛、活潑”這個象限里,服裝企劃人員會給出一個具體的位置。


而在電商平臺風格體系,是由“歐美”、“復古”等12種標簽組成的一個平鋪結構,我們依此訓練了模型,來給任意一件女裝打標。當一件衣服來的時候,模型會判斷衣服與這些標簽的匹配程度,按概率大小取前三名(一件衣服可能兼容多種風格)。例如圖6中的連衣裙被判為“甜美”的概率為79.38%,其次是“田園”和“歐美”。

做一個實用的風格體系,意味著要能貫穿從生產到營銷的全過程,我們要建立一個“層次式”的知識體系,如圖7所示:以穩定的工業設計知識為基底、平臺運營知識為橋梁、大眾營銷知識為上層,用技術將其打通,使得上層的任一概念可以在下層有投影。這樣的體系,對下連接到海量商品,對上承接消費者需求,把以前分散在各個環節的、主觀的、零散的行為,轉化為一件系統性的工作。這是理想化的結構,我們也在探索中。


圖7. 層次式的風格體系


綜上所述,要制作一個實用的數據集,需要制作者在專業人士的指導下做知識重建,這是一個需要制作者親力親為、勇于付出的過程,難以討巧、無法回避。從更大的視角來看,AI落地的過程,實際是一個促使生產的各個環節加強溝通、重建知識體系的過程,是知識從各自的孤島走向整體的過程。這個過程需要所有環節的人一起努力,而當中AI從業者應肩負起主要責任。


三、數據與知識“迭代”


3.1 數據制作的流程


如上一章介紹,知識需要被重建,因為知識的用途發生了變化:從專業人士之間的溝通到人和機器的溝通。同時,知識的載體——數據——也發生了變化:從日常經驗的數據到有組織采集的大量數據。例如,以前服裝陳列師對風格的認識,是經年累月從門店、雜志的商品中得來的,而今天算法人員會通過搜索引擎定向收集成千上萬的相關圖片,這是服裝陳列師所沒見到過的。


將采集來的大量圖像與知識做關聯,就是圖像數據標注。知識和數據的關系是一體兩面:知識是數據的抽象,數據是知識的載體。這個關系反映在數據集制作過程中,就是:知識會指導數據的采集和標注,而在數據的采集和標注過程中,知識又會被修正,這是一個彼此影響、反復迭代的過程。這個過程按次序可以大致分為四個步驟:

A.???算法人員和專業人士探討學習,做知識的轉譯和重整。

B.???算法人員根據知識點采集圖像。??

C.???標注人員學習標注規則,對圖像做標注。

D.???將標注好的圖像輸入機器,做訓練和評測。


下面按順序介紹每個步驟中的挑戰和應對,我們將看到數據和知識是如何反復迭代的。


3.2 第一步:知識的轉譯和重整


首先,算法人員要消化專業知識,在專業人士指導下整理出可以標注的規則和圖例解釋。在這個階段,挑戰主要是:如何對知識點做取舍。


以“領型”為例,圓領的“頸線設計”分為四類,如圖8所示。


圖8. 四類領線設計


又如女裝的“西裝領”,如圖9。


圖9. 西裝領的分類

3.3 第二步:根據知識點來收集圖像


在上一步“確認知識點”的過程中,會先采集少量圖像;當知識點確認后,就進入大規模的圖像采集。由算法人員采集到的大量圖像,將用于第三步的標注。標注好的圖像將用于模型訓練和評測。要讓模型達到識別效果,對每個標簽都需要一個最少的訓練樣本量,例如2000張,這個量同任務和數據都有關系,可以由經驗或實驗來確定。第二步圖像采集的主要挑戰是:樣本稀缺,即某個標簽下的圖像過少。


圖10是我們的采集流程。以“深V領”為例,我們用初始查詢詞“深V領”搜索圖片,再由人工篩選出符合標簽描述的圖像,即“深V領的衣服圖片”。如果經人工篩選后,樣本充足,就完成“深V領”的采樣。如果樣本不足,就使用同義詞、近義詞如“低V領”、“大V領”、“雞心領”,繼續搜索,直到樣本充足,或者始終仍無法獲取足夠多的樣本。


圖10. 數據采集流程


在無法獲取足夠多樣本的情況中,有一類是由于標簽用語過于專業,不會出現在在圖片的日常描述中,對這種情況我們使用“類似描述”來擴充查詢詞。例如“鼓肩袖”是一個專業術語,在圖片描述中很少見,我們會用“肩部折疊”、“袖子褶皺”、“肩部褶皺”、“肩部蓬松”等來發起查詢。

如果某標簽很重要,但專家認為不能拋棄,比如某些前瞻性的設計要素,我們還可以為該標簽做“懸賞”:在眾包平臺發布付費任務,由大眾來收集圖像。使用眾包平臺來完成數據標注和采集任務,近年來發展迅速,已逐步進入實用。


當引入各種手段來獲取數據時,要警惕一種情況:結構化噪聲。


什么是“結構化噪聲”呢?要從數據采集說起。數據采集都是“有組織”的獲取數據,從信息論來說,“有組織”意味著系統性的引入了新的信號,這種信號可能是噪聲。例如某些網站的每張圖片都有該網站的Logo,網站Logo對于數據集就是一種“結構化噪聲”——稱其為“噪聲”,是因為這類信號與想要的知識無關;稱其“結構化”,是因為噪聲信號是由采樣方式引入的,是一種帶有結構的系統化引入。將帶有結構化噪聲的數據投給機器,模型會學到錯誤的相關性,是我們要努力避免的。


例如,斯坦福大學的Novoa博士討論過一個“腫瘤”和“尺子”的例子[5],當皮膚科醫生在懷疑一種病變是腫瘤時,會借助尺子來準確的測量大小,尺子會留在照片里,見圖11;模型會學習到“尺子”和“腫瘤”具有相關性,而這種相關性在實際情況中顯然是不存在的。


圖11. 包含有尺子的皮膚病變照片(圖片來自網絡)


結構化噪聲的引入并非都顯而易見。例如,在購物引擎里搜索“圓領”的衣服,夏天搜到的可能多是T恤,而在冬天搜索得到的多是毛衣,不留意的話,“圓領”標簽下就都是同一季的衣服;又如,在使用眾包收集圖像時,貢獻者可能偏向某個特定的網站,該網站圖片的特定樣式就被帶進了數據庫。


因此每當引入一種采集數據的手段時,都要小心觀察所獲取的圖像的共性,分析這個共性部分與標簽的相關性。如果相關性很強,則不是噪聲,例如采集“翻領”時使用“外套”做擴展,因為翻領是在衣服的開襟上設計的,而開襟的衣服一般都是外套,“翻領”和“外套”有強相關性,所以不是噪聲。如果相關性很小,例如網站Logo,則顯然是噪聲,我們可以對圖像做處理,去掉Logo區域。如果實在無法去除,可以考慮放棄這種采集方式。


此外,我們還會在第四步建模環節利用模型來檢測結構化噪聲,將在下文介紹。


樣本稀缺還有一種典型的情況,例如文字識別領域的生僻字。全體漢字超過一萬個,常用字有3500個,其余的稱為生僻字。生僻字在普通語料中極少出現,如果對語料做均勻采樣或隨機采樣,將出現樣本量越大、生僻字比例越低的情況,用來訓練模型,生僻字的識別能力反而下降。在這種情況下,“采集”的方式已經失效,需要用“生成”的方式:用機器制作生僻字的“人工合成”圖像。我們用“生成”方式來制作樣本始于三年多前,最初用規則式的生成,即把生僻字的各種形變寫成規則由機器來模擬;后來在一年多前開始嘗試“對抗生成”[6]。這個方向稱為“少樣本學習”或“小數據學習”,最近一兩年開始被普遍關注,這里不展開討論。


3.4 第三步:采集好的圖像與知識點做關聯


在第三步,標注人員學習規則,對采集好的數據進行標注。如果資源有限,算法人員也往往就是標注人員。對一些簡單任務,上一步中圖10里的“人工篩選”就已經完成了實質的標注工作。


這一步主要要考慮標注人員的學習成本和標注效率。通過標注人員的反饋,算法人員一方面改進規則、補充圖例,對標注人員反復出現疑問的地方,考慮知識修正;另一方面,改進標注工具,包括流程、交互、預處理等,以提高標注效率。


經過第一步和第二步,知識體系中不合理的地方已經大部分得到解決。如果在第三步中標注人員仍有困擾,往往困擾的地方可以引發我們深入思考、產生對數據更深的理解。


例如,我們需要判別圖12中這件毛衣是“七分袖”、“九分袖”還是“長袖”。僅看最左的平鋪圖的話,只能得出衣長和袖子的比例,無法判斷確切的袖長;而如果單看最右這張模特圖,袖子是擼起來的(這在針織衫中常見),我們也無法判斷袖長;直到看到中間這幅圖的上身效果,我們才能判斷是“長袖”。


圖12. 毛衣的三種照片


這啟發我們思考商家做如此拍攝的用意:拍攝平鋪圖是用來展示衣服的物理屬性,而拍攝模特圖是用來展示穿著方式和穿搭理念——這兩方面的知識對于理解衣服都是必要的,模型都要學習到。


我們再審視袖長的命名方式:“七分”、“九分”都是相對胳膊說的,人體是天然的尺子,在人體上才能得到準確測量。我們要給出成對模特圖和平鋪圖,標注人員才能做準確標注。回想上一節中“結構化噪聲”的例子,活檢照片中的尺子,在那里是噪聲,而在這里是合理的:因為衣服是為人服務的。


再舉一個例子,見圖13,我們要標注這件衣服的“下擺左右端點”和“衣長”。可這是“一件棕色針織衫內搭一件白色襯衣”呢,還是“一件有白色襯衣下擺的棕色針織衫”?

?

圖13. 一件“假兩件”的上衣


這種“假兩件”衣服并不少見,一度是標注人員的困擾。如上文所述,我們認識到衣服展示有“物理屬性”和“穿搭理念”的差別,就“假兩件”來說,經過仔細討論,我們認為這類圖片意在表現穿搭理念,應從整體視覺效果考慮,把“假兩件”判為一件,衣服下擺的左右點在白色部分,而衣長是“正常”。


經過第三步,我們對知識和數據的理解更深了。


3.5 第四步:利用模型做迭代


好消息是終于走到了最后一步,壞消息是還要走回頭路。


在第四步,算法人員把標注好的數據投給機器,做模型的訓練和評測。假設算法人員的建模調參的手藝沒問題,那模型就該在一定程度上反映數據集的質量好壞、哪里有缺陷,如同一面能隱約成像的鏡子。以模型為
鑒,就可以迭代改進數據集。如下圖所示。


圖14.四個步驟的迭代示意圖


(1)從D到C的迭代,關鍵詞是“校驗”,校驗的是標注人員的標注質量。通常我們不會把所有數據都標注完才投給機器去訓練,而是分批次標注。假設有10000個樣本,我們會分2000、3000、5000三個批次。前一個批次的樣本投入訓練,如果模型的訓練準確率達到滿意,說明標注質量合格,才進行下一個批次的標注;否則要總結經驗、重新標注。這樣可以減少標注的試錯成本。


(2)如果標注質量始終不過關,要檢查數據采集中的問題。實際上,我們正是利用從D到C再到B的迭代,來應對數據采集中的“樣本稀缺”和“結構化噪聲”問題。如下圖所示。


圖15. 利用建模來采集稀缺樣本的流程圖


我們會模擬真實使用場景,進行隨機采樣,這樣得到的樣本于環節A和B無關,我們稱之為“真實場景采樣”。我們把“真實場景采樣”放到訓練好的模型中去運行一遍,這個過程稱為“預測”。預測結果經過人工審核后,如果效果達到滿意,就說明模型被訓練得不錯(即訓練數據不錯),數據集的“結構化噪聲”得到了較好的抑制;如果預測效果不佳,說明數據集中欠缺某方面的訓練樣本,那把錯例補充回數據集,繼續訓練,并更新真實采樣后再做預測,直到效果滿意為止。


這個過程既是克服“結構化噪聲”的過程,實際上也是一種補充稀缺樣本的方法,已成為我們采集數據的常規手段之一。


(3)如果需要回溯到環節A,說明知識體系中的問題跨過了第二步“采集”和第三步“標注”,直到第四步“建模”才暴露出來,這即是人的隱藏很深的認知缺陷,由機器映照出來。這種例子很少,我們在女裝“風格”數據集的建設中遇到過。


“風格”是最重要的女裝屬性維度之一。如上一章介紹,生產商、電商平臺、零售商各有其風格體系。我們最初拿到的是平臺運營的風格體系,當時就認識到這套體系有諸多不合理、受主觀因素和個人影響很大。


這體現在標注過程中,一位服飾專家在第一天標注1000張圖,第二天再標注同樣的1000張圖,結果就差異很大:同一件衣服第一天標“歐美風”,第二天就標“高貴風”。即使身為專家,她也從來沒有集中式看過這么大規模有組織的數據;而前后結果的差異表明,當在數據的標注過程中,人的印象被重塑了。


但也沒人能告訴我們,合理的風格體系應該長什么樣子,只有以這套充滿問題的風格體系為起點,采集、標注、建模,通過模型暴露問題,再反饋到專業人士,思考討論、加深理解,修正體系甚至推倒重建。


從環節D回溯到環節A,這個過程很長,要幾個月時間。我們經過了三次大的迭代,花了一年半的時間,才得到一個勉強可用的風格體系。而建設第二章中理想化的層次式風格體系,是大得多的挑戰,我們才剛剛開始。


我們的體會是:知識并非生來嚴謹,而是從混亂中走來。人的認知缺陷,可以通過機器映照出來、加以改正,人和機器在彼此學習,這是AI時代之前不曾見到過的。


四. 確定性能的“指標”


數據集是用來訓練和評測模型的。數據集標注好之后,還應有一套用來評測模型的方法,就是“指標”。知識、數據、加上指標,才是一個完整的數據集。好的指標也體現了對于“實用”數據集的追求。


最基礎的指標是準確率(P)和召回率(R),常用在搜索和分類任務中。假設模型找回的8個結果中有4個是正例,而數據集里總共有10個正例,則準確率P=4/8=50%,召回率R=4/10=40%。P和R是一對相互制約的指標,共同刻畫模型的能力。


一對(P,R)值對應是模型在固定一組參數時的表現。通過調整模型參數,可以得到一系列的點,就連成一條“P-R曲線”,該曲線可以更全面的體現模型能力,人們用一個值“AveP”來表征,可以把AveP簡單理解為“在一個縱軸為P,橫軸為R的坐標系里,P-R曲線下方的面積”,面積越大越好。目標檢測比賽VOC從2010年后采用的指標就是AveP。


在搜索和分類任務中,識別結果就是一個實例,正例就是識別的標簽與標注的標簽一致。在有些任務中,如目標檢測,識別對象是一個區域,這時要多一個指標IoU。IoU描繪了識別區域與標注區域的面積重合情況,數值上就是二者交集與并集的面積比。IoU高于一個閾值則是正例。業界通常選取IoU>0.5,例如ImageNet比賽[7]就使用IoU>0.5。在我們的一個商用的圖像搜索系統中,選擇的是IoU>0.7。


當識別對象是一個序列時,如字符串,由于次序本身也是信息的一部分,就需要更精巧的指標。在文字識別和語音識別中,普遍采用“編輯距離”作為指標,即一個字符串經過多少次“增”、“刪”、“改”的操作可以變化為另一個字符串。例如,“aboc”和“obac”之間差距為2次“改”,編輯距離為2;“真圖像和美”和“圖像與美好棒”差距1次“刪”、1次“改”、2次“增”,編輯距離為4。如果簡單統計字符出現次數的話,“aboc”和“obac”的準確率和召回率都是100%,顯然和實際不符。


評測指標還有很多,例如搜索中的[email protected],這里不贅述。另一方面還要根據情況劃分難度,例如目標檢測中按照圖像背景復雜度分檔,文字識別按照拍照質量分檔等。業界在評測方法上有很多經驗,也在尋求越來越貼近實際情況的做法。在最近的比賽COCO[8]中,一方面會考察模型取不同IoU閾值時獲得的AveP值,另一方面也會根據檢測物體大小的不同而區別對待。這些做法使數據集被更合理的結構化了,也可視為數據集建設的一部分。


這里補充一些我們的經驗。有的服飾屬性維度如“領型”,包括“圓領”、“方領”等標簽,識別結果的對和錯,就是1和0的關系;而有的屬性維度如“袖長”,從短到長有7個標簽,加上前文提過的“不可判別”,一共8個標簽:“不可見,杯袖,短袖,五分袖,七分袖,九分袖,長袖,超長袖”,如圖16所示。我們對
“袖長”的評測方法做了兩步細化。


圖16.袖長的標注標準示意圖


首先,在“是(Y)”和“否(N)”之外,還設立了“模糊(M)”。如果一件衣服出現在圖16中黑點的位置,那么對應上面的8個標簽,標注結果會是(N,N,N,N,N,N,Y,M)。這使得對邊界點的判別更加合理。


進一步觀察,把“九分袖”錯判為“七分袖”,和錯判為“短袖”,錯誤程度是不同的,應區別對待,我們就引入了標簽距離,把標注結果細化為(0,0,0,3,5,7,10,8),這樣更貼近實際情況。


可以看出,指標體系的豐富和細化,其實是知識的一層更精細的表達,數據集要走向實用,要重視這些細節。


五、總結


綜上所述,我們介紹了如何做一個“實用”的圖像數據集。


我們首先強調了“用途”的重要性:用途是看待事物的視角,是取舍的依據。


其次,我們討論了數據集建設的三個方面:

  • 知識:專業知識的引入是必要的;知識的用途發生了變化,制作者要和專業人士一起來重建知識。

  • 數據:從知識到數據,是反復迭代的過程;知識重建貫穿到了采集、標注、建模等所有環節;機器參與到知識重建的過程中來,這是前所未有的新情況。

  • 指標:指標可以承載知識的一些更精細的層面,好的指標應在細節上更貼近實際。


制作實用的數據集,不僅是為了AI走向落地,也是計算機視覺自身發展的需要。以我曾接觸過的圖像技術領域,人們在很多有潛力的議題上淺嘗輒止,這其中有工具不得力的原因,另一大原因是研究的基礎——數據集——制作不嚴謹,基礎不牢靠,讓后來者難以為繼。也難怪,倒回去十年,從事計算機視覺的人,吃飯都困難,學生畢業后往往要轉行,何談做一個實用的數據集


今天情況已經不同,工具發展了,資源豐富了,計算機視覺在走向一門成熟的學科。科研無外乎兩件事:1. 制備實驗對象、做觀測;2. 分析總結、抽象出理論。計算機科學從誕生始,不被視為“科學”,而是“工程”。今天計算機視覺火了,而工程的味道比過去更濃,因為現在正處于工具——深度學習——大發展的時代。長遠來看,學科要發展,制作數據集上必然走向更嚴謹,AI從業者應更有勇氣、承擔責任,才不負時代的期望。

源:視覺求索



舉報 | 1樓 回復
体彩21选5中奖规则