You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行姿态检测代码遇RET_CHECK失败问题求助(已装依赖)

姿态检测代码报错:RET_CHECK failure(Output tensor range is required)排查与解决

问题描述

运行基于cvzone和mediapipe的姿态检测代码时触发RET_CHECK failure错误,核心提示为Output tensor range is required,已安装相关依赖但问题未解决。

运行代码

import cv2
from cvzone.PoseModule import PoseDetector

cap = cv2.VideoCapture('Video.mp4')

detector = PoseDetector()
while True:
    success, img = cap.read()
    img = detector.findPose(img)
    lmList, bboxInfo = detector.findPosition(img)
    cv2.imshow("Image", img)
    cv2.waitKey(1)

完整报错栈

Traceback (most recent call last):
  File "/Users/chashanefaith.babanto/Desktop/CRYSTHEL/Motion Capture/MotionCap.py", line 6, in <module>
    detector = PoseDetector()
  File "/Users/chashanefaith.babanto/Desktop/CRYSTHEL/Motion Capture/.venv/lib/python3.9/site-packages/cvzone/PoseModule.py", line 42, in __init__
    self.pose = self.mpPose.Pose(static_image_mode=self.staticMode,
  File "/Users/chashanefaith.babanto/Desktop/CRYSTHEL/Motion Capture/.venv/lib/python3.9/site-packages/mediapipe/python/solutions/pose.py", line 146, in __init__
    super().__init__(
  File "/Users/chashanefaith.babanto/Desktop/CRYSTHEL/Motion Capture/.venv/lib/python3.9/site-packages/mediapipe/python/solution_base.py", line 248, in __init__
    self._graph = calculator_graph.CalculatorGraph(
RuntimeError: ValidatedGraphConfig Initialization failed.
ImageToTensorCalculator: ; RET_CHECK failure (mediapipe/calculators/tensor/image_to_tensor_calculator.cc:144) ValidateOptionOutputDims(options) returned INTERNAL: ; RET_CHECK failure (./mediapipe/calculators/tensor/image_to_tensor_utils.h:136) options.has_output_tensor_float_range() || options.has_output_tensor_int_range() || options.has_output_tensor_uint_range()Output tensor range is required. 
InferenceCalculatorCpu: ; RET_CHECK failure (mediapipe/calculators/tensor/inference_calculator_cpu.cc:63) !options.model_path().empty() ^ kSideInModel(cc).IsConnected()Either model as side packet or model path in options is required.
SplitDetectionVectorCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
ImageToTensorCalculator: ; RET_CHECK failure (mediapipe/calculators/tensor/image_to_tensor_calculator.cc:144) ValidateOptionOutputDims(options) returned INTERNAL: ; RET_CHECK failure (./mediapipe/calculators/tensor/image_to_tensor_utils.h:136) options.has_output_tensor_float_range() || options.has_output_tensor_int_range() || options.has_output_tensor_uint_range()Output tensor range is required. 
ConstantSidePacketCalculator: ; RET_CHECK failure (mediapipe/calculators/core/constant_side_packet_calculator.cc:64) (cc->OutputSidePackets().NumEntries(kPacketTag))==(options.packet_size())Number of output side packets has to be same as number of packets configured in options.
ConstantSidePacketCalculator: ; RET_CHECK failure (mediapipe/calculators/core/constant_side_packet_calculator.cc:64) (cc->OutputSidePackets().NumEntries(kPacketTag))==(options.packet_size())Number of output side packets has to be same as number of packets configured in options.
ConstantSidePacketCalculator: ; RET_CHECK failure (mediapipe/calculators/core/constant_side_packet_calculator.cc:64) (cc->OutputSidePackets().NumEntries(kPacketTag))==(options.packet_size())Number of output side packets has to be same as number of packets configured in options.
SplitTensorVectorCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
SplitNormalizedLandmarkListCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
SplitLandmarkListCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.

问题原因与解决方法

核心原因

该错误由mediapipe与cvzone版本不兼容导致:新版mediapipe对张量处理的配置参数增加了严格校验,但旧版cvzone的PoseModule未适配这些新要求,导致Pose模型初始化时配置错误。

解决步骤

  1. 降级mediapipe到兼容版本
    卸载当前版本,安装适配性较好的0.9.0.1版本:

    pip uninstall mediapipe -y
    pip install mediapipe==0.9.0.1
    
  2. 验证cvzone版本(可选)
    若降级mediapipe后仍有问题,可安装稳定版cvzone(如1.5.6):

    pip install cvzone==1.5.6
    
  3. 显式初始化PoseDetector参数(可选)
    避免默认参数引发的适配问题,显式传入参数初始化:

    detector = PoseDetector(staticMode=False, modelComplexity=1, smoothLandmarks=True)
    
  4. 检查视频文件路径
    确保Video.mp4在代码运行目录下,或使用绝对路径,避免视频读取失败引发后续错误。

内容的提问来源于stack exchange,提问作者Faith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 04:45:14