Skip to content

Commit

Permalink
Merge pull request google-ai-edge#30 from googlesamples/main
Browse files Browse the repository at this point in the history
Merging main into staging
  • Loading branch information
PaulTR committed Dec 14, 2022
2 parents 7501ba3 + 1aef362 commit b86f40b
Show file tree
Hide file tree
Showing 17 changed files with 1,201 additions and 1,722 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -330,30 +330,6 @@ class GestureRecognizerHelper(
const val DEFAULT_HAND_PRESENCE_CONFIDENCE = 0.5F
const val OTHER_ERROR = 0
const val GPU_ERROR = 1

// Values representing the hand landmark types that the model can detect
const val WRIST = 0
const val THUMB_CMC = 1
const val THUMB_MCP = 2
const val THUMB_IP = 3
const val THUMB_TIP = 4
const val INDEX_FINGER_MCP = 5
const val INDEX_FINGER_PIP = 6
const val INDEX_FINGER_DIP = 7
const val INDEX_FINGER_TIP = 8
const val MIDDLE_FINGER_MCP = 9
const val MIDDLE_FINGER_PIP = 10
const val MIDDLE_FINGER_DIP = 11
const val MIDDLE_FINGER_TIP = 12
const val RING_FINGER_MCP = 13
const val RING_FINGER_PIP = 14
const val RING_FINGER_DIP = 15
const val RING_FINGER_TIP = 16
const val PINKY_MCP = 17
const val PINKY_PIP = 18
const val PINKY_DIP = 19
const val PINKY_TIP = 20

}

data class ResultBundle(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import android.view.View
import androidx.core.content.ContextCompat
import com.google.mediapipe.tasks.vision.core.RunningMode
import com.google.mediapipe.tasks.vision.gesturerecognizer.GestureRecognizerResult
import com.google.mediapipe.tasks.vision.handlandmarker.HandLandmark
import kotlin.math.max
import kotlin.math.min

Expand Down Expand Up @@ -123,48 +124,48 @@ class OverlayView(context: Context?, attrs: AttributeSet?) :
// results. These lines connect:
// landmarkConnections[2*n] and landmarkConnections[2*n+1]
private val landmarkConnections = listOf(
GestureRecognizerHelper.WRIST,
GestureRecognizerHelper.THUMB_CMC,
GestureRecognizerHelper.THUMB_CMC,
GestureRecognizerHelper.THUMB_MCP,
GestureRecognizerHelper.THUMB_MCP,
GestureRecognizerHelper.THUMB_IP,
GestureRecognizerHelper.THUMB_IP,
GestureRecognizerHelper.THUMB_TIP,
GestureRecognizerHelper.WRIST,
GestureRecognizerHelper.INDEX_FINGER_MCP,
GestureRecognizerHelper.INDEX_FINGER_MCP,
GestureRecognizerHelper.INDEX_FINGER_PIP,
GestureRecognizerHelper.INDEX_FINGER_PIP,
GestureRecognizerHelper.INDEX_FINGER_DIP,
GestureRecognizerHelper.INDEX_FINGER_DIP,
GestureRecognizerHelper.INDEX_FINGER_TIP,
GestureRecognizerHelper.INDEX_FINGER_MCP,
GestureRecognizerHelper.MIDDLE_FINGER_MCP,
GestureRecognizerHelper.MIDDLE_FINGER_MCP,
GestureRecognizerHelper.MIDDLE_FINGER_PIP,
GestureRecognizerHelper.MIDDLE_FINGER_PIP,
GestureRecognizerHelper.MIDDLE_FINGER_DIP,
GestureRecognizerHelper.MIDDLE_FINGER_DIP,
GestureRecognizerHelper.MIDDLE_FINGER_TIP,
GestureRecognizerHelper.MIDDLE_FINGER_MCP,
GestureRecognizerHelper.RING_FINGER_MCP,
GestureRecognizerHelper.RING_FINGER_MCP,
GestureRecognizerHelper.RING_FINGER_PIP,
GestureRecognizerHelper.RING_FINGER_PIP,
GestureRecognizerHelper.RING_FINGER_DIP,
GestureRecognizerHelper.RING_FINGER_DIP,
GestureRecognizerHelper.RING_FINGER_TIP,
GestureRecognizerHelper.RING_FINGER_MCP,
GestureRecognizerHelper.PINKY_MCP,
GestureRecognizerHelper.WRIST,
GestureRecognizerHelper.PINKY_MCP,
GestureRecognizerHelper.PINKY_MCP,
GestureRecognizerHelper.PINKY_PIP,
GestureRecognizerHelper.PINKY_PIP,
GestureRecognizerHelper.PINKY_DIP,
GestureRecognizerHelper.PINKY_DIP,
GestureRecognizerHelper.PINKY_TIP
HandLandmark.WRIST,
HandLandmark.THUMB_CMC,
HandLandmark.THUMB_CMC,
HandLandmark.THUMB_MCP,
HandLandmark.THUMB_MCP,
HandLandmark.THUMB_IP,
HandLandmark.THUMB_IP,
HandLandmark.THUMB_TIP,
HandLandmark.WRIST,
HandLandmark.INDEX_FINGER_MCP,
HandLandmark.INDEX_FINGER_MCP,
HandLandmark.INDEX_FINGER_PIP,
HandLandmark.INDEX_FINGER_PIP,
HandLandmark.INDEX_FINGER_DIP,
HandLandmark.INDEX_FINGER_DIP,
HandLandmark.INDEX_FINGER_TIP,
HandLandmark.INDEX_FINGER_MCP,
HandLandmark.MIDDLE_FINGER_MCP,
HandLandmark.MIDDLE_FINGER_MCP,
HandLandmark.MIDDLE_FINGER_PIP,
HandLandmark.MIDDLE_FINGER_PIP,
HandLandmark.MIDDLE_FINGER_DIP,
HandLandmark.MIDDLE_FINGER_DIP,
HandLandmark.MIDDLE_FINGER_TIP,
HandLandmark.MIDDLE_FINGER_MCP,
HandLandmark.RING_FINGER_MCP,
HandLandmark.RING_FINGER_MCP,
HandLandmark.RING_FINGER_PIP,
HandLandmark.RING_FINGER_PIP,
HandLandmark.RING_FINGER_DIP,
HandLandmark.RING_FINGER_DIP,
HandLandmark.RING_FINGER_TIP,
HandLandmark.RING_FINGER_MCP,
HandLandmark.PINKY_MCP,
HandLandmark.WRIST,
HandLandmark.PINKY_MCP,
HandLandmark.PINKY_MCP,
HandLandmark.PINKY_PIP,
HandLandmark.PINKY_PIP,
HandLandmark.PINKY_DIP,
HandLandmark.PINKY_DIP,
HandLandmark.PINKY_TIP
)
}
}
16 changes: 16 additions & 0 deletions examples/gesture_recognizer/js/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# MediaPipe GestureRecognizer task for web

## Overview

This web sample detects hand landmarks in images and video frames and classifies gestures (gesture name and confidence level). Gestures are detected in one of the provided images or from camera frames seen by your device's webcam.

## Prerequisites

* A device that can access the web using Chrome, Firefox, or Safari
* For iOS devices, iOS 16 or later

## Running the demo

The live demo and code are available in Codepen.

[View the example on Codepen](https://codepen.io/mediapipe-preview/pen/zYamdVd)
Loading

0 comments on commit b86f40b

Please sign in to comment.