Tau-J/rtmlib

RTMPose series (RTMPose, DWPose, RTMO, RTMW) without mmcv, mmpose, mmdet etc.

rtmlib – 輕量級姿態估計庫

是什麼rtmlib 是一個極小的 Python 套件,可讓你在不引入龐大的 OpenMMLab 堆疊(mmcv, mmpose, mmdet, …)的情況下,使用流行的 RTMPoseViTPose 模型進行人體與動物姿態估計。它僅依賴 numpyopencv-pythonopencv-contrib-pythononnxruntime,並可選擇性地使用 OpenVINO、TensorRT 或支援 GPU 的 ONNX Runtime 以提升速度。

為何重要 – 姿態估計是 AR/VR、體育分析、機器人、動畫以及眾多 AI 驅動應用中的核心電腦視覺任務。透過去除龐大的 OpenMMLab 依賴,rtmlib 使得在輕量級環境(如簡單腳本、Web UI 或邊緣裝置)中嵌入姿態推論變得極為容易,同時仍能存取最前沿的模型。


快速開始(單張影像)

import cv2
from rtmlib import Wholebody, draw_skeleton

img = cv2.imread('demo.jpg')
whole = Wholebody(
    to_openpose=False,          # False = mmpose 風格骨架
    mode='balanced',            # 'performance' | 'lightweight' | 'balanced'
    backend='onnxruntime',
    device='cpu'
)
keypoints, scores = whole(img)
img = draw_skeleton(img, keypoints, scores, kpt_thr=0.5, to_openpose=False)
cv2.imshow('pose', img)
cv2.waitKey(0)

相同的 API 也可透過 PoseTracker 類用於攝影機或影片串流。


主要建構模組

類別(高階) 功能
檢測器 YOLOX, RFDETR, RTMDet 檢測影像中的人體(或任意 COCO 類別)。
姿態估計器 RTMPose, ViTPose 預測身體、手、全身或 3D 姿態的關鍵點座標。
解決方案 Wholebody, Body, Hand, Animal, Custom, Wholebody3d 將檢測器 + 姿態估計器組合成一個可呼叫物件,回傳關鍵點與置信度分數。
工具 draw_skeleton, draw_bbox 在原始影像上可視化結果。

所有這些均可透過 mode 快捷方式(performance, lightweight, balanced)或明確傳入 ONNX 模型 URL/路徑來實例化。


模型資料庫(自動下載)

檢測器 – YOLOX 變體(nano, tiny, s, m, l, x),在 HumanArt+COCO(檢測真實人類與卡通角色)或一般 COCO 上訓練。

姿態估計器 – 數十種 ONNX 檢查點:

  • RTMPose(t, s, m, l, x):17關鍵點身體、21關鍵點手、26關鍵點 HALPE、133關鍵點全身,以及 3D 變體。
  • 同等規模的 RTMO(單階段)版本。
  • ViTPose++(s, b, l):17關鍵點與 133關鍵點身體,以及 25關鍵點微調模型。

若原始 OpenMMLab 下載伺服器無法存取,套件將自動回退至 HuggingFace 鏡像(huggingface.co/Tau-J/RTMPose)。


安裝方式

# 從 PyPI(推薦)
pip install rtmlib -i https://pypi.org/simple

# 或從原始碼安裝
git clone https://github.com/Tau-J/rtmlib.git && cd rtmlib
pip install -r requirements.txt
pip install -e .   # 可編輯安裝
# 可選 GPU 後端
pip install onnxruntime-gpu openvino

Web UI

一個最小的 Gradio 界面(webui.py)允許你上傳影像或從攝影機串流中取得影片,並立即看到姿態疊加效果:

pip install gradio   # 若尚未安裝
python webui.py

UI 在後台使用相同的 Wholebody/draw_skeleton 流程。


典型應用場景

  • 在研究筆記本或小型應用中快速原型化基於姿態的功能。
  • 安裝完整 OpenMMLab 堆疊不切實際的邊緣部署。
  • 使用 Animal 解決方案與 OpenPose 風格骨架進行鳥類、貓、狗、馬等動物的姿態估計。
  • 自訂流程 – 透過低階 YOLOX, RTMPose, ViTPose 類,接入任意 ONNX 檢測器或姿態模型。

授權與引用

倉儲遵循底層 OpenMMLab 模型的相同授權(請查看 LICENSE 檔案)。若在出版物中使用 rtmlib,請依照 README 中 引用 部分的說明,引用原始 RTMPose / ViTPose 論文與 rtmlib GitHub URL。


總結rtmlib 為前沿姿態估計模型提供了乾淨、依賴輕量的封裝,具備現成的高階 API、小型模型資料庫,以及可選的 GPU/加速器後端以實現快速推論。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案