NYRA is an advanced virtual AI-powered makeup assistant designed to revolutionize the way users explore beauty and cosmetics. Using real-time facial recognition, advanced makeup simulation, and AI-driven color analysis, NYRA allows users to try different makeup styles virtually. This tool is ideal for beauty enthusiasts, makeup artists, and professionals who want to experiment with various looks without applying real products.
If you like this project, give it a star β on GitHub!
- π₯ Real-Time Webcam Makeup Application: Instantly apply virtual makeup using your webcam.
- π Customizable Makeup Controls: Choose blush, lipstick, and eyeshadow shades with adjustable intensity levels.
- π¨ AI-Driven Color Analysis: Get personalized beauty suggestions based on your skin tone, eye color, and lip color.
- π Facial Landmark Detection: Uses MediaPipeβs face mesh to precisely detect facial features for accurate makeup application.
- πΈ Image Capture & Save: Save images after applying virtual makeup with just one click.
- π§ User-Friendly Interface: An intuitive design for effortless navigation and interaction.
- π Detailed Color Palette Suggestions: Get fashion and beauty insights based on seasonal color theory.
- Start Webcam: Click the "π₯ Start Webcam" button on the sidebar to activate your webcam feed.
- Stop Webcam: Click "π Stop Webcam" to stop the live feed.
- Capture Image: Click "πΈ Capture & Save Image" to save your current frame with applied makeup.
-
Blush Settings:
- Enable or disable blush.
- Select the color from predefined shades, match your skin tone, or use a custom color picker.
- Adjust the intensity using the slider.
-
Lip Color Settings:
- Enable or disable lipstick.
- Choose from predefined colors or set a custom color.
- Adjust opacity for a subtle or bold look.
-
Eyeshadow Settings:
- Enable or disable eyeshadow.
- Pick colors from the palette or choose custom shades.
- Adjust intensity for desired effect.
- Enter your Google AI Studio API Key in the sidebar.
- Click "Generate Color Analysis" to get personalized makeup and fashion suggestions based on your skin tone, eye color, and lip shade.
- Once youβre satisfied with your virtual makeover, click "πΈ Capture & Save Image" to save your look.
- All images will be saved in the
Captured_Images/folder automatically with timestamps.
Follow these steps to make the most of NYRA and experiment with virtual makeup effortlessly.
- Go to the Webcam Controls panel on the sidebar.
- Click on π₯ Start Webcam.
- The live webcam feed will appear on the main screen.
- Enter your Google AI Studio API Key in the AI Color Analysis section.
- Click on Generate Color Analysis to let NYRA analyze your skin, iris, and lip tones.
- The analysis provides:
- π¨ Skin Color
- ποΈ Iris Color
- π Lip Color
- It also suggests suitable makeup, clothing colors, and hair shades based on the analysis.
- Enable the blush feature using the Enable Blush button.
- Adjust Blush Intensity with the slider.
- Select a blush color:
- Match skin tone
- Predefined colors
- Custom color using the color picker
- Enable lipstick using the Enable Lipstick button.
- Choose from predefined lipstick shades or select a custom color.
- Adjust Lipstick Intensity using the slider.
- Enable eyeshadow and pick colors.
- Adjust the intensity for a natural or bold look.
- Enhance your face using smoothing and brightness sliders for better virtual effects.
Google AI Studio is an online platform designed for developers, researchers, and businesses to access, experiment with, and deploy Google's Gemini AI models easily. It provides a user-friendly interface for working with Google's large language models (LLMs) and multimodal AI capabilities, allowing you to create AI-driven applications with minimal effort.
NYRA leverages Google AI Studioβs Gemini AI for advanced color analysis and fashion recommendations. Using real-time facial landmark detection and AI-driven insights, NYRA can generate:
- π¨ Personalized color palettes based on your skin tone, iris color, and lip shade.
- π·οΈ Makeup, fashion, and hair color recommendations aligned with seasonal color theory.
- π HEX Color Codes for seamless integration into makeup and styling choices.
- Enter your Gemini AI API Key in the sidebar.
- Click "Generate AI Color Analysis" to process real-time color analysis.
- AI will detect and suggest ideal makeup, clothing, and hair color choices.
- View HEX color swatches extracted from the AI recommendations.
- Once youβre satisfied with your virtual makeover, click "πΈ Capture & Save Image" to save your look.
- All images will be saved in the
Captured_Images/folder automatically with timestamps.
Follow these steps to set up NYRA - Virtual AI Makeup Assistant on your local machine:
Ensure you have the following installed on your machine:
- β Python 3.8+
- β
pip(Python package manager) - β A webcam for capturing real-time video
- β Google AI Studio API Key for AI-powered color analysis
Use git to clone the NYRA project repository:
git clone https://github.com/your-username/nyra-virtual-ai-makeup-assistant.git
cd nyra-virtual-ai-makeup-assistantInstall all necessary packages using:
pip install -r requirements.txtIf you face issues with specific packages, install them manually:
pip install streamlit opencv-python mediapipe Google AI Studio numpyExecute the following command to launch the app:
streamlit run app.pyThe application will open in your default browser at:
http://localhost:8501
Here's what your project directory should look like:
NYRA/
β
βββ Assets/ # Logos, icons, and additional assets
βββ Face Marking/ # Face landmark detection modules
βββ Mesh Coding/ # Mesh generation and processing code
βββ Rasengan/ # Custom effects (if applicable)
βββ Sharingan/ # Additional effects/features
β
βββ Streamlit_App/ # Main Streamlit application code
βββ Virtual Makeup/ # Core virtual makeup application files
β
βββ Extras/ # π₯ New folder for additional files and resources
β βββ Documentation/ # Additional notes, references, or guides
β βββ Testing/ # Test scripts and debugging tools
β βββ Backups/ # Backup files or old versions
β βββ Experiments/ # Experimental code/features
βββ apt.txt # Additional system dependencies
βββ packages.txt # List of installed packages
βββ Readme.md # Main project documentation
βββ render.yaml # Render deployment configuration
βββ requirements.txt # Required Python packages
The NYRA - Virtual AI Makeup Assistant comes with several extra modules and creative features that go beyond standard virtual makeup applications. These additional tools are designed to enhance the user experience and allow for advanced experimentation with visual effects.
The Face Marking folder contains scripts that handle facial feature detection using landmarks, which are essential for accurate virtual makeup application. Each script focuses on different facial areas:
- All Marks.py β Detects and marks all significant facial landmarks.
- Blush Mark.py β Specifically marks cheek areas for accurate blush application.
- Eye Landmark.py β Detects and marks eye contours for applying makeup around the eyes.
- Eyelids Marks.py β Targets eyelids for precise eyeshadow application.
- Lipstick.py β Detects and outlines the lips for applying virtual lipstick.
- Nose Contour.py β Helps with contouring effects around the nose.
The Mesh Coding folder provides advanced geometrical tracking and mesh manipulation, enabling more detailed makeup applications and custom effects:
- Geometric Mesh Selector.py β Selects specific mesh areas for targeted effects.
- Geometric Mesh.py β Generates a geometric mesh overlay for custom visual effects.
- Hand Tracking.py β Detects hand gestures to enable gesture-based makeup control.
- Landmark Selector.py β Allows users to manually select landmarks for custom makeup adjustments.
A fun and creative feature inspired by anime visual effects:
- Naruto Effect.py β Applies the iconic Rasengan energy effect around the userβs hand or face.
- Rasengan GIF.mp4 β A looping animation that showcases the effect dynamically.
Another anime-inspired visual feature designed for eye transformations:
- Sharingan Eye.py β Applies the Sharingan eye effect from Naruto to the userβs eyes.
- image.png / image2.png β Custom images used to replicate the visual appearance of the Sharingan.
The Virtual Makeup folder offers additional elements to enhance user style:
- camera.py β Handles real-time webcam feed and captures frames for makeup application.
- eye_landmark.py & eyelids.py β Detects eye landmarks and eyelids for applying eye-based effects.
- eyewear.py β Adds virtual glasses to the user's face.
- Eyewear_Collection.png / glasses.png β Contains different virtual glasses styles.
- hat.py β Applies virtual hats for an augmented reality experience.
- hat.png β Custom hat graphics.
- lipstick.py β Applies customizable lipstick shades.
- main.py β Central script that integrates all features for running the application.
- image.py β Manages image overlays for custom graphics.
- utils.py β Contains utility functions used across multiple modules.
- requirements.txt β Lists all required Python libraries to run NYRA smoothly.
- apikey.txt β Stores API keys (e.g., for Google AI Studio integration).
- License β Specifies the GNU General Public License (GPL-3.0) for open-source distribution.
We welcome contributions! If you'd like to improve NYRA:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature-branch). - Create a Pull Request.
- π€ Google AI Studio for powering color analysis.
- π» Streamlit for the interactive user interface.
- πΈ MediaPipe for real-time face mesh detection.





