Page 129 - ITU KALEIDOSCOPE, ATLANTA 2019
P. 129
ICT for Health: Networks, standards and innovation
data structure. This data structure is stored in the cloud and
both MFPD and VPFD access the data. This reduces the .
overall workload and allows multiple computers to run tasks cos = | || | (4)
in parallel improving the processing speed. The map data
structure is made persistent in order to last till the end of the The person with an angle greater than the specific threshold
video instead of removing the objects that have temporarily
exited, which helps in handling short-term occlusions. Also,
this persistent data structure allows persons to be tracked Algorithm 3: Fall Detection
through different cameras in the surveillance system. -----------------------------------
Input: curr – current frame index
3.7 Fall Detection seq – sequence of frames
Pcurr – Currently detected persons
The VPFD model constitutes two important phases: feature Output: FP – Fallen person
extraction using HoG and sequence analysis using LSTM. Model fall = Trained HoG-LSTM model
For each frame, the image is converted to grayscale and N = count (Pcurr)
resized to a dimension of 640 x 480 in order to maintain the T = time window
same dimension of the resultant feature vector during the max_angle = 0
training and testing phase. The HoG feature vector is then FP = None
computed from the reshaped image and passed on to the data = empty array
LSTM model. For each frame, the HoG features of the for j = {0,1, ……, T-1}
previous three frames, including the current frame are feature = HoG(seq[i-j])
considered as input to the LSTM model. Temporal sequence data.append(feature)
of feature vectors is taken into account to eliminate false end for
detection, thus improving the capability of differentiating val = Model fall (data)
falls and actions of daily-living. The model output indicates if val > threshold
the occurrence of a fall. In order to map the fall with the for k = {1,2, ……., N}
detected person, angles of previous center coordinates are angle = find_avg_angle (Pcurr[k].center, T)
calculated as shown in Equation 2. The midpoint of the lower if max_angle < angle
boundary line of the image is taken as the reference plane for max_angle = angle
angle computation as shown in Figure 3.
FP = k
end if
end for
Current end if
Previous center return FP
center A is determined as the fallen person (Algorithm 3). The
B possibility of multiple persons falling at the same time can
also be taken into consideration in this approach. The
(x2, y2) (x1, y1)
threshold value helps in eliminating false fall detection
instances.
α
\
4. IMPLEMENTATION AND RESULTS
(x0, y0) O Reference plane
Figure 3 – Angle between two centers of same person The proposed system has been implemented and tested on
the Intel i5 processor CPU and Nvidia GeForce 940MX GPU
Vector-based notation is utilized to represent both OA and over standard datasets. The MFPT model is trained on the
OB vectors respectively, as given in following equations. Object Tracking Benchmark (OTB - 100) dataset and
Multiple Object Tracking (MOT) dataset. The UR Fall
= (x1 − x0) + ( 1 − 0) (2) dataset [21] is utilized to train the VPFD model. The
proposed system has been implemented using the Python
programming language. FFMPEG has been utilized for
= (x2 − x0) + ( 2 − 0) (3) video encoding and decoding purposes. The image pre-
processing techniques are executed with the help of OpenCV
The angle between vectors OA and OB can be obtained by library. The Keras library in Python was used to create both
finding the cosine inverse of the dot product of two vectors the CNN and LSTM deep-learning models. The overall
as: performance of the proposed system is shown in Figure 4,
where a red boundary indicates that a person is falling.
– 109 –