萬(wàn)字干貨 | 圖像標(biāo)注工具競(jìng)品分析
編輯導(dǎo)語(yǔ):圖像標(biāo)注是機(jī)器視覺(jué)(Computer Vision, 下面將簡(jiǎn)稱(chēng)為“CV”)模型開(kāi)發(fā)流程中的重要一環(huán),也是十分耗時(shí)的一環(huán)。隨著深度學(xué)習(xí)的興起,企業(yè)對(duì)于圖像標(biāo)注工具的需求也愈演愈烈。據(jù)知名行研機(jī)構(gòu)估算,2025年全球標(biāo)注工具的市場(chǎng)規(guī)模將達(dá)到16億美元。本文選取了3款行業(yè)中較有代表性的產(chǎn)品:CVAT、ModelArts、 Supervisely,從產(chǎn)品視角來(lái)試圖探究標(biāo)注工具行業(yè)現(xiàn)狀及未來(lái)趨勢(shì)。
1. 什么是圖像標(biāo)注
圖像標(biāo)注是在原始圖像打上標(biāo)簽的行為。在訓(xùn)練深度學(xué)習(xí)模型前,需要準(zhǔn)備足量的,已被標(biāo)注的樣本用于訓(xùn)練。而圖像標(biāo)注就是樣本準(zhǔn)備中的一個(gè)步驟,如圖1:
圖1:Supervisely中的圖片標(biāo)注
原始圖像類(lèi)型包括:二維圖片、三維圖片、視頻等。
標(biāo)注形式包括:標(biāo)簽、包圍框(二維和三維形式)、點(diǎn)、線(xiàn)、多邊形、像素圖(Bitmap)。
根據(jù)不同的標(biāo)注形式,圖像標(biāo)注類(lèi)型可分為:
- 分類(lèi) (Classification):識(shí)別出圖片中有什么物體,如上圖中的1號(hào)箭頭,表示整張圖片中有people,通過(guò)標(biāo)簽進(jìn)行標(biāo)注。
- 檢測(cè) (Detection):比圖片分類(lèi)再進(jìn)一步,不僅知道圖片里有什么,還檢測(cè)出物體大概位置,即物體所屬包圍框(Bounding Box)的位置,如上圖中的2號(hào)用包圍框標(biāo)注了一個(gè)行人。通過(guò)包圍框/線(xiàn)+標(biāo)簽進(jìn)行標(biāo)注。
- 分割 (Segmentation):比目標(biāo)檢測(cè)再進(jìn)一步,知道每個(gè)像素屬于哪個(gè)標(biāo)簽,如上圖中的3號(hào)描繪出了行人像素級(jí)別的輪廓。具體還可細(xì)分成語(yǔ)義分割 (Semantic Segmentation)和實(shí)例分割 (Instance Segmentation)兩類(lèi),語(yǔ)義分割用于識(shí)別不同種類(lèi)的物體,而實(shí)例分割在語(yǔ)義分割的基礎(chǔ)上進(jìn)一步區(qū)分了同類(lèi)物體中的不同實(shí)例。通過(guò)多邊形/像素圖+標(biāo)簽進(jìn)行標(biāo)注。
- 姿態(tài)估計(jì) (Pose Estimation):又稱(chēng)關(guān)鍵點(diǎn)檢測(cè),主要用于識(shí)別圖像內(nèi)的關(guān)鍵區(qū)域,例如表情識(shí)別,運(yùn)動(dòng)姿勢(shì)檢測(cè)等。通過(guò)點(diǎn)/線(xiàn)+標(biāo)簽進(jìn)行標(biāo)注。
- 視頻行為識(shí)別(Video Action Recognition):識(shí)別目標(biāo)的意圖,例如識(shí)別打架行為,這種場(chǎng)景很難僅憑單張圖片判斷(比如在單張圖片下打架和擁抱是類(lèi)似的),通常需要識(shí)別一段視頻才能判斷目標(biāo)意圖。僅通常使用包圍框/點(diǎn)/線(xiàn)+標(biāo)簽的在插值模式下進(jìn)行標(biāo)注。
下圖為各個(gè)標(biāo)注類(lèi)型的示例:
圖2:各類(lèi)標(biāo)注類(lèi)型的示例,來(lái)源:https://gluon-cv.mxnet.io/contents.html
通常,企業(yè)會(huì)有各式各樣的標(biāo)注需求,作為一款通用的標(biāo)注產(chǎn)品,產(chǎn)品功能(如支持各種輸入格式,各種標(biāo)注類(lèi)型,各種標(biāo)注形式,以及額外功能)會(huì)是我們關(guān)注的一個(gè)重點(diǎn)。
另一方面,實(shí)際情況中標(biāo)注是一件十分費(fèi)時(shí)費(fèi)力的工作,例如需要標(biāo)出上圖中的大部分行人,而這樣的圖片至少得有幾百上千張。由此可見(jiàn),因此用戶(hù)體驗(yàn)是我們需要關(guān)注的另一個(gè)重點(diǎn)。
綜上,本文將主要從產(chǎn)品功能和用戶(hù)體驗(yàn)這兩個(gè)維度來(lái)分析行業(yè)中的代表性產(chǎn)品。
2. 核心業(yè)務(wù)流程
完成圖片標(biāo)注訓(xùn)練的整個(gè)工作流程,通常需要經(jīng)歷”數(shù)據(jù)準(zhǔn)備”、”數(shù)據(jù)標(biāo)注”、“數(shù)據(jù)進(jìn)化”三個(gè)環(huán)節(jié)。具體業(yè)務(wù)流程如下圖所示:
圖3:圖像標(biāo)注通用業(yè)務(wù)流程
2.1 數(shù)據(jù)準(zhǔn)備
數(shù)據(jù)準(zhǔn)備包含:數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理兩步。
1. 數(shù)據(jù)采集:采集途徑很多如:本地上傳,調(diào)用其他數(shù)據(jù)集數(shù)據(jù),攝像頭數(shù)據(jù)導(dǎo)入,從云服務(wù)調(diào)用獲取數(shù)據(jù)等。
2. 數(shù)據(jù)預(yù)處理:數(shù)據(jù)清洗是獲取高質(zhì)量訓(xùn)練數(shù)據(jù)的前提,并且通過(guò)清洗不合格的數(shù)據(jù)也可以減少無(wú)意義的標(biāo)注工作,提高標(biāo)注效率。數(shù)據(jù)清洗通常的操作包括:清洗模糊數(shù)據(jù),清洗相似數(shù)據(jù),裁剪,旋轉(zhuǎn),鏡像,圖片亮度,圖片對(duì)比度,圖片銳化等。
2.2 數(shù)據(jù)標(biāo)注
數(shù)據(jù)標(biāo)注包括:建立標(biāo)注集、數(shù)據(jù)標(biāo)注、標(biāo)注審核。
2.2.1 建立標(biāo)注集
標(biāo)注集是標(biāo)注工作的基本任務(wù)管理單元,在此不做過(guò)多贅述。
2.2.2 數(shù)據(jù)標(biāo)注
具體方式見(jiàn)表1:
表1:數(shù)據(jù)標(biāo)注具體方式
2.2.3 標(biāo)注審核
針對(duì)“任務(wù)標(biāo)注”,標(biāo)注審核是對(duì)下發(fā)的標(biāo)注任務(wù)進(jìn)行管理并對(duì)標(biāo)注結(jié)果審核,一般審核維度包括:標(biāo)注進(jìn)度、驗(yàn)收情況、標(biāo)簽數(shù)量、難例、標(biāo)注質(zhì)量等。
針對(duì)“自動(dòng)標(biāo)注”,標(biāo)注審核是對(duì)自動(dòng)標(biāo)注的結(jié)果進(jìn)行逐一檢查確認(rèn),并修改標(biāo)注有誤的圖片。
2.3 數(shù)據(jù)進(jìn)化
數(shù)據(jù)進(jìn)化包括:模型訓(xùn)練、模型推理。
2.3.1 模型訓(xùn)練:
是將標(biāo)注數(shù)據(jù)進(jìn)行訓(xùn)練得出模型結(jié)果的過(guò)程。
2.3.2 模型推理:
用于對(duì)訓(xùn)練的模型結(jié)果進(jìn)行校驗(yàn)預(yù)測(cè),并將錯(cuò)誤或者有誤差的校驗(yàn)結(jié)果記錄下來(lái)帶入到下一次模型訓(xùn)練中用于模型的優(yōu)化迭代,從而形成由數(shù)據(jù)標(biāo)注到模型訓(xùn)練再到模型迭代優(yōu)化的閉合環(huán)路。
3. 競(jìng)品簡(jiǎn)介
目前市面上標(biāo)注工具較多,首先需要確定競(jìng)品選取原則:
- 基于Web的應(yīng)用,排除本地應(yīng)用及移動(dòng)端應(yīng)用,理由:和筆者公司產(chǎn)品形態(tài)一致
- 有線(xiàn)上體驗(yàn)環(huán)境,理由:能夠體驗(yàn)才能給出準(zhǔn)確分析
- 功能較為完善,有代表性,理由: 完善的產(chǎn)品參考意義更大
- 因眾包模式與筆者公司的產(chǎn)品戰(zhàn)略有偏差,排除基于數(shù)據(jù)眾包模式的產(chǎn)品,如Amazon Mechanical Turk。
綜上,選取了以下3款競(jìng)品:
- CVAT: Intel出品的開(kāi)源標(biāo)注工具,發(fā)布于2018年6月。其支持視頻、圖片等多種數(shù)據(jù)類(lèi)型的標(biāo)注,功能全面。
- ModelArts: 華為出品的機(jī)器學(xué)習(xí)平臺(tái),發(fā)布于2018年10月,其中包含了數(shù)據(jù)標(biāo)注模塊。其支持從數(shù)據(jù)導(dǎo)入到模型運(yùn)維的全流程開(kāi)發(fā),訓(xùn)練速度較快。
- Supervisely: 俄羅斯Deep System旗下的模型訓(xùn)練平臺(tái),發(fā)布于2017年8月。其數(shù)據(jù)標(biāo)注功能強(qiáng)大,特別是Smart Tool令人影響深刻:可以快速完成語(yǔ)義分割任務(wù)的標(biāo)注。
表2:3款產(chǎn)品的概括對(duì)比
4. 功能對(duì)比
本節(jié)中,針對(duì)3款產(chǎn)品,我們從根據(jù)第2章的核心業(yè)務(wù)流程來(lái)探究產(chǎn)品功能間差異。
4.1 CVAT
CVAT的使用流程雖然十分簡(jiǎn)單,但功能十分全面和豐富。
圖4:CVAT的標(biāo)注流程
4.1.1 創(chuàng)建數(shù)據(jù)集
CVAT中以標(biāo)注任務(wù)(Task)的概念替代數(shù)據(jù)集,一個(gè)任務(wù)可以包含多個(gè)作業(yè),每個(gè)作業(yè)可以分配一個(gè)標(biāo)注人員。
在創(chuàng)建標(biāo)注任務(wù)時(shí),CVAT也提供了豐富的高級(jí)選項(xiàng),例如:
- 支持使用Git LFS: Git Large File Storage, 大文件的git管理插件。
- 調(diào)整圖片質(zhì)量:通過(guò)降低圖片質(zhì)量(壓縮比)來(lái)加快高清圖片的加載。
- 作業(yè)數(shù)和重疊數(shù):如果一個(gè)任務(wù)中的圖片量很大,可以將其分成多個(gè)作業(yè)。再配合重疊數(shù),可以實(shí)現(xiàn)分配一張圖片到多個(gè)作業(yè)的效果,不過(guò)暫時(shí)沒(méi)有想到重疊數(shù)的使用場(chǎng)景。
總結(jié)來(lái)看,CVAT在標(biāo)注任務(wù)模塊匯中的一個(gè)優(yōu)勢(shì)是支持直接上傳視頻類(lèi)型文件,上傳完的視頻會(huì)被根據(jù)用戶(hù)設(shè)定的幀率(Frame)轉(zhuǎn)換成圖片。
CVAT在該模塊中也有個(gè)明顯的劣勢(shì):缺少一個(gè)統(tǒng)一的視角去總覽任務(wù)中所有的圖片(如下圖所示,任務(wù)詳情頁(yè)中僅能看到首張圖的照片),以及每張圖片上所有的標(biāo)注,推測(cè)是因?yàn)橛捎谝粡垐D片可能存在在多個(gè)作業(yè)中所導(dǎo)致。
圖5:CVAT的標(biāo)注任務(wù)詳情頁(yè)
4.1.2 自動(dòng)標(biāo)注
由于CVAT并未提供模型服務(wù)的能力,其自動(dòng)標(biāo)注功能還處在發(fā)展的初期,僅能滿(mǎn)足個(gè)人實(shí)驗(yàn)。
添加自動(dòng)標(biāo)注模型需要用戶(hù)上傳模型文件,而非鏡像或API,這種非服務(wù)化的方式很容易因?yàn)檫\(yùn)行環(huán)境差異(例如2個(gè)服務(wù)器上安裝了不同版本的依賴(lài)包),而影響標(biāo)注成功率以及準(zhǔn)確率。
4.1.3 人工標(biāo)注
4.1.3.1 人工標(biāo)注支持3種標(biāo)注模式,且各個(gè)模式之前可來(lái)回切換:
- 標(biāo)準(zhǔn)模式(Standard):用于常規(guī)標(biāo)注。
- 屬性標(biāo)注模式(Attribute Annotation):在“屬性模式”下用戶(hù)可以專(zhuān)注于修改標(biāo)注框?qū)傩院蜆?biāo)簽屬性,提升了對(duì)標(biāo)注屬性檢查和修改的效率。此模式專(zhuān)門(mén)用于對(duì)同一個(gè)物體設(shè)置一個(gè)或多個(gè)屬性的場(chǎng)景,如人臉標(biāo)注中需要標(biāo)注年齡,性別等。
- 標(biāo)簽標(biāo)注模式(Tag Annotation):在“標(biāo)簽?zāi)J健毕掠脩?hù)可以迅速實(shí)現(xiàn)增刪標(biāo)簽和對(duì)標(biāo)簽屬性的選擇和修改。同時(shí)為圖片分類(lèi)型標(biāo)注定制的模式,還可為每個(gè)標(biāo)簽設(shè)置快捷鍵。極大提升了圖片分類(lèi)的標(biāo)注效率。
4.1.3.2 針對(duì)CVAT我們體驗(yàn)下來(lái)總結(jié)了以下幾點(diǎn)優(yōu)勢(shì):
1)靈活的標(biāo)簽和屬性定義
同一圖片可以標(biāo)注多個(gè)標(biāo)簽,且一個(gè)標(biāo)簽可以設(shè)置多個(gè)屬性且平臺(tái)將屬性定義分為:多選(Select)、單選(Radio)、是否(Checkbox)、文本(Text)、數(shù)字(Number)五種。CVAT標(biāo)簽自定義的自由度基本滿(mǎn)足了絕大部分的標(biāo)注需求。
圖6:CVAT中的5種標(biāo)簽屬性
2)豐富的標(biāo)注形式
為了支持各種類(lèi)型的標(biāo)注,CVAT提供了6種的標(biāo)注形式,包括:標(biāo)簽、點(diǎn)、矩形、折線(xiàn)、多邊形、長(zhǎng)方體等。同時(shí)支持AI多邊形標(biāo)注:只需指定至少四個(gè)點(diǎn)就可以在系統(tǒng)的幫助下框選出一個(gè)目標(biāo)的輪廓,這點(diǎn)同Supervisely相同,我們者體驗(yàn)下來(lái)在AI識(shí)別速度上還是期待進(jìn)一步提升。
3)標(biāo)注方式快捷鍵的統(tǒng)一
選擇一個(gè)標(biāo)注方式則快捷鍵”N“就代表這種標(biāo)注方式。重新選擇標(biāo)注方式則”N”代表的方式隨之對(duì)應(yīng)改變??旖萱I的統(tǒng)一進(jìn)一步降低了用戶(hù)的操作成本。
4)任務(wù)分析
通過(guò)任務(wù)分析儀表板中的分析,您可以查看每個(gè)用戶(hù)在每個(gè)任務(wù)上花費(fèi)了多少時(shí)間,以及他們?cè)谌魏螘r(shí)間范圍內(nèi)完成了多少工作,任務(wù)分析拓展了CVAT的團(tuán)隊(duì)標(biāo)注能力。
圖7:CVAT中的Analytics儀表板(圖片來(lái)源CVAT用戶(hù)手冊(cè))
5)追蹤模式(Track mode)
用于對(duì)視頻文件進(jìn)行標(biāo)注。視頻會(huì)按照幀率被分割成若干畫(huà)面(Frame)。用戶(hù)僅需在關(guān)鍵畫(huà)面(Key frame,和Flash中的關(guān)鍵幀很類(lèi)似)上進(jìn)行標(biāo)注,關(guān)鍵畫(huà)面之間的畫(huà)面也會(huì)自動(dòng)帶上標(biāo)注。CVAT目前僅支持包圍框和點(diǎn)使用插值模式。Propagate功能很實(shí)用,場(chǎng)景:如果想將當(dāng)前圖片中的標(biāo)注傳遞(Propagate)給后面的n張圖片。同時(shí)CVAT的追蹤模式結(jié)合合并(Merge)功能、分割(Split)功能共同支撐起CVAT獨(dú)具優(yōu)勢(shì)的視頻或動(dòng)圖標(biāo)注能力。
4.1.3.3 可能正因?yàn)槠渲С值墓δ苓^(guò)于豐富,導(dǎo)致使用起來(lái)有一定的學(xué)習(xí)成本,用戶(hù)體驗(yàn)會(huì)有些差強(qiáng)人意。例如:
- 標(biāo)注時(shí)圖片無(wú)法預(yù)覽無(wú)法獲知圖片的總體標(biāo)注情況,當(dāng)下次在進(jìn)入作業(yè)時(shí)不能快速定位到未標(biāo)注的圖片,這點(diǎn)雖說(shuō)對(duì)與效率不會(huì)有太大影響但會(huì)影響用戶(hù)的操作體驗(yàn)。
- 另外如果是做用戶(hù)圖片分類(lèi)的標(biāo)注,則需要使用屬性模式,這一點(diǎn)用戶(hù)難以感知。(我們一開(kāi)始還以為只能通過(guò)畫(huà)一個(gè)完全覆蓋圖片的框才能實(shí)現(xiàn))
4.2 ModelArts
Modelarts在2019年10月17日版本更新后(特別是團(tuán)隊(duì)標(biāo)注功能),業(yè)務(wù)流程覆蓋趨于完整。整體用戶(hù)流程如下:
圖8:ModelArts的標(biāo)注流程(圖片來(lái)自ModelArts官網(wǎng))
由于本文以數(shù)據(jù)標(biāo)注功能的討論為主,數(shù)據(jù)標(biāo)注之后的功能(包括訓(xùn)練、推理、數(shù)據(jù)校正等)不在本文的討論范圍內(nèi)。
4.2.1 創(chuàng)建數(shù)據(jù)集
在創(chuàng)建圖片數(shù)據(jù)集時(shí),ModelArts將圖像標(biāo)注類(lèi)型設(shè)定在了數(shù)據(jù)集層面,即創(chuàng)建數(shù)據(jù)集時(shí)就需要區(qū)分標(biāo)注類(lèi)型.
這一點(diǎn)與Supervisely和CVAT區(qū)別較大,具體分析見(jiàn)Supervisely的人工標(biāo)注章節(jié)。目前支持圖片分類(lèi)及目標(biāo)檢測(cè)兩種任務(wù)。
圖9:ModelArts中放入創(chuàng)建數(shù)據(jù)集
4.2.2 數(shù)據(jù)處理
華為的數(shù)據(jù)處理功能位于對(duì)象存儲(chǔ)服務(wù)中,其提供了便利且功能全面的圖片處理能力。
華為對(duì)象存儲(chǔ)服務(wù)中提供了“圖形界面模式”和“代碼編輯模式”兩種圖片處理操作方式,適用了普通用戶(hù)和開(kāi)發(fā)者用戶(hù)的使用。
同時(shí)最終的處理結(jié)果存放于內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,CDN)加速,后續(xù)請(qǐng)求可以通過(guò)URL直接從CDN下載,可以將結(jié)果用于任意可以通過(guò)URL導(dǎo)入數(shù)據(jù)的標(biāo)注平臺(tái),極大的拓展了平臺(tái)的功能拓展性。
華為圖片處理提供的能力主要包括:設(shè)置圖片效果(亮度、對(duì)比度、銳化、模糊)、設(shè)置縮略、旋轉(zhuǎn)圖片、剪切圖片、設(shè)置水印、轉(zhuǎn)化格式、壓縮圖片。
圖10:華為對(duì)象存儲(chǔ)中的圖片處理模塊
4.2.3 智能標(biāo)注
ModelArts智能標(biāo)注包含:主動(dòng)學(xué)習(xí)(半自動(dòng)標(biāo)注)和預(yù)標(biāo)注(全自動(dòng)標(biāo)注), 目前只有“圖像分類(lèi)”和“物體檢測(cè)”類(lèi)型的數(shù)據(jù)集支持智能標(biāo)注功能。下面簡(jiǎn)單分析一下智能標(biāo)注模塊:
- 系統(tǒng)只對(duì)未標(biāo)注圖片進(jìn)行標(biāo)注,這樣可以減少重復(fù)標(biāo)注,減少對(duì)于運(yùn)算資源的浪費(fèi)。
- 使用效果不理想,系統(tǒng)實(shí)際體驗(yàn)下來(lái)標(biāo)注的準(zhǔn)確性大概只能維持在60%。系統(tǒng)篩選難例的準(zhǔn)確性也較低。
- 全自動(dòng)標(biāo)注支持選擇自行訓(xùn)練的模型或ModelArts自帶模型,在模型選擇上靈活性較高,在下次進(jìn)行作業(yè)時(shí)可以繼承每次標(biāo)注的結(jié)果進(jìn)一步提升模型的準(zhǔn)確率。
- 智能標(biāo)注結(jié)果展示頁(yè)面可以進(jìn)行條件篩選,可選的條件包括:難例級(jí),標(biāo)簽,樣本創(chuàng)建時(shí)間,文件名,標(biāo)注人,樣本屬性,置信度。精準(zhǔn)的篩選可以滿(mǎn)足大部分場(chǎng)景的需求。
4.2.4 人工標(biāo)注
華為ModelArts人工標(biāo)注的特點(diǎn)主要有以下三點(diǎn):
4.2.4.1 目標(biāo)檢測(cè)標(biāo)注支持多達(dá)6種形式的標(biāo)注
包括方形、多邊形、正圓、點(diǎn)、單線(xiàn)、虛線(xiàn)(見(jiàn)圖11),豐富的標(biāo)注方式覆蓋了更廣泛的標(biāo)注場(chǎng)景,同時(shí)可以提高標(biāo)注的精度。
4.2.4.2 高效的標(biāo)簽選擇方式
在數(shù)據(jù)標(biāo)注的交互上,華為ModelArts在畫(huà)完選框后會(huì)自動(dòng)彈出標(biāo)簽下拉框已經(jīng)展開(kāi)的添加標(biāo)簽彈窗(見(jiàn)圖11),省去了用戶(hù)框選完成后自行點(diǎn)擊標(biāo)簽下拉框的步驟。且彈出的標(biāo)簽選項(xiàng)卡就在選框旁邊(見(jiàn)圖11),這樣減短了滑動(dòng)鼠標(biāo)選擇標(biāo)簽的鼠標(biāo)移動(dòng)行程。
圖11:ModelArts圖像檢測(cè)的數(shù)據(jù)標(biāo)注界面
4.2.4.3 圖片分組
在標(biāo)注預(yù)覽頁(yè)面華為ModelArts提供了圖片分組功能(見(jiàn)圖12),此功能會(huì)使用聚類(lèi)算法或根據(jù)清晰度、亮度、圖像色彩對(duì)圖片進(jìn)行分組。自動(dòng)分組可以理解為數(shù)據(jù)標(biāo)注的預(yù)處理,用戶(hù)可根據(jù)分組結(jié)果,進(jìn)行分組打標(biāo)、圖片清洗等操作。此功能可以提高圖片標(biāo)注效率,尤其是在圖片分類(lèi)標(biāo)注的情況下再配合批量標(biāo)注功能可以在標(biāo)注速度上有質(zhì)的提升。但我們?cè)趯?shí)際體驗(yàn)后感覺(jué)此功能分組的成功率較低。
圖12:ModelArts中的圖片自動(dòng)分組
4.2.5 團(tuán)隊(duì)標(biāo)注
華為ModelArts的團(tuán)隊(duì)標(biāo)注功能設(shè)置很齊全,有很多亮點(diǎn),這里從創(chuàng)建,標(biāo)注,審核三個(gè)方面探討:
4.2.5.1 創(chuàng)建
華為啟用團(tuán)隊(duì)標(biāo)注后可以直接指定標(biāo)注團(tuán)隊(duì),也可以選擇指定管理員然后由管理員分配標(biāo)注人力并做審核工作。選則完類(lèi)型后團(tuán)隊(duì)成員會(huì)收到系統(tǒng)郵件,按郵件提示可以很輕松的完成標(biāo)注和審核。
可以選擇是否將新增文件自動(dòng)同步至標(biāo)注團(tuán)隊(duì)。同時(shí)可以選擇標(biāo)注團(tuán)隊(duì)的文件是否加載智能標(biāo)注結(jié)果。這些操作增加了管理員對(duì)任務(wù)分配和自動(dòng)標(biāo)注之間關(guān)系的調(diào)節(jié)自由度。
圖13:ModelArts團(tuán)隊(duì)標(biāo)注創(chuàng)建頁(yè)面
4.2.5.2 標(biāo)注
標(biāo)注一張圖片并保存后,圖片自動(dòng)進(jìn)入“待審核”狀態(tài)。我們認(rèn)為這樣的狀態(tài)切換超出用戶(hù)預(yù)期,特別是用戶(hù)如果還想再檢查標(biāo)注是否有誤的話(huà)還需切換到“待審核”頁(yè)面去檢查,這樣會(huì)給用戶(hù)帶來(lái)不便。
“待審核”的圖片仍然可以修改,在管理員發(fā)起驗(yàn)收前,修改有效。但在驗(yàn)收時(shí),如果圖片被抽樣到則修改不會(huì)保存在數(shù)據(jù)集中,如果圖片未被抽樣到則修改會(huì)被保存在數(shù)據(jù)集中。這樣的審核邏輯限定可以減少在審核中產(chǎn)生不必要的混亂,防止審核結(jié)果產(chǎn)生誤差。
4.2.5.3 審核
ModelArts將審核稱(chēng)為“驗(yàn)收”,驗(yàn)收分了2個(gè)層級(jí):?jiǎn)螐垐D片的驗(yàn)收和一批次圖片的驗(yàn)收。流程是用戶(hù)對(duì)一批圖片做驗(yàn)收。審核層級(jí)過(guò)多,邏輯復(fù)雜,導(dǎo)致操作結(jié)果可能不符合用戶(hù)預(yù)期。
標(biāo)注狀態(tài)混亂:例如管理員分配圖片A給到標(biāo)注人a,a標(biāo)注完,管理員使用智能標(biāo)注同時(shí)標(biāo)注圖片A,如果2個(gè)結(jié)果都被管理員確認(rèn),無(wú)論先確認(rèn)哪種標(biāo)注,最后只有智能標(biāo)注的結(jié)果有效,而標(biāo)注人a的標(biāo)注則無(wú)效。
ModelArts提供了審核的儀表盤(pán),儀表盤(pán)方便了審核的統(tǒng)計(jì)環(huán)節(jié),用可視化的方式展示了任務(wù)進(jìn)度。儀表盤(pán)的評(píng)判指標(biāo)包括:驗(yàn)收進(jìn)展統(tǒng)計(jì)、難例集數(shù)量、標(biāo)簽數(shù)與含標(biāo)簽的樣本數(shù)、標(biāo)注人進(jìn)展統(tǒng)計(jì)等5個(gè),見(jiàn)圖14:
圖14:ModelArts中的標(biāo)注審核儀表盤(pán)
4.3 Supervisely
圖15:Supervisely的標(biāo)注流程
從圖中可以看到團(tuán)隊(duì)標(biāo)注一塊的邏輯相比其他產(chǎn)品更加復(fù)雜,分析背后的原因:
表面上看很多步驟是為了滿(mǎn)足團(tuán)隊(duì)標(biāo)注這一需求(特別是外部標(biāo)注團(tuán)隊(duì)),包括創(chuàng)建團(tuán)隊(duì)、邀請(qǐng)成員、創(chuàng)建標(biāo)注作業(yè)、標(biāo)注審核等等,但本質(zhì)上則是安全把控和質(zhì)量把控需求:
- 安全把控體現(xiàn)在管理員可以分配給團(tuán)隊(duì)成員不同的角色以控制成員的權(quán)限,例如標(biāo)注者(Annotator)只能查看自己任務(wù)中的圖片;
- 質(zhì)量把控體現(xiàn)在標(biāo)注完后還會(huì)有管理員審核標(biāo)注情況以保證標(biāo)注質(zhì)量。
因此,這樣復(fù)雜的鏈路是一個(gè)企業(yè)級(jí)標(biāo)注產(chǎn)品應(yīng)有的設(shè)計(jì),盡管這樣不可避免會(huì)造成用戶(hù)認(rèn)知成本的升高,以及用戶(hù)體驗(yàn)的降低。
4.3.1 創(chuàng)建數(shù)據(jù)集
在Supervisely中,用戶(hù)可以在一個(gè)數(shù)據(jù)集中完成4種標(biāo)注(視頻標(biāo)注除外),即分類(lèi)、檢測(cè)、分割、姿態(tài)估計(jì)。
與ModelArts不同,Supervisely對(duì)數(shù)據(jù)集的定位更像是圖片集。一批圖片只需要導(dǎo)入一次,無(wú)論做哪種類(lèi)型的標(biāo)注都可以在同一個(gè)數(shù)據(jù)集上完成。且后續(xù)做訓(xùn)練時(shí),可以直接得到一張圖片上的所有標(biāo)注。
綜上,Supervisely統(tǒng)一的數(shù)據(jù)集模塊,提升了圖片導(dǎo)入,圖片標(biāo)注以及圖片后處理的效率。但這種方式也有缺點(diǎn):所有標(biāo)注類(lèi)型的操作模式固定,無(wú)法針對(duì)特定類(lèi)型(例如Modelarts的圖片分類(lèi)可同時(shí)選擇多張圖片一起標(biāo)注)做深入優(yōu)化。
4.3.2 數(shù)據(jù)處理
Supervisely的數(shù)據(jù)處理模塊叫做DTL, Data Transformation Language,是一種基于JSON的腳本語(yǔ)言,通過(guò)配置DTL腳本可以完成合并數(shù)據(jù)集、標(biāo)簽映射、圖片增強(qiáng)、格式轉(zhuǎn)換、圖片去噪、圖片翻轉(zhuǎn)等46種操作,滿(mǎn)足各類(lèi)數(shù)據(jù)處理需求。
圖16:Supervisely中為圖片加入高斯模糊
雖然功能相比ModelArts來(lái)說(shuō)更加強(qiáng)大,但是由于僅提供代碼形式操作,僅適合工程師,然而大部分工程師已掌握通過(guò)python處理圖片的方式,再額外學(xué)習(xí)一種語(yǔ)言無(wú)疑會(huì)增加學(xué)習(xí)成本。
另一方面這種特殊的語(yǔ)言對(duì)效率的提升也存在未知數(shù),例如用戶(hù)想進(jìn)行某種圖片操作,但調(diào)研了半天發(fā)現(xiàn)該語(yǔ)言不支持,最后還是要通過(guò)python來(lái)完成,到頭來(lái)降低了效率。
4.3.3 自動(dòng)標(biāo)注
Supervisely目前提供了14款預(yù)訓(xùn)練的模型,訓(xùn)練用數(shù)據(jù)大部分來(lái)自COCO(微軟發(fā)布的大型圖像數(shù)據(jù)集),少部分來(lái)自PASCAL VOC2012, Cityscapes, ADE20K等其他公開(kāi)數(shù)據(jù)集。
在自動(dòng)標(biāo)注部分,Supervisely的優(yōu)勢(shì)在于支持語(yǔ)義分割型的自動(dòng)標(biāo)注,加上產(chǎn)品在語(yǔ)義分割型的人工標(biāo)注上擁有出色的體驗(yàn),使這類(lèi)型任務(wù)的標(biāo)注效率得以大幅提升。
Supervisely的自動(dòng)標(biāo)注模塊產(chǎn)品化程度較低,主要體現(xiàn)在以下兩點(diǎn):
- 由于本身不提供模型訓(xùn)練及推理服務(wù),需要用戶(hù)自行準(zhǔn)備自動(dòng)標(biāo)注所需的硬件環(huán)境,且限制較多(僅支持Nvidia GPU,需要Linux和Cuda驅(qū)動(dòng))。
- 通過(guò)JSON格式的配置文件來(lái)配置模型推理參數(shù)(見(jiàn)圖17)。相比華為簡(jiǎn)單的配置界面,這種形式的靈活性雖然更高,但用戶(hù)真的需要那么配置還是指想系統(tǒng)直接給出一個(gè)自動(dòng)標(biāo)注的結(jié)果就好呢?
圖17:Supervisely(左)與華為ModelArts(右)的全自動(dòng)標(biāo)注配置對(duì)比
4.3.4 人工標(biāo)注
Supervisely的標(biāo)注功能十分強(qiáng)大,主要有以下2個(gè)特點(diǎn):
- 豐富的標(biāo)注形式:為了支持各種類(lèi)型的標(biāo)注,Supervisely提供了多達(dá)9種的標(biāo)注形式,包括:標(biāo)簽、點(diǎn)、矩形、折線(xiàn)、多邊形、長(zhǎng)方體、像素圖、智能工具 (Smart Tool)、關(guān)鍵點(diǎn)等。
- 復(fù)雜的標(biāo)簽系統(tǒng):抽象出了對(duì)象(Object),類(lèi)(Class),標(biāo)簽(Tag)三個(gè)實(shí)體,在復(fù)雜場(chǎng)景中提高了實(shí)體之間的復(fù)用性。
4.3.4.1 豐富的標(biāo)注形式
在所有9種標(biāo)注形式中,智能工具令人印象深刻:
智能工具用于分割類(lèi)型的標(biāo)注,用戶(hù)只需要2次點(diǎn)擊框選一個(gè)物體,通過(guò)算法對(duì)目標(biāo)進(jìn)行描邊即可完成一個(gè)初步的分割,再通過(guò)標(biāo)注積極點(diǎn)和消極點(diǎn)完成精確標(biāo)注,大大降低了分割類(lèi)任務(wù)的標(biāo)注成本。
圖18:Supervisely中經(jīng)過(guò)11次點(diǎn)擊后完成了一個(gè)語(yǔ)義分割
4.3.4.2 復(fù)雜的標(biāo)簽系統(tǒng)
為了滿(mǎn)足一個(gè)數(shù)據(jù)集涵蓋多種標(biāo)注類(lèi)型的需求,Supervisely有一套復(fù)雜的標(biāo)簽系統(tǒng)。我們通過(guò)對(duì)3款產(chǎn)品的ER圖來(lái)具體分析一下這套標(biāo)簽系統(tǒng)的優(yōu)劣。
在圖19的行人識(shí)別場(chǎng)景中,我們會(huì)畫(huà)一個(gè)個(gè)行人包圍框。那么我們就需要定義一個(gè)標(biāo)簽叫:行人。
圖19:Supervisely中的行人標(biāo)注場(chǎng)景
但是每個(gè)行人的屬性又有不同,例如行人A戴帽,行人B不戴帽.如果我們需要區(qū)分戴帽的行人和不戴帽的行人,一種做法是創(chuàng)建兩個(gè)標(biāo)簽:戴帽的行人、不戴帽的行人。
但這樣的兩個(gè)標(biāo)簽會(huì)喪失關(guān)聯(lián)性——如果模型只要檢測(cè)行人,還需要對(duì)這兩個(gè)標(biāo)簽進(jìn)行轉(zhuǎn)換,效率較低。
比較合理的做法是在行人標(biāo)簽下創(chuàng)建一個(gè)屬性——是否戴帽;并抽象出一個(gè)概念:對(duì)象。
用戶(hù)每畫(huà)一個(gè)包圍框,系統(tǒng)就會(huì)創(chuàng)建一個(gè)對(duì)象(例如:行人A),每個(gè)對(duì)象會(huì)對(duì)應(yīng)一個(gè)標(biāo)簽(例如:行人),然后每個(gè)對(duì)象可以設(shè)置該標(biāo)簽所具有的屬性值(例如:是否戴帽=是)。
CVAT和ModelArts都是這樣的做法,區(qū)別是CVAT可以直接為圖片加上標(biāo)簽,用于圖片分類(lèi)。而ModelArts由于劃分了圖片分類(lèi)和目標(biāo)檢測(cè)數(shù)據(jù)集,因此標(biāo)簽僅能在圖片分類(lèi)型數(shù)據(jù)中被應(yīng)用在圖片上。
圖20:CVAT(左)和ModelArts(右)的圖片-對(duì)象-標(biāo)簽ER圖對(duì)比
而Supervisely則是把標(biāo)簽和屬性拆分成了兩個(gè)實(shí)體,再通過(guò)對(duì)象實(shí)體來(lái)關(guān)聯(lián)標(biāo)簽和屬性(如下圖):
這種做法可以提高屬性的復(fù)用,例如在Supervisely中,用戶(hù)只需要定義一遍顏色屬性,之后無(wú)論是標(biāo)注行人(作為一個(gè)標(biāo)簽)還是車(chē)輛(作為一個(gè)標(biāo)簽)的顏色都可以應(yīng)用同一個(gè)“顏色”下面的屬性,提高了復(fù)雜標(biāo)注集的準(zhǔn)備效率。
但同時(shí)這種做法對(duì)用戶(hù)體驗(yàn)設(shè)計(jì)提出了較大挑戰(zhàn),從上手難度來(lái)看,Supervisely無(wú)疑是三款產(chǎn)品中最難上手的。
圖21:Supervisely的圖片-對(duì)象-標(biāo)簽-對(duì)象ER圖
5. 總結(jié)與展望
5.1 總結(jié)對(duì)比
下表為三款標(biāo)注產(chǎn)品的功能總結(jié):
表3:三款產(chǎn)品的功能總結(jié)對(duì)比
- CVAT: 人工標(biāo)注功能最為強(qiáng)大,但自動(dòng)標(biāo)注功較為薄弱。獨(dú)有的追蹤模式免去了對(duì)視頻的預(yù)處理,對(duì)標(biāo)注效率的提升也十分巨大。CVAT的任務(wù)分析功能由于環(huán)境原因未能完全體驗(yàn),從介紹來(lái)看應(yīng)該會(huì)在這塊發(fā)力。
- ModelArts: 作為華為云的一個(gè)功能模塊,ModelArts的產(chǎn)品戰(zhàn)略也更加偏向通用性,平臺(tái)性。通過(guò)與華為OBS系統(tǒng)的結(jié)合給其帶來(lái)了強(qiáng)大的數(shù)據(jù)處理能力也強(qiáng)化了其平臺(tái)的可拓展性和兼容性。同時(shí)自動(dòng)標(biāo)注和半自動(dòng)標(biāo)注作為ModelArts的優(yōu)勢(shì)是CVAT和Supervisely所不具備的,也從側(cè)面體現(xiàn)了ModelArts依靠華為云所帶來(lái)的強(qiáng)大運(yùn)算力和算法優(yōu)勢(shì)??傮w來(lái)說(shuō)ModelArts是一個(gè)均衡的選手,具有優(yōu)秀的業(yè)務(wù)拓展能力。
- Supervisely:整體功能最為完善,適合企業(yè)級(jí)應(yīng)用。對(duì)語(yǔ)義分割類(lèi)任務(wù)支持較好,但部分功能(如數(shù)據(jù)處理,自動(dòng)標(biāo)注)需要通過(guò)代碼方式完成,效率提升有限。
當(dāng)然我們也發(fā)現(xiàn)有一些功能在3款產(chǎn)品中都沒(méi)有看到,例如水印功能,會(huì)適用于保密要求的場(chǎng)景,如監(jiān)獄,銀行等。
5.2 標(biāo)注工具的未來(lái)趨勢(shì)
5.2.1 人工標(biāo)注這個(gè)環(huán)節(jié)不會(huì)消失
這其實(shí)是個(gè)悖論:假設(shè)我需要訓(xùn)練一個(gè)CV模型,訓(xùn)練模型需要準(zhǔn)備標(biāo)注好的圖片,如果圖片標(biāo)注只需要自動(dòng)標(biāo)注而無(wú)需人工干預(yù),那意味著模型已經(jīng)能夠準(zhǔn)確預(yù)測(cè)出結(jié)果.
如果能做到準(zhǔn)確預(yù)測(cè),說(shuō)明已經(jīng)這個(gè)模型已經(jīng)被訓(xùn)練完全,不再需要訓(xùn)練,這就和假設(shè)相悖了。
5.2.2 自動(dòng)標(biāo)注的價(jià)值主要體現(xiàn)在單個(gè)標(biāo)注需要花費(fèi)較長(zhǎng)時(shí)間的標(biāo)注類(lèi)型中,如分割和姿態(tài)估計(jì)
既然人工標(biāo)注一定會(huì)存在,那么自動(dòng)標(biāo)注存在意義就是提高人工標(biāo)注效率,而非代替人工標(biāo)注。在分類(lèi)和檢測(cè)任務(wù)這類(lèi)單次標(biāo)注耗時(shí)較短的場(chǎng)景中,自動(dòng)標(biāo)注的價(jià)值較小。
假設(shè)從0開(kāi)始完成一個(gè)標(biāo)注花費(fèi)5秒鐘,而已經(jīng)進(jìn)行了自動(dòng)標(biāo)注的情況下,修改一個(gè)標(biāo)注需要花2秒,標(biāo)注效率提升60%(假設(shè)跑自動(dòng)標(biāo)注模型是在下班之后,不影響人工標(biāo)注時(shí)間)。
但我們看到可能有些圖片上模型的標(biāo)注結(jié)果偏差太大,這樣用戶(hù)還需要話(huà)1秒來(lái)刪掉自動(dòng)標(biāo)注的結(jié)果,反而這次標(biāo)注的效率降低了20%(ie., 1/5),如此高的負(fù)收益使得整體效率算下來(lái)沒(méi)有提高很多。
5.2.3 人工標(biāo)注的主要內(nèi)容將從創(chuàng)建標(biāo)注轉(zhuǎn)變?yōu)樾薷臉?biāo)注
雖然人工標(biāo)注環(huán)節(jié)不會(huì)消失,但顯然自動(dòng)標(biāo)注將會(huì)在標(biāo)注環(huán)節(jié)起到越來(lái)越重要的作用,今后常見(jiàn)的標(biāo)注流程將會(huì)從創(chuàng)建一個(gè)新標(biāo)注,轉(zhuǎn)變?yōu)樾薷囊粋€(gè)由模型創(chuàng)建的標(biāo)注。
因此,優(yōu)化修改標(biāo)注時(shí)的用戶(hù)體驗(yàn)將會(huì)是一個(gè)提高標(biāo)注效率的突破點(diǎn)。
作者:薛康杰,AIoT產(chǎn)品經(jīng)理,AIops, CV和IoT等平臺(tái)類(lèi)產(chǎn)品;江海龍,AI產(chǎn)品實(shí)習(xí)生,主攻CV產(chǎn)品設(shè)計(jì)。
本文由 @DarrickBM 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議
干貨滿(mǎn)滿(mǎn)!收獲巨大!作者大大賽高~
有收獲
夠干??!
干貨滿(mǎn)滿(mǎn) 提升巨大
干貨滿(mǎn)滿(mǎn)