Invisible Eye is a cross-platform application built with React.js for web and React Native for mobile, enabling seamless monitoring and surveillance. The app allows users to view real-time data, track activity, and manage alerts across devices with efficient performance. It leverages React's component-based design to ensure a responsive and engaging user experience, and its integration with backend services supports robust data handling and secure operations.
- Project Title
- Table of Contents
- Deployed Website Link
- Technologies Used
- Installation
- Backend
- Web Application
- Mobile Application
- Analysis of Feasibility
- Potential Challenges
- Overcoming Strategies
- Contributing
- License
Access the deployed web application at birddroneclassifier.netlify.app
This project leverages a diverse set of technologies to build a complete micro-Doppler classification system:
- FMCW Radar: Used to capture micro-Doppler signatures for classification.
- Python: Programming language used for data processing and backend development.
- PyTorch: Deep learning framework utilized to build and train the machine learning model.
- SciPy & NumPy: Libraries for mathematical computations and signal processing.
- React.js: Frontend framework used to build the web application.
- React Native: Framework for building cross-platform mobile applications.
Follow the instructions below to set up each component of the system:
- Clone the repository:
git clone https://github.com/bishwatkur/SIH24.git
- Navigate to the backend directory:
cd SIH24/backend
- Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install the required dependencies:
pip install -r requirements.txt
- Start the backend service:
The backend will start running on
python app.py
http://localhost:5000
.
- Navigate to the web application directory:
cd ../web
- Install dependencies:
npm install
- Start the web application:
The web application will be available at
npm start
http://localhost:3000
.
- Navigate to the mobile application directory:
cd ../mobile
- Install dependencies:
npm install
- Start the mobile application (emulator or device required):
Ensure that your mobile device or emulator is properly set up.
npx react-native run-android # For Android npx react-native run-ios # For iOS
The backend service is developed in Python and is responsible for:
- Data Preprocessing: Converting FMCW radar data into a format suitable for ML model input.
- Model Deployment: The deployed ML model, built using PyTorch, classifies the micro-Doppler signatures to detect different activities or objects.
- API Endpoints: RESTful APIs are provided for the web and mobile applications to send data and receive predictions.
The model is designed to classify micro-Doppler signatures into predefined categories. It utilizes a convolutional neural network (CNN) architecture optimized for time-series data.
The web application serves as an interface for users to upload radar data files and visualize classification results. It provides the following functionalities:
- Uploading micro-Doppler data in compatible formats.
- Viewing classification results in real-time.
- Interactive graphs and visualizations of the radar data and model predictions.
The mobile application is developed using React Native to support both iOS and Android platforms. It allows users to:
- Capture micro-Doppler data through connected devices.
- View real-time classification results.
- Access classification history and performance analytics.
- Scalability: The system is scalable with modular components for backend, web, and mobile applications, allowing independent scaling of services.
- Ease of Setup: The modular structure ensures ease of setup and maintenance.
- User-Friendliness: Both web and mobile interfaces are designed with usability in mind, offering a seamless experience across platforms.
- Backend Integration: Ensuring smooth communication between the web and mobile applications with the backend service.
- Cross-Platform Consistency: Maintaining a consistent user experience across web and mobile platforms.
- Real-Time Data Processing: Handling real-time radar data and providing instantaneous classification results.
- Backend Optimization: Optimize API responses and use efficient data handling techniques to reduce latency.
- Cross-Platform Libraries: Use shared libraries and components for web and mobile applications to maintain consistency.
- Data Management: Implement a robust data pipeline to handle and preprocess large volumes of radar data efficiently.
For changes, please open an issue first to discuss what you would like to change.