mediapipe icon indicating copy to clipboard operation
mediapipe copied to clipboard

INTERNAL: Service "kGpuService", required by node mediapipe_tasks_vision_pose_landmarker_poselandmarkergraph__mediapipe_tasks_vision_pose_detector_posedetectorgraph...

Open V-m1r opened this issue 1 year ago • 1 comments

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)

No

OS Platform and Distribution

iOS 16.4 and iOS 16.6

MediaPipe Tasks SDK version

0.10.15

Task name (e.g. Image classification, Gesture recognition etc.)

Pose Landmarker

Programming Language and version (e.g. C++, Python, Java)

JavaScript

Describe the actual behavior

tasks-vision -> detectForVideo function doesn't work for iOS 16.4 and 16.6 even with CPU delegate

Describe the expected behaviour

Should work because Pose (Legacy solution) works on iOS 16.4 and 16.6

Standalone code/steps you may have used to try to get what you need

// Mediapipe warmup

this.poseLandmarker = await PoseLandmarker.createFromOptions(vision, {
          baseOptions: {
            modelAssetPath: modelURL, // tried with full and lite models 
            delegate: "CPU"

          },
          minPoseDetectionConfidence: 0.6,
          minPosePresenceConfidence: 0.6,
          minTrackingConfidence: 0.6,
          runningMode: "VIDEO",
          numPoses: 1,
        });
        const canvas = document.createElement('canvas');
        canvas.width = 1;
        canvas.height = 1;
    
        const ctx = canvas.getContext('2d');
        if (ctx) {
          // Clear the canvas before drawing
          ctx.clearRect(0, 0, canvas.width, canvas.height);
          
          // Draw a single pixel
          ctx.fillRect(0, 0, 1, 1);
      
          this.poseLandmarker.detectForVideo(canvas, performance.now(),  (result) => {
            console.log("[event] PoseLandmarker initialized successfully");
            this.isInitialized = true;
            // Clear the canvas after we're done
            ctx.clearRect(0, 0, canvas.width, canvas.height);
            
            return this.poseLandmarker;
          });
        }


### Other info / Complete Logs

```shell
error
06:00:27.000
Error: INTERNAL: Service "kGpuService", required by node mediapipe_tasks_vision_pose_landmarker_poselandmarkergraph__mediapipe_tasks_vision_pose_detector_posedetectorgraph__mediapipe_tasks_core_inferencesubgraph__inferencecalculator__mediapipe_tasks_vision_...

....
TypeError: undefined is not an object (evaluating 'GLctx.activeTexture')

V-m1r avatar Sep 05 '24 07:09 V-m1r