_ ___ ____ _ _____ _____ _ _ _____ _____
| | / _ \ / ___| / \|_ _| ____| | \ | | ____|_ _|
| | | | | | | / _ \ | | | _| | \| | _| | |
| |__| |_| | |___ / ___ \| | | |___ | |\ | |___ | |
|_____\___/ \____/_/ \_\_| |_____| |_| \_|_____| |_|
LocateNet is a facial recognition and crowd-analysis system designed to help locate missing individuals.
The platform detects multiple faces from group photos, generates biometric embeddings, and compares them against a database to identify potential matches.
- Detects and extracts multiple faces from crowd images
- Generates 512-dimension biometric embeddings
- Similarity search using FAISS vector indexing
- Match probability scoring (high, likely, potential)
- Officer comparison gallery for visual verification
- Geographic hotspot tracking for repeated sightings
| Layer | Component | Description |
|---|---|---|
| Vision | InsightFace (Buffalo_L) | Face detection, alignment, and embedding extraction |
| Vector Search | FAISS | High-speed similarity search using vector embeddings |
| Backend | Flask + SQLAlchemy | REST routes and relational database mapping |
| Processing | Python 3.10+ | Image processing pipeline |
| Mapping | Folium / Geopy | Geographic visualization of sightings |
LocateNet
│
├── app.py
├── init_system.py
├── models.py
│
├── pipelines
│ └── detection_pipeline.py
│
├── services
│ ├── face_service.py
│ └── alert_service.py
│
├── vector_db
│ ├── search_service.py
│ └── storage
│
├── resources
│
└── static
└── uploads
Clone the repository
git clone https://github.com/faizdevx/LocateNet.git
cd LocateNetInstall dependencies
pip install flask flask-sqlalchemy insightface onnxruntime opencv-python faiss-cpu numpy geopy bcryptRun initialization before the first launch.
python clean_system.py
python init_system.pyThis creates database tables and prepares the FAISS vector index.
python app.pyNote:
use_reloader=False is used to prevent the AI model from loading twice and consuming additional memory.
- Officer uploads a reference image
- Face embedding (512D vector) is generated
- Vector is stored in FAISS index
- Database record links the vector ID to the case
- Citizen uploads a group image
- System detects all faces
- Each face is cropped and stored
- Cropped faces are converted into embeddings
- Embeddings are searched in the FAISS index
- Matches above threshold are recorded
| Score Range | Interpretation |
|---|---|
| > 75% | High Confidence |
| 50–75% | Likely Match |
| 10–50% | Potential Match |
Cases marked as resolved are automatically filtered from future match alerts.
This prevents unnecessary notifications once a person has been located.
- Python
- Flask
- SQLAlchemy
- InsightFace
- FAISS
- OpenCV
- NumPy
- Geopy
- Folium
See LICENSE file.
faizdevx







