本文做者:楊蕊1002git
導讀:PaddleCV是飛槳開源的產業級CV工具與預訓練模型集,提供了依託於百度實際產品打磨,可以極大地方便 CV 研究者和工程師快速應用。使用者可使用PaddleCV 快速實現圖像分類、目標檢測、圖像分割、視頻分類和動做定位、圖像生成、度量學習、場景文字識別和關鍵點檢測8大類任務,而且能夠直接使用百度開源工業級預訓練模型進行快速應用於工業、農業、醫療、零售、媒體、駕駛等領域。用戶在極大地減小研究和開發成本的同時,也能夠得到更好的基於產業實踐的應用效果。github
一張圖瞭解PaddleCV!web
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleCV網絡
PaddleCV全解讀架構
圖像分類是根據圖像的語義信息對不一樣類別圖像進行區分,是計算機視覺中重要的基礎問題,是物體檢測、圖像分割、物體跟蹤、行爲分析、人臉識別等其餘高層視覺任務的基礎,在許多領域都有着普遍的應用。如:安防領域的人臉識別和智能視頻分析等,交通領域的交通場景識別,互聯網領域基於內容的圖像檢索和相冊自動歸類,醫學領域的圖像識別等。app
在深度學習時代,圖像分類的準確率大幅度提高,在圖像分類任務中,咱們向你們介紹瞭如何在經典的數據集ImageNet上,訓練經常使用的模型,包括AlexNet、VGG、GoogLeNet、ResNet、Inception-v四、MobileNet、SE-ResNeXt、ShuffleNet模型,也開源了預訓練的模型方便用戶下載使用。ide
經典的分類模型架構圖:函數
AlexNet結構圖工具
VGG系列結構圖性能
GoogleNet結構圖
ResNet系列結構圖
Inception-v4結構圖
MobileNet核心結構圖
SE-ResNeXt系列核心結構圖
ShuffleNet系列結構圖
圖像分類系列模型評估結果
傳送門 :https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleCV/image_classification
目標檢測任務的目標是給定一張圖像或是一個視頻幀,讓計算機找出其中全部目標的位置,並給出每一個目標的具體類別。對於人類來講,目標檢測是一個很是簡單的任務。然而,計算機可以「看到」的是圖像被編碼以後的數字,很難解圖像或是視頻幀中出現了人或是物體這樣的高層語義概念,也就更加難以定位目標出如今圖像中哪一個區域。與此同時,因爲目標會出如今圖像或是視頻幀中的任何位置,目標的形態變幻無窮,圖像或是視頻幀的背景千差萬別,諸多因素都使得目標檢測對計算機來講是一個具備挑戰性的問題。
在目標檢測任務中,經典的模型包括SSD、PyramidBox、Faster RCNN、MaskRCNN等。
SSD目標檢測模型結構
Pyramidbox 人臉檢測模型
YOLOv3 結構
Faster RCNN 結構
Mask RCNN結構
傳送門:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleCV/PaddleDetection
3. 圖像語義分割
圖像語意分割顧名思義是將圖像像素按照表達的語義含義的不一樣進行分組/分割,圖像語義是指對圖像內容的理解,例如,可以描繪出什麼物體在哪裏作了什麼事情等,分割是指對圖片中的每一個像素點進行標註,標註屬於哪一類別。近年來用在無人車駕駛技術中分割街景來避讓行人和車輛、醫療影像分析中輔助診斷等。分割任務主要分爲實例分割和語義分割,實例分割是物體檢測加上語義分割的綜合體,上文介紹的MaskRCNN是實例分割的經典網絡結構之一。在圖像語義分割任務中,咱們介紹了兼顧準確率和速度的ICNet,DeepLab中最新、執行效果最好的DeepLab v3+。
DeepLabv3+基本結構
ICNet網絡結構
U-Net基本結構
傳送門:
https://github.com/PaddlePaddle/PaddleSeg
4. 視頻分類
視頻分類是視頻理解任務的基礎,與圖像分類不一樣的是,分類的對象再也不是靜止的圖像,而是一個由多幀圖像構成的、包含語音數據、包含運動信息等的視頻對象,所以理解視頻須要得到更多的上下文信息,不只要理解每幀圖像是什麼、包含什麼,還須要結合不一樣幀,知道上下文的關聯信息。視頻分類方法主要包含基於卷積神經網絡、基於循環神經網絡、或將這二者結合的方法。
在視頻分類任務中,咱們介紹視頻分類方向的多個主流領先模型,其中Attention LSTM,Attention Cluster和NeXtVLAD是比較流行的特徵序列模型,TSN和StNet是兩個End-to-End的視頻分類模型。Attention LSTM模型速度快精度高,NeXtVLAD是2nd-Youtube-8M比賽中最好的單模型, TSN是基於2D-CNN的經典解決方案。Attention Cluster和StNet是百度自研模型,分別發表於CVPR2018和AAAI2019,是Kinetics600比賽第一名中使用到的模型。
AttentionCluster模型結構
Attention LSTM模型結構
NeXtVLAD模型結構
StNet模型結構
TSN模型結構
性能評測
基於Youtube-8M數據集的視頻分類模型評估結果
基於Kinetics數據集的視頻分類模型 評估結果
基於ActivityNet的動做定位模型:
傳送門:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleCV/PaddleVideo
圖像生成是指根據輸入向量,生成目標圖像。這裏的輸入向量能夠是隨機的噪聲或用戶指定的條件向量。具體的應用場景有:手寫體生成、人臉合成、風格遷移、圖像修復、超分重建等。當前的圖像生成任務主要是藉助生成對抗網絡(GAN)來實現。生成對抗網絡(GAN)由兩種子網絡組成:生成器和識別器。生成器的輸入是隨機噪聲或條件向量,輸出是目標圖像。識別器是一個分類器,輸入是一張圖像,輸出是該圖像是不是真實的圖像。在訓練過程當中,生成器和識別器經過不斷的相互博弈提高本身的能力。
在圖像生成任務中,咱們介紹瞭如何使用DCGAN和ConditioanlGAN來進行手寫數字的生成,另外還介紹了用於風格遷移的CycleGAN。
Pix2Pix生成網絡結構圖
ConditioanlGAN結構
DCGAN結構
CycleGAN 結構
AttGAN的網絡結構[8]
StarGAN的生成網絡結構[上]和判別網絡結構[下]
STGAN的網絡結構[9]
傳送門:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleCV/PaddleGAN
6. 度量學習
度量學習也稱做距離度量學習、類似度學習,經過學習對象之間的距離,度量學習可以用於分析對象時間的關聯、比較關係,在實際問題中應用較爲普遍,可應用於輔助分類、聚類問題,也普遍用於圖像檢索、人臉識別等領域。以往,針對不一樣的任務,須要選擇合適的特徵並手動構建距離函數,而度量學習可根據不一樣的任務來自主學習出針對特定任務的度量距離函數。度量學習和深度學習的結合,在人臉識別/驗證、行人再識別(human Re-ID)、圖像檢索等領域均取得較好的性能,在這個任務中咱們主要介紹了基於Fluid的深度度量學習模型,包含了三元組、四元組等損失函數。
傳送門 :https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleCV/metric_learning
許多場景圖像中包含着豐富的文本信息,對理解圖像信息有着重要做用,可以極大地幫助人們認知和理解場景圖像的內容。場景文字識別是在圖像背景複雜、分辨率低下、字體多樣、分佈隨意等狀況下,將圖像信息轉化爲文字序列的過程,可認爲是一種特別的翻譯過程:將圖像輸入翻譯爲天然語言輸出。場景圖像文字識別技術的發展也促進了一些新型應用的產生,如經過自動識別路牌中的文字幫助街景應用獲取更加準確的地址信息等。
在場景文字識別任務中,咱們介紹如何將基於CNN的圖像特徵提取和基於RNN的序列翻譯技術結合,免除人工定義特徵,避免字符分割,使用自動學習到的圖像特徵,完成字符識別。當前,介紹了CRNN-CTC模型和基於注意力機制的序列到序列模型。
CRNN-CTC模型結構
基於注意力機制的序列到序列模型結構:
OCR模型評估結果
傳送門 :https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleCV/ocr_recognition
人體關鍵點檢測,經過人體關鍵節點的組合和追蹤來識別人的運動和行爲,對於描述人體姿態,預測人體行爲相當重要,是諸多計算機視覺任務的基礎,例如動做分類,異常行爲檢測,以及自動駕駛等等,也爲遊戲、視頻等提供新的交互方式。
在人體關鍵點檢測任務中,咱們介紹了網絡結構簡單的coco2018關鍵點檢測項目的亞軍方案。
Simple Baselines for Human Pose Estimation in Fluid,coco2018關鍵點檢測項目的亞軍方案,沒有華麗的技巧,僅僅是在ResNet中插入了幾層反捲積,將低分辨率的特徵圖擴張爲原圖大小,以今生成預測關鍵點須要的Heatmap。沒有任何的特徵融合,網絡結構很是簡單,可是達到了state of theart 效果。
視頻:Demo: BrunoMars - That’s What I Like [官方視頻]
效果視頻,請查看:https://mp.weixin.qq.com/s/r6IUHKPsbMEH10DZn_WWmw
傳送門:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleCV/human_pose_estimation
官網地址:https://www.paddlepaddle.org.cn
項目地址:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleCV