99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

細粒度圖像識別深度學習開源工具庫Hawkeye解析

新機器視覺 ? 來源:機器之心 ? 作者:機器之心 ? 2022-11-06 20:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

細粒度圖像識別是視覺感知學習的重要研究課題,在智能新經濟和工業(yè)互聯網等方面具有巨大應用價值,且在諸多現實場景已有廣泛應用…… 鑒于當前領域內尚缺乏該方面的深度學習開源工具庫,南京理工大學魏秀參教授團隊用時近一年時間,開發(fā)、打磨、完成了 Hawkeye——細粒度圖像識別深度學習開源工具庫,供相關領域研究人員和工程師參考使用。本文是對 Hawkeye 的詳細介紹。

目錄

1. 什么是 Hawkeye 庫

2. Hawkeye 支持的模型及方法

3. 安裝 Hawkeye

4. 使用 Hawkeye 訓練模型

1. 什么是 Hawkeye 庫

Hawkeye 是一個基于 PyTorch 的細粒度圖像識別深度學習工具庫,專為相關領域研究人員和工程師設計。目前,Hawkeye 包含多種代表性范式的細粒度識別方法,包括 “基于深度濾波器”、“基于注意力機制”、“基于高階特征交互”、“基于特殊損失函數”、“基于網絡數據” 以及其他方法。

Hawkeye 項目代碼風格良好,結構清晰易讀,可拓展性較強。對于剛接觸細粒度圖像識別領域的相關人員而言,Hawkeye 較易上手,便于其理解細粒度圖像識別的主要流程和代表性方法,同時也方便在本工具庫上快速實現自己的算法。此外,我們還給出了庫中各模型的訓練示例代碼,自研方法也可按照示例快速適配并添加至 Hawkeye 中。

Hawkeye 開源庫鏈接:https://github.com/Hawkeye-FineGrained/Hawkeye

2. Hawkeye 支持的模型及方法

Hawkeye 目前支持細粒度圖像識別中主要學習范式的共 16 個模型與方法,具體如下:

基于深度濾波器

S3N (ICCV 2019)

Interp-Parts (CVPR 2020)

ProtoTree (CVPR 2021)

基于注意力機制

OSME+MAMC (ECCV 2018)

MGE-CNN (ICCV 2019)

APCNN (IEEE TIP 2021)

基于高階特征交互

BCNN (ICCV 2015)

CBCNN (CVPR 2016)

Fast MPN-COV (CVPR 2018)

基于特殊損失函數

Pairwise Confusion (ECCV 2018)

API-Net (AAAI 2020)

CIN (AAAI 2020)

基于網絡數據

Peer-Learning (ICCV 2021)

其他方法

NTS-Net (ECCV 2018)

CrossX (ICCV 2019)

DCL (CVPR 2019)

3. 安裝 Hawkeye

安裝依賴

使用 conda 或者 pip 安裝相關依賴:

Python 3.8

PyTorch 1.11.0 or higher

torchvison 0.12.0 or higher

numpy

yacs

tqdm

克隆倉庫:

git clone https://github.com/Hawkeye-FineGrained/Hawkeye.git

cd Hawkeye

準備數據集

首先,下載一個數據集(以 CUB200 為例):

cd Hawkeye/data

wget https://data.caltech.edu/records/65de6-vp158/files/CUB_200_2011.tgz

mkdir bird && tar -xvf CUB_200_2011.tgz -C bird/

我們提供了上述 8 個數據集的 meta-data 文件,能夠匹配庫中的 FGDataset 方便地加載訓練集和測試集,訓練集和測試集為各個數據集官方提供的劃分。使用不同數據集時,只需在實驗的 config 文件中修改 dataset 配置即可,方便切換。

在實驗的 config 文件中修改 dataset 配置,示例如下:

dataset:

name: cub

root_dir: data/bird/CUB_200_2011/images

meta_dir: metadata/cub

4. 使用 Hawkeye 訓練模型

對于 Hawkeye 支持的每個方法,我們均提供了單獨的訓練模板和配置文件。例如訓練 APINet 只需一條命令:

python Examples/APINet.py --config configs/APINet.yaml

實驗的參數都在相應的 yaml 文件中,可讀性高、便于修改,如:

experiment:
name: API_res101 2        # 實驗名稱
  log_dir: results/APINet   # 實驗日志、結果等的輸出目錄
  seed: 42                  # 可以選擇固定的隨機數種子
#  resume: results/APINet/API_res101 2/checkpoint_epoch_19.pth    # 可以從訓練中斷的 checkpoint 中恢復訓練
dataset:
  name: cub          # 使用 CUB200 數據集
  root_dir: data/bird/CUB_200_2011/images   # 數據集中圖像放置的路徑
  meta_dir: metadata/cub                  # CUB200 的 metadata 路徑
  n_classes: 10         # 類別數,APINet 需要的數據集
  n_samples: 4          # 每個類別的樣本數
  batch_size: 24        # 測試時的批樣本數
  num_workers: 4      # Dataloader 加載數據集的線程數
  transformer:        # 數據增強的參數配置
    image_size: 224      # 圖像輸入模型的尺寸 224x224
    resize_size: 256    # 圖像增強前縮放的尺寸 256x256
model:
  name: APINet        # 使用 APINet 模型,見 `model/methods/APINet.py`
  num_classes: 200      # 類別數目
#  load: results/APINet/API_res101 1/best_model.pth     # 可以加載訓練過的模型參數
train:
  cuda: [4]          # 使用的 GPU 設備 ID 列表,[] 時使用 CPU
  epoch: 100        # 訓練的 epoch 數量
  save_frequence: 10    # 自動保存模型的頻率
#  val_first: False      # 可選是否在訓練前進行一次模型精度的測試
  optimizer:
    name: Adam        # 使用 Adam 優(yōu)化器
    lr: 0.0001        # 學習率為 0.0001
    weight_decay: 0.00000002
  scheduler:
    # 本例使用自定義組合的 scheduler,由 warmup 和余弦退火學習率組合而成,見 `Examples/APINet.py`
    name: ''
    T_max: 100        # scheduler 的總迭代次數
    warmup_epochs: 8    # warmup 的 epoch 數
    lr_warmup_decay: 0.01  # warmup 衰減的比例
  criterion:
    name: APINetLoss    # APINet 使用的損失函數,見 `model/loss/APINet_loss.py`

實驗的主程序 Examples/APINet.py 中的訓練器 APINetTrainer 繼承自 Trainer,不需要再寫復雜的訓練流程、logger、模型保存、配置加載等代碼,只用按需修改部分模塊即可。我們也提供了訓練階段的多個 hook 鉤子,可以滿足一些方法特別的實現方式。

日志文件、模型權重文件、訓練使用的訓練代碼以及當時的配置文件都會保存在實驗輸出目錄 log_dir 中,備份配置和訓練代碼便于日后對不同實驗進行對比。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4900

    瀏覽量

    70800
  • 深度學習
    +關注

    關注

    73

    文章

    5561

    瀏覽量

    122825

原文標題:基于PyTorch、易上手,細粒度圖像識別深度學習工具庫Hawkeye開源

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【高云GW5AT-LV60 開發(fā)套件試用體驗】基于開發(fā)板進行深度學習實踐,并盡量實現皮膚病理圖片的識別

    收到開發(fā)板已經有一段時間了,最初申請的時候寫的是希望能夠實現基于fpga的圖像識別相關的項目,最初對這個還是有些模糊的,不過這幾天折騰下來,似乎有點思路了,但是畢竟基礎還是有點薄弱,所以廢話不多
    發(fā)表于 06-11 22:35

    【免費工具】華秋AI電路識別助手:讓電路設計與分析變得輕松高效!

    基于人工智能技術開發(fā)的微信小程序,通過先進的圖像識別技術和深度學習算法,快速準確識別電路圖中的元件和電路功能,并提供詳細的分析報告。無論是原理圖、PCB還是產品實物,都
    的頭像 發(fā)表于 06-05 18:18 ?479次閱讀
    【免費<b class='flag-5'>工具</b>】華秋AI電路<b class='flag-5'>識別</b>助手:讓電路設計與分析變得輕松高效!

    手持終端集裝箱識別系統的圖像識別技術

    行業(yè)提供了更靈活、精準的管理工具。 一、技術核心:OCR+AI深度融合 現代手持終端系統采用多模態(tài)圖像識別技術,結合深度學習算法,可快速捕捉
    的頭像 發(fā)表于 04-03 10:49 ?300次閱讀

    DeepSeek宣布開源DeepGEMM

    DeepGEMM 是一個專為簡潔高效的 FP8 通用矩陣乘法(GEMM)設計的,具有細粒度縮放功能,在Deepseek開源周的第三天Deepseek正式宣布開源DeepGEMM。 據
    的頭像 發(fā)表于 02-26 15:33 ?897次閱讀

    SLAMTEC Aurora:把深度學習“卷”進機器人日常

    在人工智能和機器人技術飛速發(fā)展的今天,深度學習與SLAM(同步定位與地圖構建)技術的結合,正引領著智能機器人行業(yè)邁向新的高度。最近科技圈頂流DeepSeek簡直殺瘋了!靠著逆天的深度學習
    的頭像 發(fā)表于 02-19 15:49 ?462次閱讀

    DevEco Studio構建分析工具Build Analyzer 為原生鴻蒙應用開發(fā)提速

    分析不同構建階段的性能差異,進一步優(yōu)化構建流程。 Build Analyzer作為一款強大的構建分析工具,為原生鴻蒙應用開發(fā)者提供了從任務追蹤到性能優(yōu)化的全方位支持。通過其細粒度的分析和直觀的可視化
    發(fā)表于 02-17 18:06

    BP神經網絡在圖像識別中的應用

    BP神經網絡在圖像識別中發(fā)揮著重要作用,其多層結構使得網絡能夠學習到復雜的特征表達,適用于處理非線性問題。以下是對BP神經網絡在圖像識別中應用的分析: 一、BP神經網絡基本原理 BP神經網絡,即反向
    的頭像 發(fā)表于 02-12 15:12 ?686次閱讀

    深度學習中的卷積神經網絡模型

    深度學習近年來在多個領域取得了顯著的進展,尤其是在圖像識別、語音識別和自然語言處理等方面。卷積神經網絡作為深度
    的頭像 發(fā)表于 11-15 14:52 ?856次閱讀

    Perforce Helix Core通過ISO 26262認證!為汽車軟件開發(fā)團隊提供無限可擴展性、細粒度安全性、文件快速訪問等

    News!Helix Core通過ISO 26262認證,符合汽車系統開發(fā)所需的安全和可靠性標準,助力汽車軟件安全合規(guī)!具備無限可擴展性、細粒度安全性、文件快速訪問...是眾多汽車OEM和供應商的首選版本控制工具
    的頭像 發(fā)表于 11-12 14:41 ?1247次閱讀
    Perforce Helix Core通過ISO 26262認證!為汽車軟件開發(fā)團隊提供無限可擴展性、<b class='flag-5'>細粒度</b>安全性、文件快速訪問等

    AI圖像識別攝像機

    ?AI圖像識別攝像機是一種集成了先進算法和深度學習模型的智能監(jiān)控設備。這些攝像機不僅能夠捕捉視頻畫面,還能實時分析和處理所拍攝的內容,從而實現對特定對象、場景或行
    的頭像 發(fā)表于 11-08 10:38 ?882次閱讀
    AI<b class='flag-5'>圖像識別</b>攝像機

    GPU深度學習應用案例

    GPU在深度學習中的應用廣泛且重要,以下是一些GPU深度學習應用案例: 一、圖像識別 圖像識別
    的頭像 發(fā)表于 10-27 11:13 ?1393次閱讀

    激光雷達技術的基于深度學習的進步

    信息。這使得激光雷達在自動駕駛、無人機、機器人等領域具有廣泛的應用前景。 二、深度學習技術的發(fā)展 深度學習是機器學習的一個分支,它通過模擬人
    的頭像 發(fā)表于 10-27 10:57 ?1076次閱讀

    AI大模型在圖像識別中的優(yōu)勢

    AI大模型在圖像識別中展現出了顯著的優(yōu)勢,這些優(yōu)勢主要源于其強大的計算能力、深度學習算法以及大規(guī)模的數據處理能力。以下是對AI大模型在圖像識別中優(yōu)勢的介紹: 一、高效性與準確性 處理速
    的頭像 發(fā)表于 10-23 15:01 ?2453次閱讀

    【飛凌嵌入式OK3576-C開發(fā)板體驗】RKNPU圖像識別測試

    高性能的同時,還注重功耗控制,適用于對功耗有嚴格要求的設備。 多框架支持 :RKNPU支持多種流行的深度學習框架,如TensorFlow、PyTorch、Caffe等,為開發(fā)者提供豐富的工具
    發(fā)表于 10-10 09:27

    深度識別算法包括哪些內容

    :CNN是深度學習中處理圖像和視頻等具有網格結構數據的主要算法。它通過卷積層、池化層和全連接層等組件,實現對圖像特征的自動提取和識別。 應
    的頭像 發(fā)表于 09-10 15:28 ?847次閱讀