HemoMeter is a research project developed at IIIT-Naya Raipur by me - Bhavya Chanana during my research internship. This project enables users to calculate their hemoglobin levels by simply recording a video of their finger using their smartphone camera. This innovative approach leverages advanced photoplethysmography (PPG) techniques to provide a non-invasive method for hemoglobin estimation.
Visit the project at: HemoMeter
- User-friendly interface
- Real-time video processing
- Accurate hemoglobin prediction
- Supports video uploads in MP4 and MOV formats
The model was created using a custom-built dataset by collecting hemoglobin levels using traditional methods and corresponding 30-second video samples of the subjects' fingers.
- Python 3.10.0
- Streamlit
- Required Python libraries (listed in
requirements.txt
)
-
Clone the Repository:
git clone https://github.com/bhavya-chanana/HemoMeter.git cd HemoMeter
-
Create a Virtual Environment:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install Dependencies:
pip install -r requirements.txt
-
Start the Streamlit App:
streamlit run app.py
-
Access the App: Open your web browser and navigate to
http://localhost:8501
.
-
Cover the Camera and Flash with Your Finger:
- Ensure no external light is detected by the camera to avoid interference.
-
Record a Video:
- Record a video of your finger for at least 25-30 seconds. Alternatively, you can upload an existing video. Video should be in recorded in 60fps
-
Submit for Analysis:
- Click the "Calculate Hb" button to process the video and calculate your hemoglobin level.
-
Cover the Camera and Flash:
- Place your finger over the camera and flash on your smartphone, ensuring no external light is detected by the camera.
-
Record the Video:
- Record a video of your finger for more than 25-30 seconds to ensure a stable reading.
- Alternatively, you can upload a pre-recorded video from your device.
-
Calculate Hemoglobin:
- Once the video is uploaded or recorded, click on the "Calculate Hb" button.
- The app will process the video and display the predicted hemoglobin level on the screen.
We welcome contributions from the community. If you'd like to contribute, please fork the repository and create a pull request with your changes. Ensure that your code follows the project's coding standards and passes all tests.
- Bhavya Chanana - https://www.linkedin.com/in/bhavya-chanana/ - https://github.com/bhavya-chanana