InsightUX / README.md
Trishti's picture
Update README.md
bcb81c1 verified
|
Raw History Blame Contribute Delete
2.64 kB
# πŸ‘οΈ InsightUX Browser
> AI-powered eye-tracking research browser for usability analysis and user experience evaluation.
InsightUX Browser is a desktop research browser built using **PyWebView**, **MediaPipe**, and an **ONNX-based gaze estimation model**. It enables researchers to record users' gaze behavior while browsing real websites and automatically generates detailed visual analytics including attention heatmaps, dwell timelines, and ranked Areas of Interest (AOIs).
---
## ✨ Features
- πŸ‘οΈ Real-time gaze estimation using a CNN (ONNX Runtime)
- 🌐 Integrated research browser built with PyWebView
- 🎯 Automatic AOI (Area of Interest) detection
- πŸ“Š Attention ranking and dwell-time analytics
- πŸ”₯ Screenshot-based heatmap generation
- πŸ“ˆ Timeline visualization of user attention
- πŸ’Ύ Session logging for gaze and DOM interactions
- πŸ“· Automatic screenshot capture during browsing
- 🧠 Head pose compensation and illumination normalization
- ⚑ Lightweight desktop application
---
## Project Structure
```text
InsightUX/
β”‚
β”œβ”€β”€ browser_session.py # Main browser application
β”œβ”€β”€ calibrate.py # User calibration
β”œβ”€β”€ validate.py # Calibration validation
β”œβ”€β”€ analysis.py # Analytics & report generation
β”œβ”€β”€ inference_pipeline.py # ONNX inference pipeline
β”œβ”€β”€ session_logger.py # Session logging
β”‚
β”œβ”€β”€ models/
β”‚ └── gaze_cnn_v4.onnx
β”‚
β”œβ”€β”€ preprocessing/
β”‚ └── preprocessing_pipeline.py
β”‚
β”œβ”€β”€ sessions/
β”‚
└── requirements.txt
```
---
## Requirements
- Python 3.11
- Webcam
- Windows 10 / Windows 11
---
## Installation
Create a virtual environment
```bash
python -m venv venv
```
Activate it
```bash
.\venv\Scripts\Activate.ps1
```
Install dependencies
```bash
pip install -r requirements.txt
```
---
## Usage
### 1. Calibrate
```bash
python calibrate.py
```
This generates:
- calibration.pkl
---
### 2. Validate (Optional)
```bash
python validate.py
```
---
### 3. Launch Browser
```bash
python browser_session.py
```
Workflow
1. Open any website
2. Click on the webpage
3. Press **S** to start tracking
4. Browse normally
5. Press **E** to stop tracking
6. Analytics report opens automatically
---
## Generated Outputs
Each session generates
- Raw gaze logs
- DOM interaction logs
- Website screenshots
- Attention heatmaps
- Ranked AOIs
- Dwell timelines
- HTML analytics report
---
## Technology Stack
- Python
- PyWebView
- MediaPipe
- OpenCV
- NumPy
- ONNX Runtime
- JavaScript
- HTML/CSS
---