/SignLanguageNeuralNetwork

Neural network that determines sign (from sign language) using 3d points representing hand landmarks

Primary LanguagePython

SignLanguageNeuralNetwork

Neural network that determines sign (from sign language) using 3d points representing hand landmarks

Model summary:

Layer (type)                    Output Shape         Param #     Connected to
==================================================================================================
hand_landmarks (InputLayer)     [(None, 21, 3)]      0
__________________________________________________________________________________________________
conv1d (Conv1D)                 (None, 21, 32)       128         hand_landmarks[0][0]
__________________________________________________________________________________________________
batch_normalization (BatchNorma (None, 21, 32)       128         conv1d[0][0]
__________________________________________________________________________________________________
activation (Activation)         (None, 21, 32)       0           batch_normalization[0][0]
__________________________________________________________________________________________________
conv1d_1 (Conv1D)               (None, 21, 64)       2112        activation[0][0]
__________________________________________________________________________________________________
batch_normalization_1 (BatchNor (None, 21, 64)       256         conv1d_1[0][0]
__________________________________________________________________________________________________
activation_1 (Activation)       (None, 21, 64)       0           batch_normalization_1[0][0]
__________________________________________________________________________________________________
conv1d_2 (Conv1D)               (None, 21, 512)      33280       activation_1[0][0]
__________________________________________________________________________________________________
batch_normalization_2 (BatchNor (None, 21, 512)      2048        conv1d_2[0][0]
__________________________________________________________________________________________________
activation_2 (Activation)       (None, 21, 512)      0           batch_normalization_2[0][0]
__________________________________________________________________________________________________
global_max_pooling1d (GlobalMax (None, 512)          0           activation_2[0][0]
__________________________________________________________________________________________________
dense (Dense)                   (None, 256)          131328      global_max_pooling1d[0][0]
__________________________________________________________________________________________________
batch_normalization_3 (BatchNor (None, 256)          1024        dense[0][0]
__________________________________________________________________________________________________
activation_3 (Activation)       (None, 256)          0           batch_normalization_3[0][0]
__________________________________________________________________________________________________
dense_1 (Dense)                 (None, 128)          32896       activation_3[0][0]
__________________________________________________________________________________________________
batch_normalization_4 (BatchNor (None, 128)          512         dense_1[0][0]
__________________________________________________________________________________________________
activation_4 (Activation)       (None, 128)          0           batch_normalization_4[0][0]
__________________________________________________________________________________________________
dense_2 (Dense)                 (None, 9)            1161        activation_4[0][0]
__________________________________________________________________________________________________
reshape (Reshape)               (None, 3, 3)         0           dense_2[0][0]
__________________________________________________________________________________________________
dot (Dot)                       (None, 21, 3)        0           hand_landmarks[0][0]
                                                                 reshape[0][0]
__________________________________________________________________________________________________
conv1d_3 (Conv1D)               (None, 21, 32)       128         dot[0][0]
__________________________________________________________________________________________________
batch_normalization_5 (BatchNor (None, 21, 32)       128         conv1d_3[0][0]
__________________________________________________________________________________________________
activation_5 (Activation)       (None, 21, 32)       0           batch_normalization_5[0][0]
__________________________________________________________________________________________________
conv1d_4 (Conv1D)               (None, 21, 32)       1056        activation_5[0][0]
__________________________________________________________________________________________________
batch_normalization_6 (BatchNor (None, 21, 32)       128         conv1d_4[0][0]
__________________________________________________________________________________________________
activation_6 (Activation)       (None, 21, 32)       0           batch_normalization_6[0][0]
__________________________________________________________________________________________________
conv1d_5 (Conv1D)               (None, 21, 32)       1056        activation_6[0][0]
__________________________________________________________________________________________________
batch_normalization_7 (BatchNor (None, 21, 32)       128         conv1d_5[0][0]
__________________________________________________________________________________________________
activation_7 (Activation)       (None, 21, 32)       0           batch_normalization_7[0][0]
__________________________________________________________________________________________________
conv1d_6 (Conv1D)               (None, 21, 64)       2112        activation_7[0][0]
__________________________________________________________________________________________________
batch_normalization_8 (BatchNor (None, 21, 64)       256         conv1d_6[0][0]
__________________________________________________________________________________________________
activation_8 (Activation)       (None, 21, 64)       0           batch_normalization_8[0][0]
__________________________________________________________________________________________________
conv1d_7 (Conv1D)               (None, 21, 512)      33280       activation_8[0][0]
__________________________________________________________________________________________________
batch_normalization_9 (BatchNor (None, 21, 512)      2048        conv1d_7[0][0]
__________________________________________________________________________________________________
activation_9 (Activation)       (None, 21, 512)      0           batch_normalization_9[0][0]
__________________________________________________________________________________________________
global_max_pooling1d_1 (GlobalM (None, 512)          0           activation_9[0][0]
__________________________________________________________________________________________________
dense_3 (Dense)                 (None, 256)          131328      global_max_pooling1d_1[0][0]
__________________________________________________________________________________________________
batch_normalization_10 (BatchNo (None, 256)          1024        dense_3[0][0]
__________________________________________________________________________________________________
activation_10 (Activation)      (None, 256)          0           batch_normalization_10[0][0]
__________________________________________________________________________________________________
dense_4 (Dense)                 (None, 128)          32896       activation_10[0][0]
__________________________________________________________________________________________________
batch_normalization_11 (BatchNo (None, 128)          512         dense_4[0][0]
__________________________________________________________________________________________________
activation_11 (Activation)      (None, 128)          0           batch_normalization_11[0][0]
__________________________________________________________________________________________________
dense_5 (Dense)                 (None, 1024)         132096      activation_11[0][0]
__________________________________________________________________________________________________
reshape_1 (Reshape)             (None, 32, 32)       0           dense_5[0][0]
__________________________________________________________________________________________________
dot_1 (Dot)                     (None, 21, 32)       0           activation_6[0][0]
                                                                 reshape_1[0][0]
__________________________________________________________________________________________________
conv1d_8 (Conv1D)               (None, 21, 32)       1056        dot_1[0][0]
__________________________________________________________________________________________________
batch_normalization_12 (BatchNo (None, 21, 32)       128         conv1d_8[0][0]
__________________________________________________________________________________________________
activation_12 (Activation)      (None, 21, 32)       0           batch_normalization_12[0][0]
__________________________________________________________________________________________________
conv1d_9 (Conv1D)               (None, 21, 64)       2112        activation_12[0][0]
__________________________________________________________________________________________________
batch_normalization_13 (BatchNo (None, 21, 64)       256         conv1d_9[0][0]
__________________________________________________________________________________________________
activation_13 (Activation)      (None, 21, 64)       0           batch_normalization_13[0][0]
__________________________________________________________________________________________________
conv1d_10 (Conv1D)              (None, 21, 512)      33280       activation_13[0][0]
__________________________________________________________________________________________________
batch_normalization_14 (BatchNo (None, 21, 512)      2048        conv1d_10[0][0]
__________________________________________________________________________________________________
activation_14 (Activation)      (None, 21, 512)      0           batch_normalization_14[0][0]
__________________________________________________________________________________________________
global_max_pooling1d_2 (GlobalM (None, 512)          0           activation_14[0][0]
__________________________________________________________________________________________________
dense_6 (Dense)                 (None, 256)          131328      global_max_pooling1d_2[0][0]
__________________________________________________________________________________________________
batch_normalization_15 (BatchNo (None, 256)          1024        dense_6[0][0]
__________________________________________________________________________________________________
activation_15 (Activation)      (None, 256)          0           batch_normalization_15[0][0]
__________________________________________________________________________________________________
dropout (Dropout)               (None, 256)          0           activation_15[0][0]
__________________________________________________________________________________________________
dense_7 (Dense)                 (None, 128)          32896       dropout[0][0]
__________________________________________________________________________________________________
batch_normalization_16 (BatchNo (None, 128)          512         dense_7[0][0]
__________________________________________________________________________________________________
activation_16 (Activation)      (None, 128)          0           batch_normalization_16[0][0]
__________________________________________________________________________________________________
dropout_1 (Dropout)             (None, 128)          0           activation_16[0][0]
__________________________________________________________________________________________________
signs_probabilities (Dense)     (None, 26)            645         dropout_1[0][0]
==================================================================================================
Total params: 748,334
Trainable params: 742,254
Non-trainable params: 6,080