refactor(vision): 优化姿态关键点检测器的初始化逻辑
- 移除未使用的 threading 和 time 模块导入 - 统一委托类型的使用,避免硬编码委托类型 - 简化 GPU 和 CPU 委托的创建流程 - 修复委托类型传递的一致性问题
This commit is contained in:
@@ -1,7 +1,5 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import threading
|
|
||||||
import time
|
|
||||||
from typing import Callable
|
from typing import Callable
|
||||||
|
|
||||||
import mediapipe as mp
|
import mediapipe as mp
|
||||||
@@ -30,14 +28,14 @@ class PoseLandmarkerWrapper:
|
|||||||
if prefer_gpu:
|
if prefer_gpu:
|
||||||
try:
|
try:
|
||||||
self.delegate = BaseOptions.Delegate.GPU
|
self.delegate = BaseOptions.Delegate.GPU
|
||||||
self._landmarker = self._create(PoseLandmarker.Delegate.GPU)
|
self._landmarker = self._create(self.delegate, result_callback)
|
||||||
logger.info("MediaPipe PoseLandmarker initialized with GPU delegate")
|
logger.info("MediaPipe PoseLandmarker initialized with GPU delegate")
|
||||||
return
|
return
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
logger.warning("MediaPipe GPU delegate unavailable, falling back to CPU: {}", exc)
|
logger.warning("MediaPipe GPU delegate unavailable, falling back to CPU: {}", exc)
|
||||||
|
|
||||||
self.delegate = BaseOptions.Delegate.CPU
|
self.delegate = BaseOptions.Delegate.CPU
|
||||||
self._landmarker = self._create(PoseLandmarker.Delegate.CPU, result_callback)
|
self._landmarker = self._create(self.delegate, result_callback)
|
||||||
logger.info("MediaPipe PoseLandmarker initialized with CPU delegate")
|
logger.info("MediaPipe PoseLandmarker initialized with CPU delegate")
|
||||||
|
|
||||||
def _create(self, delegate, result_callback=None):
|
def _create(self, delegate, result_callback=None):
|
||||||
|
|||||||
Reference in New Issue
Block a user