人貨場的思路是整個新零售數字化鏈路的核心,人是整個業務生命週期的起始點,圖像算法的首要目標就是從圖像中獲得「人」 。前一篇咱們主要講了Face ID的發展,Face ID幫助商家賦能了線下用戶畫像,把視覺計算的熱情帶到支付、安防等各行各業。算法
誠然,分析人的方式多種多樣,各類分析行人的算法中,Face算法在其中有着得天獨厚的優點,它在驗證身份方面是最精準的(能夠精確到支付驗證),但Face算法在數量統計的準確度確定不是最優的。由於不少場景下的Face ID受到了光照遮擋的影響,質量良莠不齊,因此基於行人身體的識別訴求便愈來愈強。網絡
咱們常說一套算法系統是一個此消彼長,魚和熊掌不能完美兼得的,這裏的魚指的是準確率--精確的識別人(face技術),熊掌指的是召回率--全面抓到行人(body技術)。只有當face技術和body技術緊密結合時,咱們整個場景人的分析才能全面覆蓋,人這個維度分析才能更有價值。那麼下面我將着重講講整個行人識別的總體技術鏈路。dom
經過計算機視覺信號對人的相關信息進行結構化提取,第一步一般是人體檢測。因爲奇點雲商業賦能的相關產品和系統在普遍的商業場景中大量鋪開,因此對人體檢測的魯棒性提出了較高的要求。在無約束的視覺場景下,人體檢測主要碰到的問題有:ide
尺度變化大:人的身材大小不一,大人和小孩的比列會相差很大。行人距離攝像頭的遠近也會形成很大的尺度變化。尤爲是這兩種尺度問題疊加,形成的困難就更大了。性能
人體姿態變化大:直立行走、彎腰勞動、坐着休息、三五結伴等等,都會帶來人體形態的巨大變化。學習
攝像頭形成的畸變:目前行人檢測所賦能的場景和商業盈利的要求,都對行人檢測相關硬件的成本作出了比較大的限制。因此,因爲攝像頭自己成像質量和部署所帶來的圖像畸變是很常見的,而這對人體檢測又帶來了很大幹擾。優化
影像模糊:行人檢測訓練中,因爲行人所在的場景及其普遍,做爲負樣本的背景常帶有形狀、紋理、外觀等於人體相像的景狀物,加上光照角度等影響,使得一些負樣本能夠以假亂真。人工智能
遮擋:在行人密集的場景中,行人之間會互相遮擋,在不一樣的場景中穿梭,也經常使得部署位置固定的攝像頭沒法完整地檢測到人體,這也對人體檢測帶來了很大困難。視頻
StartDT AI Lab針對以上的一系列問題,展開了針對性的攻堅工做:生命週期
✨在數據準備上,下了很大的成本,經過自行標註整理,造成了百萬級的數據樣本庫,尤爲在零售商業場景下的行人標註,積累十分豐富。
✨在模型算法方面,充分借鑑了目前主流的鋪設錨點框和新近取得較大突破的關鍵點檢測類的方法。經過不斷的迭代和實驗,目前算法在準確率和召回率方面都已經能夠充分知足當前業務場景下的人體檢測任務。
✨在模型推斷速度的提高方面,StartDT AI Lab主要從兩方面入手來壓縮模型計算複雜性。一方面,壓縮backbone神經網絡,在儘量不下降特徵提取性能的前提下,減少backbone尺寸。另外一方面,優化檢測頭模塊,保障檢測器總體性能不下降。經過不斷的版本迭代,目前模型尺寸已經只有第一代模型的十分之一如下,在同等計算資源下,模型的處理效率有了巨大的提高。
行人重識別的技術自己是從度量學習這個大類脫胎而來,和人臉識別要解決的是一類問題——檢索。經過檢索,咱們但願行人的空間信息和時間信息可以關聯和聚類到一塊兒,那麼重識別就很容易理解了,在一個攝像頭出現的某個行人,若是咱們能夠找出在其餘攝像頭中出現的蹤影,那麼就完成了一次跨境追蹤。
試想這樣的場景若是在迪斯尼樂園/機場/大學校園裏和孩子走散了,除了廣播「xx小朋友你的家長在廣播室等你」的被動方式。咱們能夠翻開實點圖就找到熊孩子。而實點圖就能夠經過重識別來實現:主動輸入小朋友的照片,檢索多個不一樣位置的攝像頭下的當前幀,找到熊孩子的出現攝像頭。最後聯繫攝像頭的位置,就能夠定位孩子了。這個應用一樣也能夠用來找小偷/保護vip等等。這樣的想象空間確實給人以極大的振奮,但如此具備將來感的畫面也不是一蹴而就的。StartDT AI Lab背後大量的技術支撐纔能有讓行人重識別技術發揮其應有的做用:
1.Body-Tracking機制:在視頻結構中的行人追蹤能夠規約爲多目標跟蹤問題,咱們主要經過濾波和貪心算法結合的手段整合每一個行人ID所關聯的信息,在短期的範圍內,追蹤能夠將某個行人的行人框根據先後幀的關聯性,快速匹配,這樣的好處有兩點:一個是增長空間的連續性,在一段視頻幀中先後幀之間有着行人的空間信息,追蹤就能夠將它們的空間信息統一在一塊兒;二是節約了計算成本,在整個追蹤過程當中只需有表明性的分析某幀數據,即可以對總體信息有一個較高維度的把控。
2.人體骨骼點分析:對於行人重識別來講,經過計算機視覺技術,獲取人體的骨骼點,這些關鍵點能爲行人重識別提供關鍵先驗知識。首先,不是全部檢測出的行人都適合去作重識別,其中不完整的行人,分辨率太低的行人對模型會產生必定的影響,爲了不這些髒數據的影響,骨骼點就能夠提供必定過濾做用,經過骨骼點數量咱們對行人的完整度有一個定性的評估。同時,骨骼的位置信息也是咱們行人對齊的關鍵所在,不一樣的行人的姿態和位置是須要經過骨骼關鍵點來完成對齊的,經過對齊行人特徵,減小身體部件錯位對結果產生較大影響。
3.Person Re-identification:行人重識別是經過在監控視頻中,用Re-ID模型對行人的圖片進行特徵抽取,這個特徵所呈現的特色是類似的行人距離較近,不一樣的行人距離較遠,這個高維度embedding的特徵就能夠幫助咱們找到不一樣攝像頭下,相同的行人。雖然技術很新很先進,但在實際場景中,咱們分析行人圖片時,沒法避免的產生了行人不完整的現象,若是咱們直接過濾掉這些行人,那麼在更高層的數據統計維度產生的系統偏差將爲對召回率產生較大影響,在行人不完整時,咱們被業務倒逼去使用殘缺人體進行比對。咱們有意在模型訓練時增長這樣的噪音數據,同時經過無監督的方式對身體特徵對齊,提升了算法對不完整行人的魯棒性。
數據樣本是人工智能技術的基礎,然而數據的積累是極其費時、費力又費錢的一項工做,儘管當前存在一些數據可觀的公開數據集,然而這些數據集自己存在樣本分佈不均衡,樣本多樣性差等問題。另外不一樣應用場景下的數據分佈之間存在必定的區別,致使模型的泛化能力會嚴重下降,所以就必須進行實地數據標註,Re-ID樣本的標註尤其困難。
在項目中,因爲現場攝像頭畫面的行人數據分佈與公開數據集之間存在巨大domain差別,所以採用公開數據集訓練的Re-ID模型在該場景下的準確率較低,沒法知足實際需求。針對此問題,咱們採用生成對抗網絡(GAN)將公開數據集中的行人轉化成實際場景下的圖像風格,從新進行訓練後,模型準確率提高了50%以上。此外,咱們還經過GAN的方式實現行人姿態的變化,以提升數據集的多樣性;經過注意力機制,強化學習行人除衣着以外的特徵(頭部,四肢等),以解決行人換衣致使的準確率降低的問題。
風格遷移:
風格遷移前
風格遷移後
行人服裝更換:
經過以上技術展現,讀者對於行人重識別(Re-ID)這項技術有了全面的瞭解,也對奇點雲對於技術的極致追求有了新的認識。遊離在VIP體系以外的稀疏用戶行爲,正是經過行人識別技術,將其落袋到整個客流畫像之中,爲動線分析,熱力分析提供了可能性。同時也彌補了Face ID沒法做用於廣義統計維度的短板,StartDT AI Lab經過各類算法相互協同並取長補短,產生了微妙的化學反應,最終從新定義了客流系統,將商家的分析維度達到了新的高度。