计算机视觉各领域前沿算法积累
目錄
- 一、目標(biāo)檢測
- 1、SSD
- 2、PaddleDetection
- 3、mmdetection
- 4、mediapipe
- 二、單目標(biāo)跟蹤
- 1、pytracking
- 2、pysot
- 3、SiamMask
- 4、siammask_e
- 5、AlphaVideo
- 6、Deep-Learning-for-Tracking-and-Detection
- 三、人像檢索
- 1、faiss
- 2、HNSW
- 四、語義分割
- 1、paddleSeg
- 五、文本檢測與識別
- 1、PaddleOCR
- 2、DB
- 3、tr
- 4、charnet
- 5、Vedastr
- 六、人像摳圖
- 1、PortraitNet
- 七、模型壓縮
- 1、TVM
- 2、Glow
- 3、Tengine
- 八、人體位姿估計
- 1、openpose
- 2、PPN
- 3、Lightweight OpenPose
- 九、車牌識別
- 1、openalpr
- 2、mobile-lpr
- 十、目標(biāo)分類
- 1、PaddleClas
- 十一、人臉網(wǎng)格化
- 1、PRNet
- 2、mediapipe
- 十二、多目標(biāo)跟蹤
- 1、Towards-Realtime-MOT
- 2、CenterTrack
- 3、FairMOT
- 十三、人像摳圖
- 1、Background-Matting
- 十四、3D檢測
- 1、OpenPCDet
- 十五、Re-ID
- 1、Torchreid
- 2、fast-reid
- 十六、車道線檢測
- 1、Ultra-Fast-Lane-Detection
- 十七、人體位姿跟蹤
- 1、lighttrack
- 2、PoseFlow
- 3、DetectAndTrack
- 注意事項
一、目標(biāo)檢測
1、SSD
??github鏈接。作者復(fù)現(xiàn)的SSD算法,該項目很容易上手,通過修改一些參數(shù)就可以很快獲得一個性能優(yōu)異的檢測模型。
2、PaddleDetection
??github鏈接。飛槳推出的PaddleDetection是端到端目標(biāo)檢測開發(fā)套件,旨在幫助開發(fā)者更快更好地完成檢測模型的訓(xùn)練、精度速度優(yōu)化到部署全流程。PaddleDetection以模塊化的設(shè)計實現(xiàn)了多種主流目標(biāo)檢測算法,并且提供了豐富的數(shù)據(jù)增強、網(wǎng)絡(luò)組件、損失函數(shù)等模塊,集成了模型壓縮和跨平臺高性能部署能力。目前基于PaddleDetection已經(jīng)完成落地的項目涉及工業(yè)質(zhì)檢、遙感圖像檢測、無人巡檢等多個領(lǐng)域。
- 模型豐富:PaddleDetection提供了豐富的模型,包含目標(biāo)檢測、實例分割、人臉檢測等100+個預(yù)訓(xùn)練模型,涵蓋多種數(shù)據(jù)集競賽冠軍方案、適合云端/邊緣端設(shè)備部署的檢測方案。
- 易部署:PaddleDetection的模型中使用的核心算子均通過C++或CUDA實現(xiàn),同時基于PaddlePaddle的高性能推理引擎可以方便地部署在多種硬件平臺上。
- 高靈活度:PaddleDetection通過模塊化設(shè)計來解耦各個組件,基于配置文件可以輕松地搭建各種檢測模型。
- 高性能:基于PaddlePaddle框架的高性能內(nèi)核,在模型訓(xùn)練速度、顯存占用上有一定的優(yōu)勢。例如,YOLOv3的訓(xùn)練速度快于其他框架,在Tesla V100 16GB環(huán)境下,Mask-RCNN(ResNet50)可以單卡Batch Size可以達到4 (甚至到5)。
3、mmdetection
??github鏈接。MMDetection是一個基于PyTorch的開源對象檢測工具箱。
- 模塊化設(shè)計:我們將檢測框架分解成不同的組件,通過組合不同的模塊可以很容易地構(gòu)建一個定制的目標(biāo)檢測框架。
- 支持多個現(xiàn)成的框架:工具箱直接支持流行的和當(dāng)代的檢測框架,例如更快的RCNN、掩碼RCNN、RetinaNet等。
- 高效率:所有基本的bbox和mask操作都在gpu上運行。訓(xùn)練速度快于或可與其他代碼庫相媲美,包括Detectron2、maskrcnn
benchmark和simpledt。 - state-of-art:這個工具箱源于MMDet團隊開發(fā)的代碼庫,他們在2018年贏得了COCO檢測挑戰(zhàn)賽,我們一直在推動它的發(fā)展。
4、mediapipe
??github鏈接。MediaPipe是研究人員和開發(fā)人員為移動、桌面/云、web和物聯(lián)網(wǎng)設(shè)備構(gòu)建世界級ML解決方案和應(yīng)用程序的最簡單方法。該項目具體包含多個性能優(yōu)異的算法,具體包括人臉檢測、人臉網(wǎng)格化、手部關(guān)鍵點檢測和跟蹤、頭發(fā)分割、目標(biāo)跟蹤、3D目標(biāo)檢測和模板匹配等任務(wù)。
二、單目標(biāo)跟蹤
1、pytracking
??github鏈接。pytracking是一個基于PyTorch的視頻對象跟蹤和分割通用python框架。當(dāng)前支持PrDiMP、DiMP、ATOM、ECO等多個性能優(yōu)異的目標(biāo)跟蹤方法。
2、pysot
??github鏈接。PySOT是由SenseTime視頻智能研究團隊設(shè)計的軟件系統(tǒng)。它實現(xiàn)了最先進的單目標(biāo)跟蹤算法,包括SiamRPN和SiamMask。它是用Python編寫的,由PyTorch深度學(xué)習(xí)框架提供支持。該項目還包含一個用于評估跟蹤程序的工具箱的Python端口。pysot中已經(jīng)包含了SiamRPN、DaSiamRPN、SiamRPN++和SiamMask等多個性能優(yōu)異的跟蹤算法。
3、SiamMask
??github鏈接。SiamMask算法可以同時完成視頻中目標(biāo)的跟蹤和分割任務(wù),具有較好的效果。
4、siammask_e
??github鏈接。該算法是在SiamMask算法的基礎(chǔ)上增加了旋轉(zhuǎn)矩形框,從而進一步提升了SiamMask算法的精度。
5、AlphaVideo
??github鏈接。AlphaVideo是一個基于Pythorch的開源視頻理解工具箱,涵蓋多目標(biāo)跟蹤和動作檢測。在AlphaVideo中,我們發(fā)布了第一個單級多目標(biāo)跟蹤(MOT)系統(tǒng)TubeTK,在MOT-16和MOT-17上分別達到66.9mota和63 MOTA。對于動作檢測,我們發(fā)布了一個高效的模型AlphAction,這是第一個在AVA數(shù)據(jù)集上實現(xiàn)單模型30+mAP(32.4map)的開源項目。
6、Deep-Learning-for-Tracking-and-Detection
??github鏈接。 檢測和跟蹤算法匯總。
三、人像檢索
1、faiss
??github鏈接。Faiss是一個高效的相似性搜索和密集向量聚類庫。它包含的算法可以搜索任意大小的向量集,最多可以搜索不適合RAM的向量集。它還包含用于計算和參數(shù)調(diào)整的支持代碼。Faiss用C++編寫,帶有Python/NuMPy的完整包裝。一些最有用的算法是在GPU上實現(xiàn)的。它是由Facebook人工智能研究開發(fā)的。
2、HNSW
??github鏈接。Hierarchical Navigable Small World Graph for fast ANN search
四、語義分割
1、paddleSeg
??github鏈接。PaddleSeg是基于PaddlePaddle開發(fā)的端到端圖像分割開發(fā)套件,覆蓋了DeepLabv3+, U-Net, ICNet, PSPNet, HRNet, Fast-SCNN等主流分割網(wǎng)絡(luò)。通過模塊化的設(shè)計,以配置化方式驅(qū)動模型組合,幫助開發(fā)者更便捷地完成從訓(xùn)練到部署的全流程圖像分割應(yīng)用。它的核心優(yōu)勢是使用起來特別簡單,能夠快速幫你完成模型的訓(xùn)練和部署,大力推薦。
五、文本檢測與識別
1、PaddleOCR
??github鏈接。PaddleOCR旨在打造一套豐富、領(lǐng)先、且實用的OCR工具庫,助力使用者訓(xùn)練出更好的模型,并應(yīng)用落地。
- 超輕量級中文OCR,總模型僅8.6M
- 單模型支持中英文數(shù)字組合識別、豎排文本識別、長文本識別
- 檢測模型DB(4.1M)+識別模型CRNN(4.5M)
- 多種文本檢測訓(xùn)練算法,EAST、DB
- 多種文本識別訓(xùn)練算法,Rosetta、CRNN、STAR-Net、RARE
2、DB
??github鏈接-論文。DB是一個性能優(yōu)異的文本檢測算法,該算法的核心優(yōu)勢是速度比較快,可以結(jié)合CRNN等多種文本識別算法使用。
3、tr
??github鏈接。tr是一款針對掃描文檔的離線文本識別SDK,核心代碼全部采用C++開發(fā),并提供Python接口。
4、charnet
??github鏈接。charnet是一個文本檢測和識別算法,該算法可以同時完成文本的檢測和文本的識別。比較遺憾的是只有測試代碼。沒有訓(xùn)練代碼。另外,該算法的運行速度比較慢。
5、Vedastr
??github鏈接。Vedastr是一個基于PyTorch的開源場景文本識別工具箱。為了支持場景文本識別任務(wù)的快速實現(xiàn)和評估,設(shè)計了靈活的場景文本識別系統(tǒng)。該工具具有如下的特性:
- 模塊化設(shè)計-我們將場景文本識別框架分解成不同的組件,通過組合不同的模塊,可以方便地構(gòu)建一個定制的場景文本識別框架。
- 靈活性-Vedastr足夠靈活,能夠輕松地更改模塊內(nèi)的組件。
- 模塊擴展性-你可以很容易將一個新模塊集成到vedastr項目中。
- 支持多種框架-該工具箱支持幾種流行的場景文本識別框架,如CRNN,TPS ResNet BiLSTM Attention,Transformer。
- 高精度-我們在深度文本識別基準(zhǔn)中重新實現(xiàn)了最佳模型,得到了較好的平均準(zhǔn)確率。此外,我們實現(xiàn)了一個簡單的基線(ResNet-FC),性能是可以接受的。
六、人像摳圖
1、PortraitNet
??github鏈接。PortraitNet是一個人像摳圖算法,它是一種在移動設(shè)備上高效運行的實時人像分割模型,稱為人像網(wǎng)。肖像網(wǎng)是基于一個輕量級的U形架構(gòu),在訓(xùn)練階段有兩個輔助損失,而肖像推理在測試階段不需要額外的成本。
七、模型壓縮
1、TVM
??github鏈接。 TVM是用于深度學(xué)習(xí)系統(tǒng)的編譯器堆棧。它旨在縮小以生產(chǎn)率為中心的深度學(xué)習(xí)框架與以性能和效率為中心的硬件后端之間的差距。TVM與深度學(xué)習(xí)框架一起工作,為不同的后端提供端到端的編譯。
2、Glow
??github鏈接。Glow是一個用于硬件加速器的機器學(xué)習(xí)編譯器和執(zhí)行引擎。它被設(shè)計成用作高級機器學(xué)習(xí)框架的后端。編譯器的設(shè)計允許最先進的編譯器優(yōu)化和神經(jīng)網(wǎng)絡(luò)圖的代碼生成。
3、Tengine
??github鏈接。Tengine由開放人工智能實驗室開發(fā),是開放人工智能實驗室推出的面向人工智能場景的人工智能應(yīng)用開發(fā)平臺,致力于解決人工智能產(chǎn)業(yè)鏈的碎片化問題,加速人工智能產(chǎn)業(yè)化的落地。Tengine是專門為AIoT場景設(shè)計的,它具有跨平臺、異構(gòu)調(diào)度、芯片底層加速、超輕量化和獨立性、完整的開發(fā)部署工具鏈等特點。Tengine兼容多種操作系統(tǒng)和深度學(xué)習(xí)算法框架,簡化和加速了面向場景的人工智能算法在嵌入式邊緣設(shè)備上的快速遷移,以及實際應(yīng)用部署。
八、人體位姿估計
1、openpose
??github鏈接。OpenPose代表了第一個在單個圖像上聯(lián)合檢測人體、手、面部和腳關(guān)鍵點(總共135個關(guān)鍵點)的實時多人系統(tǒng)。該算法的優(yōu)點是精度比較高,使用起來比較簡單;缺點是速度比較慢,并不能直接應(yīng)用到一些嵌入式設(shè)備中。
2、PPN
??github鏈接-論文。PPN是一個快速、實時的人體位姿識別算法,該算法的核心優(yōu)勢是經(jīng)過優(yōu)化后可以實時的運行在嵌入式設(shè)備中,缺點是精度比較低,需要進行特定的優(yōu)化。
3、Lightweight OpenPose
??github鏈接-論文。該算法是針對openpose算法的速度二提出來的改進算法,該算法使用MobileNet代替原始的ResNet基準(zhǔn)網(wǎng)絡(luò),在Core i7-6850K CPU上面獲得26fps的運行速度,接近實時。
九、車牌識別
1、openalpr
??github鏈接。openalpr是一個開源的C++自動識別板庫,用C++語言編寫,用C語言編寫,javaNode.js節(jié)點,Go和Python。圖書館分析圖像和視頻流以識別車牌。輸出是任何車牌字符的文本表示。
2、mobile-lpr
??github鏈接。Mobile-LPR 是一個面向移動端的準(zhǔn)商業(yè)級車牌識別庫,以NCNN作為推理后端,使用DNN作為算法核心,支持多種車牌檢測算法,支持車牌識別和車牌顏色識別。
- 超輕量,核心庫只依賴NCNN,并且對模型量化進行支持
- 多檢測,支持SSD,MTCNN,LFFD等目標(biāo)檢測算法
- 精度高,LFFD目標(biāo)檢測在CCPD檢測AP達到98.9,車牌識別達到99.95%, 綜合識別率超過99%
- 易使用,只需要10行代碼即可完成車牌識別
- 易擴展,可快速擴展各類檢測算法
十、目標(biāo)分類
1、PaddleClas
??github鏈接。飛槳圖像分類套件PaddleClas是飛槳為工業(yè)界和學(xué)術(shù)界所準(zhǔn)備的一個圖像分類任務(wù)的工具集,助力使用者訓(xùn)練出更好的視覺模型和應(yīng)用落地。
十一、人臉網(wǎng)格化
1、PRNet
??github鏈接。PRNet是一個基于位置圖回歸網(wǎng)絡(luò)的三維人臉重建與密集對齊算法。
- 該方法繞過3DMM擬合,直接從單個圖像中回歸出三維人臉結(jié)構(gòu)和密集對齊。
- 通過對位置圖進行多任務(wù)回歸,可以得到具有語義的三維幾何圖形。因此,我們可以輕松地完成密集對齊、單目三維人臉重建、姿態(tài)估計等任務(wù)。
- 比實時速度快的方法可以運行在超過100fps(與GTX 1080)的位置圖回歸。
- 在無約束條件下對人臉圖像進行魯棒性測試。我們的方法對姿態(tài)、光照和遮擋都是穩(wěn)健的。
2、mediapipe
??github鏈接。MediaPipe是研究人員和開發(fā)人員為移動、桌面/云、web和物聯(lián)網(wǎng)設(shè)備構(gòu)建世界級ML解決方案和應(yīng)用程序的最簡單方法。該項目具體包含多個性能優(yōu)異的算法,具體包括人臉檢測、人臉網(wǎng)格化、手部關(guān)鍵點檢測和跟蹤、頭發(fā)分割、目標(biāo)跟蹤、3D目標(biāo)檢測和模板匹配等任務(wù)。
十二、多目標(biāo)跟蹤
1、Towards-Realtime-MOT
??github鏈接。這個repo是聯(lián)合檢測和嵌入(JDE)模型的一個代碼庫。JDE是一種快速、高性能的多目標(biāo)跟蹤器,它在共享神經(jīng)網(wǎng)絡(luò)中同時學(xué)習(xí)目標(biāo)檢測任務(wù)和外觀嵌入任務(wù)。技術(shù)細(xì)節(jié)在我們的arXiv預(yù)印本中有描述。通過使用此回購協(xié)議,您可以簡單地在MOT-16 challenge的“私有”協(xié)議上實現(xiàn)MOTA 64%+,并以22~38 FPS的近乎實時速度(請注意,此速度適用于整個系統(tǒng),包括檢測步驟!)。
2、CenterTrack
??github鏈接。CenterTrack是一個多目標(biāo)跟蹤算法,該算法將目標(biāo)跟蹤轉(zhuǎn)換為點跟蹤問題,使用CenterNet作為目標(biāo)檢測器,使用貪婪匹配算法來進行目標(biāo)關(guān)聯(lián),取得了較大的性能提升。
3、FairMOT
??github鏈接-論文鏈接。FairMOT是一個簡單的one-shot多目標(biāo)跟蹤算法,該算法使用一個網(wǎng)絡(luò)同時完成了 目標(biāo)檢測和REID任務(wù)。論文使用Anchor-free的目標(biāo)檢測算法,重點解決了基于Anchor-based所帶來的中心坐標(biāo)點不對齊大的問題。
十三、人像摳圖
1、Background-Matting
??github鏈接。這是CVPR2020會議上提出的一個人像摳圖算法,該算法具有很驚艷的分割效果,值得仔細(xì)研究和學(xué)習(xí)。
十四、3D檢測
1、OpenPCDet
??github鏈接。OpenPCDet是一個基于LiDAR的3D場景感知的開源項目。目前主要由OpenPCDet工具箱組成,用于點云三維目標(biāo)檢測。OpenPCDet是一個通用的基于PyTorch的點云三維物體檢測代碼庫。它目前支持多種最先進的3D對象檢測方法,單階段和雙階段3D檢測框架都有高度重構(gòu)的代碼。
十五、Re-ID
1、Torchreid
??github鏈接。這是一個基于Pytorch的Re-ID庫。該工具具有如下的特點:
- 支持多GPU訓(xùn)練
- 同時支持圖像和視頻reiid
- 端到端訓(xùn)練和評估
- 多數(shù)據(jù)集訓(xùn)練
- 跨數(shù)據(jù)集評估
- 高度可擴展(易于添加模型、數(shù)據(jù)集、培訓(xùn)方法等)
- 最先進的deep reid模型的實現(xiàn)
- 使用預(yù)先訓(xùn)練過的reid模型
- 高級訓(xùn)練技術(shù)
- 可視化工具(tensorboard、ranks等)
2、fast-reid
??github鏈接。FastReID 平臺已經(jīng)成為京東人工智能研究(JD AI Research)的開源項目之一,它是面向?qū)W術(shù)界和工業(yè)界的研究/開源項目,主要用于研究和應(yīng)用落地。該工具具有如下的特點:
- 基于 FastReID,我們在多個 ReID 任務(wù)都獲得非常不錯的性能,并且用于業(yè)務(wù)線中,包括行人 ReID、Occluded/Partial 行人 ReID、跨域行人 ReID 和車輛 ReID。
- 在模型評估上我們實現(xiàn)了更多的功能,比如我們支持比較靈活的測試方式,通過下面的命令可以實現(xiàn)在 Market1501 和 MSMT17 上聯(lián)合訓(xùn)練,然后在 Market1501 和 DukeMTMC 上進行測試。
- 大多數(shù)的庫都只關(guān)注學(xué)術(shù)界做 research,我們更希望能夠產(chǎn)學(xué)研結(jié)合,research 中 work 的東西能夠快速到實際場景中去驗證效果,發(fā)現(xiàn)實際中真正需要解決的問題。 當(dāng)然在實際研究中可以天馬行空去寫代碼,但是這份代碼無法快速地在實際場景中去驗證,如果基于 FastReID 去重構(gòu)和開發(fā),那么我們就能夠找到新方法所需要的最小代碼實現(xiàn),就能夠很輕易地移植到實際業(yè)務(wù)中,也不用把大量的時間花在對齊訓(xùn)練邏輯以及預(yù)處理上了。
十六、車道線檢測
1、Ultra-Fast-Lane-Detection
??github鏈接。該算法不僅速度比較快,而且精度比較高,簡單上手。
十七、人體位姿跟蹤
1、lighttrack
??github鏈接。該算法是一個通用的top-down格式的人體位姿跟蹤框架,該框架同時完成人體檢測、人體跟蹤、人體位姿估計等多個問題,在posetrack數(shù)據(jù)集上面取得了良好的效果。
2、PoseFlow
??github鏈接。該算法是一個高效的位姿跟蹤算法,該算法需要配合AlphaPose算法來完成,具體的效果如下所示。
3、DetectAndTrack
??github鏈接。該算法是一個基于視頻的高效位姿估計算法,獲得了ICCV2017 PoseTrack挑戰(zhàn)賽的第一名。
注意事項
[1] 該博客是本人原創(chuàng)博客,如果您對該博客感興趣,想要轉(zhuǎn)載該博客,請與我聯(lián)系(qq郵箱:1575262785@qq.com),我會在第一時間回復(fù)大家,謝謝大家的關(guān)注.
[2] 由于個人能力有限,該博客可能存在很多的問題,希望大家能夠提出改進意見。
[3] 如果您在閱讀本博客時遇到不理解的地方,希望您可以聯(lián)系我,我會及時的回復(fù)您,和您交流想法和意見,謝謝。
[4] 本人業(yè)余時間承接各種本科畢設(shè)設(shè)計和各種小項目,包括圖像處理(數(shù)據(jù)挖掘、機器學(xué)習(xí)、深度學(xué)習(xí)等)、matlab仿真、python算法及仿真等,有需要的請加QQ:1575262785詳聊,備注“項目”!!!
總結(jié)
以上是生活随笔為你收集整理的计算机视觉各领域前沿算法积累的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一步一步带你训练自己的SSD检测算法
- 下一篇: ETAS软件产品(CRISPR/Cas9