This is a Gym Entry Management System that uses facial recognition to manage member entries, store member data, and provide various features such as adding new members, exporting data, and editing member information. The application is built using Python with the Tkinter library for the GUI, and it integrates various other libraries for image processing, database management, and more.
- Facial Recognition: Real-time face recognition to manage gym entries.
- Webcam Selection: Choose from available webcams to start recognition.
- Adjustable Accuracy: Set the accuracy level for face recognition.
- Member Management: Add, edit, and view gym members.
- Data Export: Export daily or all-time records to Excel files.
- Multi-language Support: Manage member names in both English and Farsi.
- Progress Indicators: Visual feedback during long operations like recognition and data export.
- Python 3.x
- ttkbootstrap
- OpenCV
- Pillow
- Tourch
- jdatetime
- facenet_pytorch
- yolov3-wider_16000.weights
- yolov3-face.cfg
- Pandas
win32com.client(for webcam detection on Windows)- SQLite (database setup included)
-
Clone the repository:
git clone https://github.com/yourusername/gym-entry-system.git cd gym-entry-system -
Install the required Python packages:
pip install -r requirements.txt
-
Run the application:
python main.py
-
Start the Application: The main window will open with three sections: the left frame for controls, the right frame for member management, and the bottom frame for viewing entry logs.
-
Choose Webcam: Select the desired webcam from the dropdown menu in the left frame.
-
Set Recognition Accuracy: Adjust the accuracy slider to set the desired level for facial recognition.
-
Start/Stop Recognition: Toggle the recognition process using the provided checkbox.
-
Save Member Pictures: Enable or disable saving pictures of members during recognition. (It can help to adjust accuracy level)
-
Add New Members: First you need to create a folder with the user image and user name in the
club_membersfolder. Forexample `club_members -> pouria_parhami'. Then Use the right frame to input new member details in both English and Farsi, then click 'Add Member'. (The english name must be the same as user folder.) -
Edit Members: Select a member from the list and update their details.
-
Export Data: Export today's or all-time records to an Excel file.
- ui_display.py: The main application file containing all UI components and logic.
- face_recognition_yolo_insepresv1_db.py: Module for face recognition logic.
- face_detection_yolo_inceptionRes.py: Module for detecting faces using YOLO and InceptionResNet.
- sqlit_setup.py: Handles SQLite database setup and operations.
- requirements.txt: Lists all the required Python packages.
Contributions are welcome! Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License. See the LICENSE file for details.