1. 程式人生 > 實用技巧 >PP-YOLO優化策略與案例分享 -- 電力巡檢

PP-YOLO優化策略與案例分享 -- 電力巡檢

目錄

前言

PP-YOLO優化策略與案例分享

  1. PP-YOLO詳解
  2. YOLO模型速度和精度的優化
  3. 電力巡檢案例

在這裡插入圖片描述

初稿,後續會更新和完善此部落格

無人電力巡檢低成本部署方案

無人巡檢應用場景
在這裡插入圖片描述

專案背景

輸電線路環境檢測

  • 邊緣節點攝像機實時採集影象
  • 端側節點模型實時檢測安全隱患
  • 安全隱患上報視覺化管控平臺
  • 人員複核和檢修
    在這裡插入圖片描述

方案選擇

專案難點

  • 複雜環境下多尺度多目標檢測
  • 已部署的智慧監控裝置低端嵌入式晶片,算力小,功耗低
  • 監控裝置留給模型記憶體餘量200M
  • 準確率,誤報率,漏檢率有較高要求,速度需要達到秒級

方案選擇

在這裡插入圖片描述
精度達到了要求,但是速度太慢,模型太大

解決方案

  1. 訓練:精度和預測速度價效比高的YOLOv3-MobileNetV1模型
  2. 剪裁+量化: 減小模型大小和計算量
  3. 蒸餾: 提升模型精度,teacher模型YOLOv3-EesNet34
  4. 部署:PaddleLite

注:PaddleDetection內建提供剪裁、蒸餾、量化指令碼和部署方案,可一鍵式執行
在這裡插入圖片描述
最終效果
精度無損,模型大小360m -> 122M,推理時延3.4s -> 2.0s,使用PaddleLite完成監控裝置部署

實際案例

在這裡插入圖片描述

PP-YOLO優化深度解析

YOLOv3及優化模型

在這裡插入圖片描述

PP-YOLO深度解析

PP-YOLO

  • 基於YOLOv3的優化模型
  • 儘量不引入額外計算量大的trick
  • COCO mAP=45.9%,V100 FPS=72.9
  • 精度速度均優於YOLOv4

在這裡插入圖片描述
在這裡插入圖片描述
PP-YOLO文件
在這裡插入圖片描述

PP-YOLO模型結構

在這裡插入圖片描述

目標檢測模型優化方法

在這裡插入圖片描述

PP-YOLO精度提升歷程-1

在這裡插入圖片描述

YOLOv3-DarkNet53優化

在這裡插入圖片描述

Image Mixup

在這裡插入圖片描述

Label Smooth

在這裡插入圖片描述

Synchronized Batch Norm

在這裡插入圖片描述

PP-YOLO精度提升歷程-2

在這裡插入圖片描述

ResNet-D

在這裡插入圖片描述

Deformable Conv

在這裡插入圖片描述

PP-YOLO精度提升歷程-3

在這裡插入圖片描述

Drop Block

在這裡插入圖片描述

Exponential Moving Average

在這裡插入圖片描述

Larger Batch Size

在這裡插入圖片描述

PP-YOLO精度提升歷程-4

在這裡插入圖片描述

IoU Loss

在這裡插入圖片描述

PP-YOLO精度提升歷程-5

在這裡插入圖片描述

IoU Aware

在這裡插入圖片描述

PP-YOLO精度提升歷程-6

在這裡插入圖片描述

Grid Sensitive

在這裡插入圖片描述

PP-YOLO精度提升歷程-7

在這裡插入圖片描述

Matrix NMS

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

PP-YOLO精度提升歷程-8

在這裡插入圖片描述

Coorf Conv

在這裡插入圖片描述

PP-YOLO精度提升歷程-9

在這裡插入圖片描述

SPP

在這裡插入圖片描述

PP-YOLO精度提升歷程-10

在這裡插入圖片描述

SSLD

在這裡插入圖片描述

PP-YOLO精度提升歷程-11

在這裡插入圖片描述

總結

  1. YOLOv3企業應用案例

    • 模型小,速度快,精度有一定要求,選擇YOLOv3-MobileNetV1模型
    • 使用卷積通道裁剪+量化壓縮模型體積,提升預測速度
    • 使用蒸餾提升模型精度
    • 基於PaddleLite完成端側部署
  2. PP-YOLO優化

    • 骨幹網路:ResNet50vd-DCN
    • 訓練策略:Larger Batch Size + EMA + DropBlock
    • 損失函式:IoU Loss + IoU Aware
    • 後處理: Grid Sensitive + Matrix NMS
    • 特徵提取:SPP + Coord Conv
    • 其他: SSLD pretrain + 2x scheduler
    • 沒有用到 Mosaic Image