- 有人說,「深度學習“等於”深度卷積神經網路演算法模型+大規模資料+雲端分散式算力」。也有人說,「能夠在業內叱吒風雲的AI都曾“身經百戰”,經歷過無數次的訓練與試錯」。以上都需要海量資料做依託,對於那些資料量匱乏的領域,就衍生出了資料增強技術。即,根據一個原始資料,稍作改動,變成一個對於AI來說的全新的資料。
為什麼做資料增強?
資料規模的重要性到底怎樣呢?可以說,深度學習的火熱和蓬勃發展,直接源於普林斯頓大學教授李飛飛及她所帶領的團隊創作的一個包含百萬級圖片的資料集ImageNet。工業級人臉識別模型的訓練,也是動輒百萬級、千萬級的人臉圖片數量。深度學習是基於大資料的一種方法,我們當然希望資料的規模越大、質量越高越好,模型才能夠有著更好的泛化能力。但大家都知道,海量資料的標註是一件非常龐大、非常耗時耗力耗金的工作,能標註的資料往往十分有限,同時,我們希望資料能覆蓋各種場景,然而實際採集資料的時候,往往很難覆蓋掉全部的場景。這時資料增強是擴充資料樣本規模的一種有效的方法。
如何進行資料增強?
資料增強可以分為常規的資料增強和特殊的資料增強。常規的資料增強方法又可分為:空間幾何變換類(水平垂直翻轉、隨機裁剪、旋轉、仿射變換、透視變換)、色彩類(隨機亮度、飽和度、色調)、噪聲類(椒鹽噪聲、高斯噪聲、頻域噪聲)、隨機擦除、銳化、模糊等;然而,特殊的資料增強有著各種各樣的形式,為應對不同的視覺任務以及應用場景,所採用的增強方式也會隨之不同。對於某個深度學習任務,並非所有的資料增強方法都有作用,接下來將詳細介紹StartDT AI Lab是如何採用資料增強技術實現場景落地與業務增值的。
商品檢測、分類任務中的資料增強技術
“無人貨櫃”、“無人店”等應用場景下,智慧演算法引擎的任務就是檢測並識別商品。為了提高我們視覺模型的精度與泛化能力,除了採用一些常規的資料增強外,我們還使用了多樣本融合的資料增強,例如Mix-up、Sample-Pairing等。Mix-up是一種將多張圖片按一定權值融合在一起的資料增強方法;此外,一些基於強化學習的資料增強方式也給我們帶來了相當可觀的演算法收益,例如谷歌的Auto-Augment。Auto-Augment的做法是通過強化學習的方法,以不同的資料增強方法為搜尋空間,搜尋對於當前深度學習任務有效的資料增強方法的組合;另外,還有一些增強正樣本或負樣本以控制正負樣本均衡的資料增強方法。
人臉識別中的資料增強技術
人臉資料的不同個體之間相似程度較高,並且涉及個人隱私問題,這些問題給人臉資料的收集、清洗以及標註工作帶來了巨大的困難與挑戰。此外,人臉識別在我們的實際應用場景屬於開放性場景,攝像頭的安裝位置、光照、遮擋等等因素造成了人臉資料分佈的不確定性與複雜性。公開資料集雖然在數量級上較為可觀,但是其仍然存在一定問題。不同faceid下的圖片個數、人臉的姿態、光照條件、影像質量等存在巨大差異,造成了樣本不均衡。如果直接採用這些資料進行演算法模型訓練,很難滿足實際應用的需求。為此,我們採用了資料增強技術很大程度上解決了以上問題。
- 人臉姿態變換:採用傳統影像處理演算法與GAN生成對抗網路結合的方式,實現通過單幅人臉影像模擬任意姿態的人臉影像。
人臉姿態變化
- 人臉屬性修改:利用GAN生成對抗網路,實現人臉屬性的修改,包括表情、配飾、髮型等。
人臉屬性修改(眼鏡佩戴與否)
通過結合傳統方法和深度學習方法,對人臉影像進行去(加)噪、去(模擬)模糊、超分辨(降質)等處理,從而獲取不同質量的人臉資料。
行人重識別(REID)中的資料增強技術
在“奇點識客”系統中,REID技術作為人臉識別技術的一個重要補充,用於行人跨域追蹤。然而,現場攝像頭畫面之間、現場攝像頭畫面行人資料分佈與公開資料集之間都存在巨大domain差異,因此採用公開資料集訓練的Re-ID模型在該場景下的準確率較低,無法滿足實際需求。針對此問題,我們採用生成對抗網路(GAN)將公開資料集中的行人轉化成實際場景下的影像風格,重新進行訓練後,模型準確率提升了50%以上。此外,我們還通過GAN的方式實現行人姿態的變化,以提高資料集的多樣性;通過注意力機制,強化學習行人除衣著之外的特徵(頭部,四肢等),以解決行人換衣導致的準確率下降的問題。
資料增強是增大資料規模,減輕模型過擬合的有效方法,資料增強技術作為視覺智慧引擎的助燃劑,不斷為之提供動力,併為StartDT AI Lab的演算法落地提供強有力的支援。