引言
京東AI研究院近日發布了基於PyTorch的通用目標重識別(ReID)開源庫FastReID,其發布對相關領域的研究起到積極的促進作用,同時也加速技術產品落地應用。FastReID已經在行人重識別、車輛重識別上都取得了優異的評測結果,在京東內部,該技術已經獲得廣泛地應用於智慧園區、智慧樓宇、智慧供應鏈、線下零售等實際項目中。在剛公布的論文FastReID: A Pytorch Toolbox for General Instance Re-identification中詳細介紹了該開源庫的內容。
論文鏈接:
https://arxiv.org/pdf/2006.02631.pdf
GitHub鏈接:
https://github.com/JDAI-CV/fast-reid
無論是零售場景下的“無人超市”還是供應鏈場景下的智慧園區,亦或是疫情之下的口罩佩戴……在“有意遮擋”的情況下,“人臉識別”的難度都會面臨不小的挑戰,其在“配合”模式下的良好識別率將很難發揮價值。
因此,通用目標重識別的價值將越來越重要,為滿足通用實例重識別日益增長的應用需求,京東AI研究院於近日發布了基於PyTorch的通用目標重識別(ReID)開源庫FastReID ,在FastReID中,高度模塊化和可擴展的設計使得開發者很容易實現新的研究思路。其發布對相關領域的研究起到積極的促進作用,同時也加速技術產品落地應用。
在我們了解FastReID是什么前,先一起來看看什么是行人再識別(ReID)。
ReID全稱Re-identification,也就是重識別的意思。簡單理解就是對於一個特定的目標(可能是行人、車輛、人臉或者其他特定物體),在候選圖像集中檢索到它。或稱圖像中目標的實例級檢索。
ReID算法能夠通過視頻監控系統,在跨攝像頭的條件下檢索行人,大大拓展攝像資源的利用深度。ReID可以彌補人臉識別的局限,提升對特定人物的識別追蹤能力,並大大降低人力成本。
FastReID采用高度模塊化設計,它具有更高的靈活性和可擴展性,能夠在支持多GPU訓練,它的擴展性設計使其在重構代碼的情況快速實現很多研究項目。
考慮到在實際情況中,學術研究與工程模型部署往往存在較大差距,代碼對齊問題使得學術研究成果很難快速地轉化為產品。因此,為了加速學術界研究人員和工業界工程師對重識別技術的發展,我們推出了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) 兩種重排序方法。
通用物體重識別是計算機視覺中一項非常重要的任務,該技術可以用於行人/車輛重識別、人臉識別、野生動物保護、商品溯源、拍照購物、無人超市等應用中。其中包括搜索電視劇中感興趣的演員的視頻、從監控視頻中搜索商場中走失的孩子、從城市監控系統中搜索可疑車輛的視頻、電子商務平台的拍照購物、商品溯源防偽等,甚至在生態環境保護領域中還可用戶東北虎保護等野生瀕危動物的保護的應用。
在新零售場景中,跨鏡追蹤技術可以讓“人”與“場”之間的關系數據有辦法被收集並以可視化的方式重現。商家對用戶畫像和用戶行為有更強的感知,從而能夠做出更准確的商業決策。同時,也為線下針對用戶的個性化服務和精准營銷提供了可能。
在行人重識別任務中三大數據集Market1501、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,希望可以共同推動計算機視覺的發展。”