Karthikeyu / Indian-sign-language-recognition

This repository contains python implementation for recognizing Indian sign language (ISL) gestures for deaf and dumb people.
MIT License
73 stars 22 forks source link

image Preprocessing.py #1

Closed ad4013 closed 4 years ago

ad4013 commented 4 years ago

when it is run it shows Value error:Expected 2d array,got 1D array instead

The dataset was downloaded and extracted and pasted directly to root directory

Karthikeyu commented 4 years ago

Hey, Hi. Can you tell from which line it is throwing the error?

ad4013 commented 4 years ago

is ipu.path is where the path should be placed because when i did that the error has gone but now this comes: surf = cv2.xfeatures2d.SURF_create( )

error: OpenCV(4.2.0) C:\projects\opencv-python\opencv_contrib\modules\xfeatures2d\src\surf.cpp:1029: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'cv::xfeatures2d::SURF::create'

Karthikeyu commented 4 years ago

Great. SURF is not included in the latest version open cv. You can downgrade it .. You can use these commands pip install opencv-python==3.4.2.16 pip install opencv-contrib-python==3.4.2.16

ad4013 commented 4 years ago

the console got frozen here: Test:--------- Label is Z and Count is 1197 (362, 64) Test:--------- Label is Z and Count is 1198 (377, 64) Test:--------- Label is Z and Count is 1199 length of train features are 33600 length of test features are 8400 length of all train discriptors is 15735482 Mini batch K-Means started. 15735482 descriptors before clustering

Karthikeyu commented 4 years ago

Hey, This is because of the RAM and CPU performance. While K-means clustering running, it takes a good amount of time to finish depending on the CPU and RAM. If your processer can't handle it, you can change the total number of images per class in imageprocessingutils file, by replacing TOTAL_IMAGES = 800. Now, for each class, only 800 images will be taken for training and testing which reduces load on cpu.

ad4013 commented 4 years ago

Thank you so much man it worked,keep up the good work.........any ways to increase accuracy or to reduce noise

Karthikeyu commented 4 years ago

You are welcome and thank you :). During real-time recognition, the accuracy can be improved if you test in the outdoors with a good amount of sunlight and with the black background. Because the data set that I have created contains mostly similar images with the same light condition and background. If you can train the model with diverse data with different light conditions and different skin tones, then I am sure it will be pretty amazing and robust.

jeelnathani commented 3 years ago

Thank you so much man it worked,keep up the good work.........any ways to increase accuracy or to reduce noise

How much time did it took with 800 images per class?