Trishti commited on
Commit
bcb81c1
Β·
verified Β·
1 Parent(s): 07de310

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +146 -0
README.md CHANGED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # πŸ‘οΈ InsightUX Browser
2
+
3
+ > AI-powered eye-tracking research browser for usability analysis and user experience evaluation.
4
+
5
+ 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).
6
+
7
+ ---
8
+
9
+ ## ✨ Features
10
+
11
+ - πŸ‘οΈ Real-time gaze estimation using a CNN (ONNX Runtime)
12
+ - 🌐 Integrated research browser built with PyWebView
13
+ - 🎯 Automatic AOI (Area of Interest) detection
14
+ - πŸ“Š Attention ranking and dwell-time analytics
15
+ - πŸ”₯ Screenshot-based heatmap generation
16
+ - πŸ“ˆ Timeline visualization of user attention
17
+ - πŸ’Ύ Session logging for gaze and DOM interactions
18
+ - πŸ“· Automatic screenshot capture during browsing
19
+ - 🧠 Head pose compensation and illumination normalization
20
+ - ⚑ Lightweight desktop application
21
+
22
+ ---
23
+
24
+ ## Project Structure
25
+
26
+ ```text
27
+ InsightUX/
28
+ β”‚
29
+ β”œβ”€β”€ browser_session.py # Main browser application
30
+ β”œβ”€β”€ calibrate.py # User calibration
31
+ β”œβ”€β”€ validate.py # Calibration validation
32
+ β”œβ”€β”€ analysis.py # Analytics & report generation
33
+ β”œβ”€β”€ inference_pipeline.py # ONNX inference pipeline
34
+ β”œβ”€β”€ session_logger.py # Session logging
35
+ β”‚
36
+ β”œβ”€β”€ models/
37
+ β”‚ └── gaze_cnn_v4.onnx
38
+ β”‚
39
+ β”œβ”€β”€ preprocessing/
40
+ β”‚ └── preprocessing_pipeline.py
41
+ β”‚
42
+ β”œβ”€β”€ sessions/
43
+ β”‚
44
+ └── requirements.txt
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Requirements
50
+
51
+ - Python 3.11
52
+ - Webcam
53
+ - Windows 10 / Windows 11
54
+
55
+ ---
56
+
57
+ ## Installation
58
+
59
+ Create a virtual environment
60
+
61
+ ```bash
62
+ python -m venv venv
63
+ ```
64
+
65
+ Activate it
66
+
67
+ ```bash
68
+ .\venv\Scripts\Activate.ps1
69
+ ```
70
+
71
+ Install dependencies
72
+
73
+ ```bash
74
+ pip install -r requirements.txt
75
+ ```
76
+
77
+ ---
78
+
79
+ ## Usage
80
+
81
+ ### 1. Calibrate
82
+
83
+ ```bash
84
+ python calibrate.py
85
+ ```
86
+
87
+ This generates:
88
+
89
+ - calibration.pkl
90
+
91
+ ---
92
+
93
+ ### 2. Validate (Optional)
94
+
95
+ ```bash
96
+ python validate.py
97
+ ```
98
+
99
+ ---
100
+
101
+ ### 3. Launch Browser
102
+
103
+ ```bash
104
+ python browser_session.py
105
+ ```
106
+
107
+ Workflow
108
+
109
+ 1. Open any website
110
+ 2. Click on the webpage
111
+ 3. Press **S** to start tracking
112
+ 4. Browse normally
113
+ 5. Press **E** to stop tracking
114
+ 6. Analytics report opens automatically
115
+
116
+ ---
117
+
118
+ ## Generated Outputs
119
+
120
+ Each session generates
121
+
122
+ - Raw gaze logs
123
+ - DOM interaction logs
124
+ - Website screenshots
125
+ - Attention heatmaps
126
+ - Ranked AOIs
127
+ - Dwell timelines
128
+ - HTML analytics report
129
+
130
+ ---
131
+
132
+ ## Technology Stack
133
+
134
+ - Python
135
+ - PyWebView
136
+ - MediaPipe
137
+ - OpenCV
138
+ - NumPy
139
+ - ONNX Runtime
140
+ - JavaScript
141
+ - HTML/CSS
142
+
143
+ ---
144
+
145
+
146
+