Human Body Detection

Extension Description
AI that identifies human pose and human hand landmark points from camera and stage.

Introduction

Human body detection encompasses a range of technologies for detecting the presence of a human body in an area or space. Air conditioners that come with human detecting sensors and can detect people’s location to optimize comfort and energy-saving are one of the most common examples of this technology.

What this extension focuses on is Pose and Hand Pose detection. These algorithms help identify where the body joints are positioned.

Pose Detection

Pose Detection is a real-time pose detection technique with which you can detect human beings’ poses in Images. It allows you to estimate human pose by detecting body parts such as elbows, hips, wrists, knees, and ankles, and form a skeleton structure of your pose by joining these points.

Pictoblox makes use of the PoseNet model for Pose Detection.

PoseNet gives us a total of 17 key points that we can use, right from our eyes to ears to knees and ankles. If the Image we give to PoseNet is not clear the PoseNet displays a confidence score of how much it is confident in detecting a particular pose as well.

Applications of Pose Detection

  1. Used in Snapchat filters, that can see the tongue, aspects, glimpse, dummy faces.
  2. Fitness apps like a cult which uses to detect your exercise poses.
    Jumping Jack
  3. Instagram Reels uses posture detection to provide you with different features to apply to your face and surrounding.
  4. Virtual Games to analyze shots of players.

Hand Detection

This works in a similar fashion as the Pose Detection algorithm, with much more accurate tracking of the points on the hand. Pictoblox uses the MediaPipe model to detect Hands and Gestures. It predicts 21 3D hand keypoints per detected hand.

Use cases of Hand Detection

Using the Human Body Detection Extension of PictoBlox, you can analyze an image input from a camera or the stage.  Blocks available under this extension will help:

  1. Get the pose of a human body from an image. 
  2. Get the number of people in an image.
  3. Get the x and y coordinates of body features like shoulder, nose, mouth, etc.
  4. Detect hands in an image.
  5. Get the x and y coordinates of hands and different fingers.

Accessing Human Body Detection in Block Coding

Following is the process to add Human Body Detection capability to the PictoBlox Project.

  1. Open PictoBlox and create a new file.
  2. Select the coding environment as Block Coding.
  3. Next, click on the Add Extension button and add the Human Body Detection extension.
  4. The face detection models will be downloaded, which may take a few seconds to load.
    Downloading Models
  5. Once downloaded you will get a message saying “Model loaded successfully”.
  6. You can find the face detection blocks available in the project.

Accessing Human Body Detection in Python Coding

Following is the process to add Human Body Detection capability to the PictoBlox Project.

  1. Open PictoBlox and create a new file.
  2. Select the coding environment as Python Coding.
  3. Next, click on the Add Modules/Libraries button and add the Human Body Detection extension.
  4. To access the library functions, you have to add the object declaration.
    pose = Posenet()

Python Functions

The function is used to control the state of the camera.
Syntax: video(video_state = “on”, transparency = 1)
The function enables the automatic display of the landmark on pose/hand detected on the stage.
Syntax: enablebox()
The function disables the automatic display of the landmark on pose/hand detected on the stage.
Syntax: disablebox()
This function is used to analyze the image received as input from the camera, for human pose detection.
Syntax: analysecamera()
This function is used to analyze the image received as input from the stage, for human pose detection.
Syntax: analysestage()
This function returns the x position of the pose landmark detected. The position is mapped with the stage coordinates.
Syntax: x(landmark_number = 1, pose_number = 1)
This function returns the y position of the pose landmark detected. The position is mapped with the stage coordinates.
Syntax: y(landmark_number = 1, pose_number = 1)
The function tells whether the human pose is detected or not.
Syntax: isdetected(landmark_number = 1, pose_number = 1)
This function is used to analyze the image received as input from the camera, for human hand detection.
Syntax: analysehand()
The function tells whether the human hand is detected or not.
Syntax: ishanddetected()
This function returns the specified parameter of the hand landmark detected.
Syntax: gethandposition(parameter = 1, landmark_number = 4)
This function returns the x position of the hand detected. The position is mapped with the stage coordinates.
Syntax: handx()
This function returns the y position of the hand detected. The position is mapped with the stage coordinates.
Syntax: handy()
All articles loaded
No more articles to load

Python Coding Examples

PictoBlox Blocks

turn () video on stage with () % transparency block controls the control the camera feed on the stage.
The block enables or disables the automatic display of the box on the human pose or hand detection on the stage. This is useful when you want to see if the detection is happening or not.
This block is used to analyze the image received as input from the camera or the stage, for human pose detection.
Once you have analyzed the images, you can use the get # of people block to get the number of people recognized in the image.
This block returns the x position of the pose landmark detected. The position is mapped with the stage coordinates.
This block returns the y position of the pose landmark detected. The position is mapped with the stage coordinates.
This block returns whether the specified detection point is detected or not on the specified pose number.
This block is used to analyze the image received as input from the camera, for human hand detection.
The block tells whether the human hand is detected or not.
This function returns the specified parameter of the hand landmark detected.
This block returns the specified parameter of the hand landmark detected.
This function returns the x or y position of the hand detected. The position is mapped with the stage coordinates.
All articles loaded
No more articles to load

Block Coding Examples

Table of Contents