Semantic SLAM system that understands text in the environment
Traditional SLAM systems focus primarily on geometry and ignore semantic information present in the environment. LP-SLAM-TECC enhances SLAM by integrating scene text understanding into the mapping process.
The system detects text from images, corrects OCR errors using Text Error Correction & Classification (TECC), enriches understanding using Retrieval-Augmented Generation (RAG), and stores results in a semantic map. This enables robots to understand signs like EXIT, room numbers, and labels in a human-like way.
Camera / Image
↓
OCR (EasyOCR)
↓
TECC (Correction + Classification)
↓
RAG (FAISS + Knowledge Base)
↓
Semantic Map
- 🔍 Robust OCR using EasyOCR
- 🛠 Text Error Correction (handles OCR noise)
- 🧠 Semantic Classification using LLM-ready TECC
- 📚 Retrieval-Augmented Generation (RAG)
- 🗺 In-memory Semantic Map for SLAM
- 🌐 Interactive Web UI (FastAPI + HTML/CSS/JS)
LP-SLAM-TECC/ ├── app.py # FastAPI backend ├── requirements.txt ├── knowledge_base/ │ └── rag_data.jsonl ├── slam_engine/ │ ├── text_detection.py │ ├── tecc_model.py │ ├── rag_engine.py │ └── tecc_db.json ├── static/ │ ├── app.js │ └── ui.css ├── templates/ │ └── index.html ├── build_rag_index.py ├── rag_index.faiss ├── test_pipeline.py └── README.md
git clone https://github.com/ysujith728/LP-SLAM-TECC.git cd LP-SLAM-TECC
python -m venv venv venv\Scripts\activate
pip install -r requirements.txt
uvicorn app:app --reload
Open your browser and go to: http://127.0.0.1:8000
Input image containing text:
EXIT
Semantic Map Output:
{
"text": "EXIT",
"label": "exit_sign",
"meaning": "Indicates an emergency exit used for evacuation."
}
The semantic map stores:
- Detected text
- Corrected text
- Semantic label
- Contextual meaning
This allows the SLAM system to reason about the environment instead of just mapping walls.
- 🤖 Indoor robot navigation
- 🏢 Smart buildings
- ♿ Assistive navigation systems
- 📍 Human-aware SLAM research
- Introduces text as a first-class SLAM landmark
- Demonstrates TECC + RAG synergy
- Reduces OCR misclassification errors
- Bridges vision, language, and mapping
Sujith Y
B.Tech CSE
GitHub: ysujith728
This project is intended for academic and research purposes.
⭐ If you like this project, consider starring the repository ⭐