How idea-research/groundingdino works
Grounding DINO is a PyTorch open-set object detector: an image and text prompt are prepared, jointly processed by a vision-language detection model, and returned as phrase-labelled boxes that can be visualized. The graph also preserves the repository’s demo and COCO dataset/evaluation branches. Some internal model wiring is inferred from the module structure and README; unsampled details are left out.
Main entry points: inference_on_a_image.py Image CLI · groundingdino.py Grounding DINO · gradio_app.py Gradio Demo · inference.py Inference API
Components 23
User Interfaces
- Image CLI
demo/inference_on_a_image.py - Gradio Demo
demo/gradio_app.py
Inference
- Inference API
groundingdino/util/inference.py - Image Transforms
groundingdino/datasets/transforms.py - Model Builder
groundingdino/models/__init__.py - Model Config
groundingdino/config/GroundingDINO_SwinB_cfg.py - Box And Phrase Processing
groundingdino/util/inference.py - Detection Visualization
groundingdino/util/visualizer.py
Detection Model
- Grounding DINO
groundingdino/models/GroundingDINO/groundingdino.py - Swin Backbone
groundingdino/models/GroundingDINO/backbone/backbone.py - Swin Transformer
groundingdino/models/GroundingDINO/backbone/swin_transformer.py - Vision-Text Transformer
groundingdino/models/GroundingDINO/transformer.py - Text Encoding
groundingdino/models/GroundingDINO/bertwarper.py - Deformable Attention
groundingdino/models/GroundingDINO/ms_deform_attn.py
Dataset And Evaluation
- COCO Dataset Creator
demo/create_coco_dataset.py - COCO Evaluation
groundingdino/datasets/cocogrounding_eval.py
External Components
- Transformers / BERT
Other components
- User
- Image
- Text Prompt
- COCO Data
- Boxes And Labels
- Annotated Image
Connections 30
- User → Image CLI: runs
- User → Gradio Demo: uses
- Image → Image CLI: provides
- Text Prompt → Image CLI: provides
- Image → Gradio Demo: provides
- Text Prompt → Gradio Demo: provides
- Image CLI → Image Transforms: preprocesses
- Gradio Demo → Inference API: requests predictions
- Inference API → Image Transforms: preprocesses
- Image CLI → Model Builder: builds model
- Model Config → Model Builder: configures
- Model Builder → Grounding DINO: constructs
- Inference API → Grounding DINO: runs image and text
- Image CLI → Grounding DINO: runs image and text
- Grounding DINO → Swin Backbone: extracts image features
- Swin Backbone → Swin Transformer: uses
- Grounding DINO → Text Encoding: encodes prompt
- Text Encoding → Transformers / BERT: uses BERT
- Grounding DINO → Vision-Text Transformer: fuses features
- Vision-Text Transformer → Deformable Attention: uses
- Inference API → Box And Phrase Processing: filters and labels
- Image CLI → Box And Phrase Processing: filters and labels
- Box And Phrase Processing → Boxes And Labels: returns
- Image CLI → Detection Visualization: renders boxes
- Gradio Demo → Detection Visualization: renders detections
- Detection Visualization → Annotated Image: produces
- User → COCO Dataset Creator: prepares data
- COCO Data → COCO Dataset Creator: reads
- COCO Dataset Creator → COCO Evaluation: creates evaluation data
- COCO Data → COCO Evaluation: evaluates against