Graph-based visual search and scene exploration using computer vision and Neo4j.
VisualGraph is a project for representing visual scenes as graphs. The initial idea is to detect objects in images, derive spatial relationships between them, and store this information in a Neo4j graph database.
For example, an image may be represented as:
Image
├── CONTAINS → Person
├── CONTAINS → Dog
└── CONTAINS → Bicycle
Person ── NEAR ──→ Dog
Person ── LEFT_OF ──→ Bicycle
This graph representation can then be explored and queried using Cypher.
The first version of the project will focus on:
- object detection in images;
- extraction of bounding boxes and object classes;
- generation of spatial relationships between detected objects;
- representation of image scenes as property graphs;
- persistence and querying with Neo4j;
- visualization of the generated scene graph.
The initial relationships will be based on geometric information from bounding boxes, such as:
LEFT_OF
RIGHT_OF
ABOVE
BELOW
NEAR
OVERLAPS
Future versions may explore image embeddings, vector search, semantic relationships, and hybrid visual search.
This project is licensed under the MIT License.