Vision Memory Agent is an intelligent visual memory system based on the RDK X3 development board. The system uses a camera to capture real-time images, performs object recognition and visual memory recording on the edge device, and provides an interactive web interface on the PC side.
This project aims to build a lightweight visual memory agent that can observe the environment, recognize objects, remember detected targets, and display memory records through a visual frontend interface. It combines edge AI perception, visual memory management, and human-computer interaction.
- Real-time camera video streaming
- Object detection and recognition
- Visual memory recording and updating
- Object appearance count statistics
- Memory status visualization
- Gesture interaction
- Web-based frontend interface
- Frontend and backend separated architecture
- Edge deployment based on RDK X3
Vision-Memory-Agent/ ├── backend/ Backend service running on RDK X3 ├── frontend/ Web frontend running on PC ├── docs/ Project documents and related materials ├── README.md English project description └── README_cn.md Chinese project description
The project adopts a frontend-backend separated architecture.
The backend runs on the RDK X3 development board and is responsible for camera access, video stream output, object recognition, memory management, and API services.
The frontend runs in the PC browser and obtains real-time video streams, recognition results, and visual memory data from the backend through HTTP APIs.
Backend:
- Python 3
- FastAPI
- Uvicorn
- OpenCV
- RDK X3
- USB Camera
Frontend:
- React
- Vite
- JavaScript / JSX
- SCSS
- Three.js
The system captures real-time images from the camera and provides video stream output through the backend API.
The backend analyzes video frames and recognizes common objects in the scene, such as cups, phones, books, bottles, keyboards, mice, and people.
The system records recognized objects, including object category, confidence, position, detection count, and recent status. It reduces repeated memory records for the same object in similar positions and maintains a lightweight visual memory list.
The frontend supports gesture-based interaction, allowing users to interact with the visual memory system in a more natural way.
The frontend provides a visual dashboard including real-time video, memory records, status cards, and 3D-style interactive elements.
Enter the backend directory:
cd backend
Install dependencies:
pip3 install -r requirements.txt
Start the backend service:
python3 -m uvicorn app.main:app --host 0.0.0.0 --port 8000
After startup, the backend service will be available at:
http://<RDK_X3_IP>:8000
Enter the frontend directory:
cd frontend
Install dependencies:
npm install
Start the frontend development server:
npm run dev
Then open the frontend address in the browser according to the terminal output.
Common backend APIs include:
GET /api/video/stream GET /api/memory/status POST /api/memory/reset GET /api/status/current
The actual API paths should follow the backend implementation in this repository.
- Connect the USB camera to the RDK X3 board.
- Start the backend service on the RDK X3 board.
- Start the frontend service on the PC.
- Access the frontend page through the browser.
- View real-time video, recognition results, and visual memory records.
- Uses RDK X3 as the edge AI computing platform.
- Combines object recognition with visual memory management.
- Provides a visual and interactive frontend interface.
- Supports real-time camera stream and memory status display.
- Separates frontend and backend for clearer engineering structure.
- Suitable for embedded AI application scenarios and intelligent human-computer interaction demonstrations.
- Embedded AI demonstration
- Intelligent visual assistant
- Human-computer interaction experiment
- Edge vision perception system
- Smart classroom or smart desktop interaction
- Object memory and environment awareness applications
- Please ensure that the camera is correctly connected before starting the backend.
- Please modify the backend service address in the frontend configuration according to the actual RDK X3 IP address.
- This project is mainly used for competition demonstration and embedded AI application verification.
This project is used for learning, research, and competition demonstration.