Chris Pollett >
Students > [Bio] [Blog] [ Unity Hands-on ] |
CS 297 Deliverable 1To Implement CNN for Static Sign Language Alphabets DetectionDESCRIPTION This deliverable aimed at implementing the neural network to recognize alphabets of American Sign Language taking insights from LeNet-5. Python Libraries Used: keras, numpy, panda, matplotlib Tools and Technology : Google Colab, Computer Vision, Python The American Sign Language letter database of hand gestures represent a multi-class problem with 24 classes of letters (excluding J and Z which require motion). It uses Sign Language MNIST dataset to train and test model. The data is in CSV format with labels and pixel values in single rows. Dataset Sample Preview: label pixel1 pixel2 pixel3 ... pixel781 pixel782 pixel783 pixel784 0 3 107 118 127 ... 206 204 203 202 1 6 155 157 156 ... 175 103 135 149 2 2 187 188 188 ... 198 195 194 195 3 2 211 211 212 ... 225 222 229 163 4 13 164 167 170 ... 157 163 164 179 ... ... ... ... ... ... ... ... ... ... 27450 13 189 189 190 ... 234 200 222 225 27451 23 151 154 157 ... 195 195 195 194 27452 18 174 174 174 ... 203 202 200 200 27453 17 177 181 184 ... 47 64 87 93 27454 23 179 180 180 ... 197 205 209 215 [27455 rows x 785 columns] Each image of size 28*28 is represented in a single row having total 784 columns for pixels. ---------------------------------- Data Type | (Rows, Columns) ---------------------------------- training images | (27455, 785) testing images | (7172, 785) ---------------------------------- LeNet-5 Model Model: "sequential_13" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= conv2d_26 (Conv2D) (None, 28, 28, 6) 156 _________________________________________________________________ max_pooling2d_26 (MaxPooling (None, 14, 14, 6) 0 _________________________________________________________________ conv2d_27 (Conv2D) (None, 10, 10, 16) 2416 _________________________________________________________________ max_pooling2d_27 (MaxPooling (None, 5, 5, 16) 0 _________________________________________________________________ flatten_13 (Flatten) (None, 400) 0 _________________________________________________________________ dense_39 (Dense) (None, 120) 48120 _________________________________________________________________ dense_40 (Dense) (None, 25) 3025 _________________________________________________________________ dense_41 (Dense) (None, 25) 650 ================================================================= Total params: 54,367 Trainable params: 54,367 Non-trainable params: 0 _________________________________________________________________ None TRAINIG THE MODEL : PREDICTIN ON SAMPLE INPUT: Letter Y DOWNLOAD SOURCE CODE - Jupyter Notebook REFERENCE: |