You are on page 1of 6

TITLE OF INVENTION: OPTIMIZED LOW

COMPUTATIONAL ALGORITHM FOR HUMAN


FALL DETECTION FROM DEPTH IMAGES
BASED ON SUPPORT VECTOR MACHINE
CLASSIFICATIONPRINCIPAL INVENTOR: Dr.
Mohd Norzali B Hj Mohd, FKEE.UTHM
[Document subtitle]

[DATE]
[COMPANY NAME]
[Company address]
[ATTACHEMENT 1]

OPTIMIZED LOW COMPUTATIONAL ALGORITHM FOR HUMAN FALL


TITLE OF INVENTION: DETECTION FROM DEPTH IMAGES BASED ON SUPPORT VECTOR
MACHINE CLASSIFICATION

PRINCIPAL INVENTOR:
Dr. Mohd Norzali B. Hj Mohd

Systems developed to classify human activities to identify unintentional falls are highly

demanding and play an important role in our daily life. Human falls are the main obstacle for

elderly people to live independently and it is also a major health concern due to aging

population. Different approaches are used to develop human fall detection systems for elderly

and people with special needs. The three basic approaches used include some sort of wearable

devices, ambient based devices or non-invasive vision based devices using live cameras. Most of

such systems are either based on wearable or ambient sensor which is very often rejected by

users due to the high false alarm and difficulties in carrying them during their daily life activities.

This paper proposes a fall detection system based on an algorithm using combination of machine

learning and human activity measurements such as changes of human height and rate of change

of the subject during any of the activity. Classification of human fall from other activities of

daily life is accomplished using height, changes in velocity and acceleration of the subject

extracted from the depth information. Finally position of the subject and SVM classification is

used for fall confirmation. From the experimental results, the proposed system was able to

achieve an average accuracy of 97.39% with sensitivity of 100% and specificity of 96.61%.

1. Fall detection algorithm


[ATTACHEMENT 1]

The proposed algorithm for fall detection pass through four stages before a fall is confirmed,
which starts after a person is detected in the acquired depth image from the sensor. At the start of
the algorithm, checks if a person is detected in the acquired depth image. If a person is not
detected the loop will go back and acquire the next image. If a person is detected, the algorithms
will segment the person and extract skeleton coordinate’s data of all detected joints. It will then
enter a loop which will repeat the mentioned processes one more time after a minimum delay
(delay 1) of 2 frames if person is detected in the next immediate depth image. The data from the
two loop is stored in a temporary buffer (buffer 1), which will be used in stage 2, to compute
velocity. After two loop is executed, the algorithm will enter stage 2.

As the algorithm starts, it also runs Support Vector Machine (SVM) classification on a
set of images with two categories (one category consists of images with a subject on floor and
the other with subject in different position) for training purposes. This trained classifier data is
used at the end of the fall detection algorithm to confirm human fall by categorizing the image at
that stage into any of the two categories attached with the program (namely images with falls and
images with non-falls). The SVM algorithm for fall prediction performs supervised learning by
approximating a mapping between two inputs using labelled training examples. In the training
phase, the data from the off-line database imported. Let x and y be the two set of image
categories.

(x1, y1), (x2, y2), ……………, (xn, yn) (4)

Unlike the regular SVMs, which considers only univariate predictions like in
classification and regression. The supervised learning implemented, can predict complex objects
like trees, sequence. The aim is to learn a predictor to map between input-output (x → y) that fits
the training data, which will solve the following optimization Eq. (5).

‖ ‖ ∑ (5)

( )

( ) ( ) (( )

Where (( ) is the usual loss function calculated from the difference of and . The
constraints state that for each of the training ( ) the score of ( ) of any correct
[ATTACHEMENT 1]

structure has to be greater than the score ( ) of all incorrect structures by a


required margin.

The stage 2, will first compute velocity and height using data from buffer 1, before
entering the 2nd loop. This loop will store the results and repeat all the steps above including
steps in stage 1, to get data for computing another velocity and height with a minimum delay
(delay 2) of 10 frames. After that changes in velocity and height is computed and is passed to
stage 3, for the detection of any potential fall movement.

The procedure to identify any potential fall movement from the changes in velocity and
height computed from stage 1 and 2 is implemented in stage 3. Apart from changes in velocity
and height, this stage will make use of activity (any movement) detection and acceleration for the
decision during the execution of fall confirmation (stage 4). The process in this stage, will first
check the changes in velocity computed from previous stages. If it is high, directly the stage 4
will be executed, else the flow will check the changes in height. If the height is not decreasing
dramatically, the process in this stage will then check for any activity, because the subject may
be at any stationery posture such as sitting, leaning on any object, lying on floor or bed, etc. A
small changes in height is not considered to bias any decision. If any activity is detected the
process will exit, display the skeleton joints and start over. In case if any motion is not noticed
after it identifies no significant drop from the changes in height of the subject with respect to
floor, the process will immediately execute stage 4 for fall confirmation. Because no activity
detection with no height change can probably be caused by any stationery posture mentioned
above after an unintentional fall, which needs to be confirmed.

In the last case, the process notices a drop in height of the subject with respective to floor
after no significant changes in velocity. In this case, acceleration will be computed from the two
velocities stored in buffer 2 and it will enter a loop which will repeat all the processes discussed
above. If the flow returns back, it is most probably that the activity detected is a lying on floor
from stand which is very similar to a fall in terms of height change pattern except for the changes
over time. In case of lying on floor the changes in velocity is smaller than for an unintentional
fall, therefore the procedure may not consider it as a significant change. But it was found that, if
acceleration is computed from such velocities, the changes are noticeably high. Therefore stage
3, employs acceleration in its unique procedure to classify out lying on floor from fall. If the
[ATTACHEMENT 1]

flow return back with another acceleration which will be stored in buffer 3, the process will
compute the changes in acceleration to execute stage 4, if the changes is high else the process
will exit, displays the joint coordinates and start over. The last process confirms human fall by
identifying the human posture to see if all the joints are on the floor. The process starts after a
delay of half second, to give enough time for the subject to completely rest on floor or on any
object. The depth is captured and the position of all the detected joints are identified first with
respect to the floor plane and it is then compared with the position of the accurately detected
knee joint from any buffer. If the majority of the joints are below the previous knee joint or if the
SVM algorithm classifies the captured image on to the fall image category, then the algorithm
will confirm it as a fall, else joint coordinates are displayed and the process will start over as
shown in Fig. 1.
[ATTACHEMENT 1]

Fig. 1. Process flow of the proposed algorithm..

It is also to be noted that the proposed algorithm in figure 4.5, immediately executes fall
confirmation process after it notices an abnormal velocity change. But an abnormal increase in
velocity can be caused from many activities where the pattern and the changes in direction of
height are different like increase in walking speed (increased step frequency or step length),
sitting on chair or floor, lying down on floor or bed and running. For an example for walking and
running, the height changes will be a straight fluctuation on to any direction and for other
activities mentioned above the direction will be straight down or most probably diagonally down
to y-axis of the image. Even though the algorithm considers the changes in height only if it could
not sense an increase in velocity, the algorithm can differentiate such activities since it takes into
account the direction of velocity changes to floor.

You might also like