Skip to content

onenationonemind1/falling_detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 

Repository files navigation

Graduation project

IMAGE ALT TEXT HERE
☝️Click the Image and Enjoy the video!

0. Contents

  1. Introduce

  2. Motivation

        - Why do we detect falling down?

  3. Solution

        - Technologies and Libraries Used

              ‧ mediapipe ‧ opencv

        - Establish hypotheses and explain basic logic

              ‧ How do you measure falls?

        - Heinrich's law

              ‧ If you almost fall more than 300 times, it becomes a major disaster in the future.

        - perspective

              ‧ A method for measuring the fall of distant and near objects.           ‧ How to Calculate Falls by Region.

1. Introduce

① You can check distance between foot C.G and body C.G
② It's body center of gravity
③ It's foot center of gravity
④ You can check the count of how many times he fell.
⑤ If distance over 90 pixel(tall * 0.75), It displays he falling.
⑥ 1) Body C.G and foot C.G.      2) Only use X axis.      3) I use this distance difference to basis of judgment
⑦ It indicates if he woke up. (This only displays after falling.)
⑧ A count of 1 goes up in the area where you fell (the count is determined by which area your feet are in).

2. Motivation

Why do we detect falling down?

According to WHO

Source URL : Go WHO-Fall section
- Falls are the second leading cause of unintentional injury deaths worldwide.
- Each year an estimated 684 000 individuals die from falls globally of which over 80% are in low- and middle-income countries.
- Adults older than 60 years of age suffer the greatest number of fatal falls.
- 37.3 million falls that are severe enough to require medical attention occur each year.
- Prevention strategies should emphasize education, training, creating safer environments, prioritizing fall-related research and establishing      effective policies to reduce risk.

3. Solution

- Technologies and Libraries Used

Mediapipe

I used Media Pipe - Pose Estimation from google.
The MediaPipe Pose Landmarker task lets you detect landmarks of human bodies in an image or video.

OpenCV

It is used to draw a line, draw a dot, and decorate the user's UI.


- Establish hypotheses and explain basic logic

How do you measure falls?

How to find body's center of gravity?


Firstly, you should know how to find lectangle's center of gravity.

EXAMPLE

In this way you can find the center of gravity of the following body parts. Because the human body can be divided into segments.
Source URL: Visit digitalengineering247.com!



Finally, we can see an example based on the previous theory..


[Find C.G of left amr]


Finally, We can find body's center of gravity.

Heinrich law (Reason of mesuring count)

According to Heinrich's Law, when a person falls more than 300 times in the same place, it leads to one serious accident. Therefore, by counting the number of falls, we need to take action before the count exceeds 300.

The above workers have experienced a fall at the site.
But most people don't take it seriously.
There are safety managers, but they have to manage too many areas.
So, task managers often install safety devices after a major accident.

- 20-30 km of management area per capita -> outside the scope of ability
- When working indoors, it is difficult to check CCTV in real time due to paperwork.

Perspective

A method for measuring the fall of distant and near objects.

We know that near and far objects have different sizes.

So, when measuring the fall, when measuring the length, you can solve it as follows.
Person's body of C.G * 0.75 > |body of C.G's X axis - Center of the two feet X axis|

How to Calculate Falls by Region.


Examply, If you want to recognize when the center point of the feet is in the example square box, you can find out by checking if it is within the following range.

image



So we can checke if it is within the following range. Real region(red)

image
express in code (632 line)

if Point_of_action_X <  320 and Point_of_action_X > 100 and  Point_of_action_Y > 390 and Point_of_action_Y > y and  standing and stage == 'falling':               
    cv2.putText(image, 'fall' , ( 320,240 ),cv2.FONT_HERSHEY_SIMPLEX, 2, (0,0,255), 2, cv2.LINE_AA )
    stage = "standing"
    counter_three +=1

About

falling_detection

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published