引言 css
京東AI研究院近日發佈了基於PyTorch的通用目標重識別(ReID)開源庫FastReID,其發佈對相關領域的研究起到積極的促進做用,同時也加速技術產品落地應用。FastReID已經在行人重識別、車輛重識別上都取得了優異的評測結果,在京東內部,該技術已經得到普遍地應用於智慧園區、智慧樓宇、智慧供應鏈、線下零售等實際項目中。在剛公佈的論文FastReID: A Pytorch Toolbox for General Instance Re-identification中詳細介紹了該開源庫的內容。git
不管是零售場景下的「無人超市」仍是供應鏈場景下的智慧園區,亦或是疫情之下的口罩佩戴……在「有意遮擋」的狀況下,「人臉識別」的難度都會面臨不小的挑戰,其在「配合」模式下的良好識別率將很難發揮價值。數據庫
所以,通用目標重識別的價值將愈來愈重要,爲知足通用實例重識別日益增加的應用需求,京東AI研究院於近日發佈了基於PyTorch的通用目標重識別(ReID)開源庫FastReID ,在FastReID中,高度模塊化和可擴展的設計使得開發者很容易實現新的研究思路其發佈對相關領域的研究起到積極的促進做用,同時也加速技術產品落地應用。跨域
在咱們瞭解FastReID是什麼前,先一塊兒來看看什麼是行人再識別(ReID)。網絡
ReID全稱Re-identification,也就是重識別的意思。簡單理解就是對於一個特定的目標(多是行人、車輛、人臉或者其餘特定物體),在候選圖像集中檢索到它。或稱圖像中目標的實例級檢索。架構
ReID算法可以經過視頻監控系統,在跨攝像頭的條件下檢索行人,大大拓展攝像資源的利用深度。ReID能夠彌補人臉識別的侷限,提高對特定人物的識別追蹤能力,並大大下降人力成本。框架
FastReID採用高度模塊化設計,它具備更高的靈活性和可擴展性,可以在支持多GPU訓練,它的擴展性設計使其在重構代碼的狀況快速實現不少研究項目。dom
考慮到在實際狀況中,學術研究與工程模型部署每每存在較大差距,代碼對齊問題使得學術研究成果很難快速地轉化爲產品。所以,爲了加速學術界研究人員和工業界工程師對重識別技術的發展,咱們推出了FastReID代碼開源庫。FastReID具備高度模塊化和可擴展的設計方式,使研究人員和工程師們能更加容易地嵌入本身設計的模塊並快速實現任務。除此以外,可管理的系統配置可使其應用更加的靈活,易於完成多種任務。FastReID可以提供不一樣方法之間的公平對比。該開源庫已經成爲了京東內部ReID技術研究和開發的核心引擎。
FastReID參照了Detectron2的總體概念和設計哲學,設計成了一個高度模塊化和可拓展的架構,從而可讓研究人員快速的實現新的idea ;更重要的是,該框架友好的管理系統配置和工程部署函數可讓工程師快速的部署它。
FastReID開源庫針對ReID任務提供了完整的工具箱,包括模型訓練、模型評估、模型部署等模塊,而且實現了在多個任務中性能領先的模型。
1) 高度模塊和擴展化設計,方便研究人員快速地將新設計的模塊插入到系統的任意部分,並且可以幫助研究員和工程師快速地實驗新的想法。
2) 系統配置高度管理化,可統一配置模型結構、模型訓練、模型評價、模型部署到YAML文件中。可自定義模型結構的主幹網絡、訓練測試、損失函數等。
3) 豐富的模型評估系統,不只實現了常見的CMC的評估指標,並且添加了包括ROC曲線、樣本類內類間分佈曲線、MINP等多樣性指標,更能反應模型性能,指導模型的部署。
4) 易於工程化部署,提供了有效的知識蒸餾模塊獲得精確的輕量級模型,而且提供了Pytorch轉Caffe和PyTorch轉TensorRT的工具,一鍵式得到工程部署模型。
5) 提供領先預訓練模型,提供多個任務包括行人重識別、遮擋/部分行人重識別、跨域行人重識別和車輛行人重識別的SOTA模型和配置。
上圖已經完整列出了FastReID各個模塊,上下分別爲訓練和推理。
■ 訓練階段包括模塊:
◇ 圖像預處理(Preprocssing),包含豐富的數據增廣方法,包括 Flipping, Random erasing, Auto-augment, Random patch, Cutout等預處理方法,旨在提升模型泛化性和魯棒性。
◇ 骨幹網(Backbone),包含了目前主流的backbone,能夠根據需求選擇相應的主幹網絡,同時增長目前經常使用的特徵表達模塊,如Non-local和instance batch normalization (IBN)。
◇ 聚合模塊(Aggregation),用於將骨幹網生成的特徵圖聚合成一個全局特徵,如max pooling, average pooling, GeM pooling, attention pooling等方法。
◇ Head模塊,通常生成的特徵的維度比較大,須要對特徵進行降維和歸一化,以便於進行存儲。
◇ 訓練策略,目前大多數網絡採用的是ImageNet的pre-trained模型,一些新加的層沒有進行預訓練,在模型的訓練初期採用Backbone Freeze和Network Warm-up的方式對模型預訓練。
◇損失函數,包括常見的Cross-entropy loss,Triplet loss,Arcface loss, Circle loss。
■ 在推理階段,包含模塊:
◇ 度量部分,除支持常見的餘弦和歐式距離,還添加了局部匹配方法deep spatial reconstruction (DSR)。
◇ 度量後處理指對檢索結果的處理,包括K-reciprocal coding和Query Expansion (QE) 兩種重排序方法。
通用物體重識別是計算機視覺中一項很是重要的任務,該技術能夠用於行人/車輛重識別、人臉識別、野生動物保護、商品溯源、拍照購物、無人超市等應用中。其中包括搜索電視劇中感興趣的演員的視頻、從監控視頻中搜索商場中走失的孩子、從城市監控系統中搜索可疑車輛的視頻、電子商務平臺的拍照購物、商品溯源防僞等,甚至在生態環境保護領域中還可用戶東北虎保護等野生瀕危動物的保護的應用。
在新零售場景中,跨鏡追蹤技術可讓「人」與「場」之間的關係數據有辦法被收集並以可視化的方式重現。商家對用戶畫像和用戶行爲有更強的感知,從而可以作出更準確的商業決策。同時,也爲線下針對用戶的個性化服務和精準營銷提供了可能。
在行人重識別任務中三大數據集Market150一、DukeMTMC以及MSMT17上,FastReID相比目前已發表的論文都達到了全部評價指標的領先水平。同時展現了不一樣模塊對於整個系統的性能影響。
表一:FastReID在三大數據庫上的結果
表二:FastReID在DukeMTMC上採用不一樣模塊的對比的結果
因爲跨域ReID不一樣場景之間採集的圖像存在差別性,使其成爲一個很是有挑戰的任務,FastReID在採用混合標籤傳輸的技術,把僞標籤預測和特徵學習融合到一個端到端的網絡,並採用Hybrid Memory Bank技術,使跨域ReID上也得到了目前領先的性能。
表三:FastReID在跨域上結果,M: Market1501,D: DukeMTMC, MS: MSMT17。BOT爲Bag-of-Tricks,FastReID的無監督性能接近監督學習
遮擋/部分行人重識別(Occluded/Partial Person Re-identification),在候選圖像中檢索部分遮擋或者部分不完整圖像。FastReID採用前景感知顯著性特徵學習技術,解決密集場景下的嚴重遮擋問題。
FastReID在PartialREID、PartialiLIDs、OccludedReID上也取得領先水平。
表四:FastReID在遮擋/部分行人重識別上的性能
FastReID利用自適應注意力模型融合人體頭肩解決黑衣行人或者穿着類似衣服,低光照條件下行人重識別問題。而且可以解決不少實際場景中衣服分辨不出行人的狀況。
FastReID不只在行人ReID上取獲得了領先的效果,在車輛ReID上,FastReID也在VeRi,VehicleID,VERI-Wild 數據庫上也取得了領先水平。
表五:FastReID分別在VeRi,VehicleID和VERI-Wild數據庫上的性能
FastReID在各類任務中的評測結果都表現得十分搶眼。目前,這個SOTA級的ReID方法集合工具箱(SOTA ReID Methods and Toolbox),已同時面向學術界和工業界落地。
在京東內部,該開源庫已經成爲了京東內部ReID技術研究和開發的核心引擎。所以, FastReID不僅僅只是一個實驗室項目,而是產品級標準的開源庫。FastReID具備高度模塊化和可擴展的設計方式,使研究人員和工程師們能更加容易地嵌入本身設計的模塊並快速實現任務。除此以外,可管理的系統配置可使其應用更加的靈活,易於完成多種任務。FastReID可以提供不一樣方法之間的公平對比。
咱們熱忱歡迎我的、實驗室使用FastReID,互相交流,互相合做,共同加速人工智能研究,實現技術突破。
*點擊【閱讀原文】當即查看開源庫信息
爲何開源?
「咱們開源FastReID,是由於開源研究成果對AI領域的快速發展起到了相當重要的做用,這些進展來自學術界和工業界的共同努力。將來, 咱們也會繼續發展和完善FastReID,但願能夠共同推進計算機視覺的發展。」