{"id":13631613,"url":"https://github.com/JeeveshN/Facial-Recognition-Tool","last_synced_at":"2025-04-17T22:31:20.063Z","repository":{"id":67038748,"uuid":"75000113","full_name":"JeeveshN/Facial-Recognition-Tool","owner":"JeeveshN","description":":curly_loop: A Facial Recognition tool based on Open-CV.","archived":false,"fork":false,"pushed_at":"2020-10-17T09:06:22.000Z","size":4290,"stargazers_count":48,"open_issues_count":1,"forks_count":20,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-08-01T22:49:09.301Z","etag":null,"topics":["face-detection","facial-recognition","lbhp","opencv","prediction"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JeeveshN.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-11-28T18:05:28.000Z","updated_at":"2024-05-30T19:40:00.000Z","dependencies_parsed_at":"2023-09-10T23:15:08.024Z","dependency_job_id":null,"html_url":"https://github.com/JeeveshN/Facial-Recognition-Tool","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeeveshN%2FFacial-Recognition-Tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeeveshN%2FFacial-Recognition-Tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeeveshN%2FFacial-Recognition-Tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeeveshN%2FFacial-Recognition-Tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JeeveshN","download_url":"https://codeload.github.com/JeeveshN/Facial-Recognition-Tool/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223768538,"owners_count":17199356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["face-detection","facial-recognition","lbhp","opencv","prediction"],"created_at":"2024-08-01T22:02:31.754Z","updated_at":"2024-11-08T23:31:09.099Z","avatar_url":"https://github.com/JeeveshN.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Face-Recog-Tool\nThis is a command line tool for facial recognition.It uses image processing library OpenCV.\n\n### Installation\n```\ngit clone https://github.com/JeeveshN/Face-Recog-Tool.git\nsudo apt-get install python-opencv\npip install numpy\n```\n## Getting Started\n**Training Set** has to be made before the actual training begins.Multiple pictures of the subjects shot from different angles with preferably different facial expressions would yield the best results.   \nTheir are 2 ways to achieve this:  \n### Fast Mode\nMultiple pictures of a single subject are kept in the folder named **Training** (Only single face must be present in each) and \n```\npython Train_Faces.py \"Name of the Subject\"\n```\nThis automatically detects and crops out the face of subject and stores the image in **Dataset** folder (Training Set)\n### Learn From Failure\nAfter each prediction the program will ask the user about the wrong predictions and what their correct predictions are supposed to be and will learn and keep getting better accordingly.\nTheir is a number below each of the detected faces so the user can tell the program which face was wrongly predicted. \n```\nNumber below face:Correct Name\n```\n**NOTE**-IF no wrong predictions are made make sure you enter 'Nil' in the prompt for wrong predictions.\n### Learning from wrong Prediction\n![](/extras/Selection_017.png?raw=True)   ![](/extras/Selection_019.png?raw=True)  \n![](/extras/Selection_018.png?raw=True) \n### Underlying Algorithm\nThe program uses **Linear Binary Pattern Histogram** approach.The basic idea is not to look at the image as a whole but describe local features of object.\nTo calculate Local Binary Pattern texture descriptor of a pixel we see all of it's neighbouring 8 pixels and mark a 0 if neighbor is less than center or else a 1 and the binary value calculated by moving around is LBP of center pixel.  \nFor more details refer to [This](http://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html#local-binary-patterns-histograms)   \n![](/extras/lbp.png?raw=True)  \n## Demo\nAfter their are sufficient number of pictures in the training set preferably 25-30 of each subject then we can start to use the program to make predictions.\n```\npython Face-Recog.py \"Image Path or name(if in same folder)\"\n```\n![](/extras/Selection_016.png?raw=True)\n![](/extras/2.png?raw=True )\n*Note*: Accuracy is low right now because the number of pictures in the training set are less, as the **Dataset** will grow with time predictions would become more and more accurate \n### Naming Convention For Dataset\nEach and every picture to be used in the training set must start with the name of the **Subject** followed by any **Number** \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJeeveshN%2FFacial-Recognition-Tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJeeveshN%2FFacial-Recognition-Tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJeeveshN%2FFacial-Recognition-Tool/lists"}