To watch the live demo of the program here.
- General Info
- Member List
- Features
- Technologies Used
- Setup
- Usage
- Screenshots
- Structure
- Project Status
- Room for Improvement
- Acknowledgements
- Contact
A simple face recognition GUI that utilizing the Eigen Concepts of matrices using Tkinter, OpenCV, PIL, numpy, etc. This project got the best score among informatics engineering students at ITB in 2022
.
Nama | NIM |
---|---|
Vieri Fajar Firdaus | 13521099 |
M. Rizky Sya'ban | 13521119 |
M. Rifqi Farhansyah | 13521166 |
- Upload your photo or use the webcam of your device to take a realtime photos
- The result of comparison between the uploaded photo with the eigen face database
- Download the result (input image and closest image) as a PDF file
- CustomTkinter - version 4.6.3
- OpenCV2 - version 4.5.4
- PIL - version 8.4.0
- fpdf - version 1.7.2
- numpy - version 1.21.3
- sys - version 3.9.4
- tkinter - version 8.6
Note: The version of the libraries above is the version that we used in this project. You can use the latest version of the libraries.
You can setup your project by cloning this repository and install the libraries above.
For specific version of the libraries, please check the requirements.txt
file. You can install the libraries by using the command below.
pip install -r requirements.txt
You can run the program by using the command below.
python main.py
Figure 1. Main Menu (light mode)
Figure 2. Main Menu (dark mode)
Figure 3. Identified Image (by Upload)
Figure 4. Unidentified Image (by Webcam)
│ README.md
│ requirement.txt
│
├───.vscode
│ settings.json
│
├───doc
│ Tubes2-Algeo-2022.pdf
│
├───image
│ │ folder.jpg
│ │ icon.png
│ │ nf.jpg
│ │
│ └───ss
│ ss_1.png
│ ss_2.png
│ ss_3.png
│
├───result
│ 1.png
│ 10.png
│ 2.png
│ 3.png
│ 4.png
│ 5.png
│ 6.png
│ 7.png
│ 8.png
│ 9.png
│
├───src
│ │ main.py
│ │
│ ├───eigenface
│ │ │ driver.py
│ │ │ dummyeigen.py
│ │ │ dummyfile.py
│ │ │ eigen.py
│ │ │ eigenfaces.py
│ │ │ QRDecomposition.py
│ │ │ SVD.py
│ │ │ tes.py
│ │ │
│ │ └───__pycache__
│ │ driver.cpython-37.pyc
│ │ driver.cpython-39.pyc
│ │ dummyeigen.cpython-39.pyc
│ │ eigen.cpython-37.pyc
│ │ eigen.cpython-39.pyc
│ │ eigenfaces.cpython-37.pyc
│ │ eigenfaces.cpython-39.pyc
│ │ QRDecomposition.cpython-37.pyc
│ │ QRDecomposition.cpython-39.pyc
│ │
│ ├───etc
│ │ haarcascade_frontalface_alt2.xml
│ │
│ ├───GUI
│ │ │
│ │ └───__pycache__
│ │ main.cpython-39.pyc
│ │
│ └───imageprocess
│ │ dl2.py
│ │ driver.py
│ │ face.py
│ │ imageprocessing.py
│ │ inputpicture.py
│ │ resizing.py
│ │
│ └───__pycache__
│ imageprocessing.cpython-37.pyc
│ imageprocessing.cpython-39.pyc
│
├───test
│ ├───Coba_coba
│ │ ├───DataCoba
│ │ │ ├───Adriana
│ │ │ │
│ │ │ ├───Alex
│ │ │ │
│ │ │ ├───Alexandra
│ │ │ │
│ │ │ ├───Alvaro
│ │ │ │
│ │ │ └───Alycia
│ │ │
│ │ ├───data_100
│ │ │
│ │ ├───Data_Set
│ │ │ ├───pins_Adriana Lima
│ │ │ │
│ │ │ ├───pins_Alex Lawther
│ │ │ │
│ │ │ ├───pins_Alexandra Daddario
│ │ │ │
│ │ │ ├───pins_Alvaro Morte
│ │ │ │
│ │ │ ├───pins_alycia dabnem carey
│ │ │ │
│ │ │ ├───pins_Amanda Crew
│ │ │ │
│ │ │ ├───pins_amber heard
│ │ │ │
│ │ │ ├───pins_Andy Samberg
│ │ │ │
│ │ │ ├───pins_Anne Hathaway
│ │ │ │
│ │ │ └───pins_Anthony Mackie
│ │ │
│ │ ├───gray
│ │ │
│ │ ├───Input_DataSet
│ │ │ ├───Adriana_Lima
│ │ │ │
│ │ │ ├───Alexandra_Daddario
│ │ │ │
│ │ │ ├───Alex_Lawther
│ │ │ │
│ │ │ ├───Alvaro_Morte
│ │ │ │
│ │ │ └───Alycia_Dabnem_Carey
│ │ │
│ │ ├───kita
│ │ │
│ │ ├───resvieri
│ │ │
│ │ └───vieri
│ │
│ ├───Input
│ │ │
│ │ ├───live
│ │ │ ├───csv_file
│ │ │ │
│ │ │ ├───input
│ │ │ │
│ │ │ └───result
│ │ │
│ │ └───User_DataSet
│ │
│ └───Output
│ output.pdf
│
└───__pycache__
imageprocessing.cpython-37.pyc
Project is: complete
Room for Improvement:
- Optimalization of the EigenFace Algorithm code
- Adding more features
- Thanks To Allah SWT
- This project was inspired by Eigenface
- Many thanks to Dr. Ir. Rinaldi Munir, M.T. for his guidance and support