graph LR
Core_Utilities["Core Utilities"]
Data_Management["Data Management"]
Model_Backbones["Model Backbones"]
Detection_Heads["Detection Heads"]
Meta_Architectures["Meta Architectures"]
Training_Orchestration["Training Orchestration"]
Inference_and_Prediction["Inference and Prediction"]
Evaluation["Evaluation"]
Model_Deployment["Model Deployment"]
CLI_Tools_and_Project_Extensions["CLI Tools and Project Extensions"]
CLI_Tools_and_Project_Extensions -- "configures and initiates" --> Core_Utilities
CLI_Tools_and_Project_Extensions -- "manages data flow through" --> Data_Management
CLI_Tools_and_Project_Extensions -- "orchestrates training via" --> Training_Orchestration
CLI_Tools_and_Project_Extensions -- "performs inference with" --> Inference_and_Prediction
CLI_Tools_and_Project_Extensions -- "evaluates models using" --> Evaluation
CLI_Tools_and_Project_Extensions -- "facilitates model export through" --> Model_Deployment
Training_Orchestration -- "utilizes" --> Core_Utilities
Training_Orchestration -- "consumes data from" --> Data_Management
Training_Orchestration -- "builds and trains" --> Meta_Architectures
Training_Orchestration -- "interacts with" --> Evaluation
Inference_and_Prediction -- "utilizes" --> Core_Utilities
Inference_and_Prediction -- "receives input from" --> Data_Management
Inference_and_Prediction -- "employs" --> Meta_Architectures
Inference_and_Prediction -- "provides predictions to" --> Evaluation
Evaluation -- "receives data from" --> Data_Management
Evaluation -- "processes predictions from" --> Inference_and_Prediction
Evaluation -- "reports results via" --> Core_Utilities
Model_Deployment -- "uses" --> Core_Utilities
Model_Deployment -- "exports models from" --> Meta_Architectures
Meta_Architectures -- "integrates" --> Model_Backbones
Meta_Architectures -- "incorporates" --> Detection_Heads
Meta_Architectures -- "produces" --> Core_Utilities
Model_Backbones -- "provides features to" --> Meta_Architectures
Detection_Heads -- "generates" --> Core_Utilities
Data_Management -- "produces" --> Core_Utilities
click Core_Utilities href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/detectron2/Core Utilities.md" "Details"
click Data_Management href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/detectron2/Data Management.md" "Details"
click Model_Backbones href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/detectron2/Model Backbones.md" "Details"
click Detection_Heads href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/detectron2/Detection Heads.md" "Details"
click Meta_Architectures href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/detectron2/Meta Architectures.md" "Details"
click Training_Orchestration href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/detectron2/Training Orchestration.md" "Details"
click Inference_and_Prediction href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/detectron2/Inference and Prediction.md" "Details"
click Evaluation href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/detectron2/Evaluation.md" "Details"
click Model_Deployment href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/detectron2/Model Deployment.md" "Details"
click CLI_Tools_and_Project_Extensions href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/detectron2/CLI Tools and Project Extensions.md" "Details"
The Detectron2 framework is a modular and extensible platform for object detection, segmentation, and other computer vision tasks. Its main flow involves configuring the system, managing data, building and training models, performing inference, evaluating results, and deploying models, all supported by a robust set of core utilities and extensible project-specific implementations.
Provides foundational utilities for configuration management, environment setup, logging, core data structures (e.g., Boxes, Instances, Masks, Keypoints, ImageList), and visualization tools for data and model outputs.
Related Classes/Methods:
detectron2.config.config.get_cfg(99:108)detectron2.config.config.CfgNode(12:93)detectron2.config.lazy.LazyConfig(174:436)detectron2.utils.env.setup_environment(98:117)detectron2.utils.events.EventStorage(321:557)detectron2.utils.comm.is_main_process(102:103)detectron2.utils.logger.setup_logger(43:113)detectron2.structures.boxes.Boxes(130:309)detectron2.structures.instances.Instances(8:194)detectron2.structures.masks.BitMasks(88:258)detectron2.structures.keypoints.Keypoints(8:101)detectron2.utils.visualizer.Visualizer(331:1281)detectron2.utils.video_visualizer.VideoVisualizer(41:287)
Responsible for handling all aspects of data, including dataset registration, loading, preprocessing (image transformations and augmentations), and creating data loaders for both training and inference.
Related Classes/Methods:
detectron2.data.catalog.DatasetCatalog(full file reference)detectron2.data.catalog.MetadataCatalog(full file reference)detectron2.data.build.build_detection_train_loader(521:583)detectron2.data.build.build_detection_test_loader(621:682)detectron2.data.common.DatasetFromList(205:248)detectron2.data.dataset_mapper.DatasetMapper(20:191)detectron2.data.detection_utils.read_image(166:186)detectron2.data.detection_utils.build_augmentation(632:656)detectron2.data.samplers.distributed_sampler.TrainingSampler(15:70)detectron2.data.transforms.augmentation.AugmentationList(244:275)detectron2.data.datasets.builtin.register_all_coco(101:139)detectron2.data.datasets.coco.load_coco_json(35:232)
Contains the fundamental building blocks for neural network models, such as various backbone architectures (e.g., ResNet, Swin Transformer, ViT, RegNet, MViT) and basic convolutional and normalization layers (e.g., FPN, BatchNorm). These backbones extract hierarchical features from input images.
Related Classes/Methods:
detectron2.modeling.backbone.build.build_backbone(20:33)detectron2.modeling.backbone.fpn.FPN(17:175)detectron2.modeling.backbone.resnet.ResNet(362:597)detectron2.modeling.backbone.swin.SwinTransformer(510:695)detectron2.modeling.backbone.vit.ViT(232:360)detectron2.modeling.backbone.regnet.RegNet(387:452)detectron2.modeling.backbone.mvit.MViT(271:448)detectron2.layers.batch_norm.FrozenBatchNorm2d(13:166)detectron2.layers.wrappers.Conv2d(102:149)
Implements the task-specific heads for object detection, including the Region Proposal Network (RPN) for generating candidate object proposals and ROI-based heads (e.g., Fast R-CNN, Mask R-CNN, Keypoint R-CNN) for classification, bounding box regression, and mask/keypoint prediction on these proposals.
Related Classes/Methods:
detectron2.modeling.proposal_generator.rpn.RPN(181:533)detectron2.modeling.proposal_generator.rrpn.RRPN(131:209)detectron2.modeling.roi_heads.roi_heads.ROIHeads(123:338)detectron2.modeling.roi_heads.roi_heads.StandardROIHeads(530:877)detectron2.modeling.roi_heads.box_head.FastRCNNConvFCHead(26:110)detectron2.modeling.roi_heads.mask_head.MaskRCNNConvUpsampleHead(215:290)detectron2.modeling.roi_heads.keypoint_head.KRCNNConvDeconvUpsampleHead(218:272)detectron2.modeling.box_regression.Box2BoxTransform(21:116)detectron2.modeling.matcher.Matcher(9:127)detectron2.modeling.poolers.ROIPooler(114:263)
Defines the high-level, end-to-end neural network architectures for various computer vision tasks (e.g., Generalized R-CNN, RetinaNet, FCOS, Panoptic FPN, Semantic Segmentor). These modules integrate backbone networks with task-specific heads to form complete detection or segmentation models.
Related Classes/Methods:
detectron2.modeling.meta_arch.build.build_model(16:25)detectron2.modeling.meta_arch.rcnn.GeneralizedRCNN(25:250)detectron2.modeling.meta_arch.retinanet.RetinaNet(29:308)detectron2.modeling.meta_arch.semantic_seg.SemanticSegmentor(34:131)detectron2.modeling.meta_arch.panoptic_fpn.PanopticFPN(21:181)detectron2.modeling.meta_arch.fcos.FCOS(25:300)
Manages the entire training process, including the main training loop, building and managing optimizers and learning rate schedulers, handling hooks for various training events (e.g., logging, evaluation, checkpointing), and facilitating distributed training.
Related Classes/Methods:
detectron2.engine.defaults.DefaultTrainer(355:737)detectron2.engine.train_loop.TrainerBase(94:223)detectron2.engine.hooks.PeriodicCheckpointer(191:207)detectron2.engine.launch.launch(27:84)detectron2.solver.build.build_optimizer(119:139)detectron2.solver.build.build_lr_scheduler(283:323)detectron2.solver.lr_scheduler.WarmupMultiStepLR(141:177)
Provides functionalities for performing inference on trained models, including single-image prediction, asynchronous prediction, and test-time augmentation. It takes processed input data and generates model predictions.
Related Classes/Methods:
detectron2.engine.defaults.DefaultPredictor(284:352)detectron2.demo.predictor.VisualizationDemo(15:129)detectron2.demo.predictor.AsyncPredictor(132:220)detectron2.modeling.test_time_augmentation.GeneralizedRCNNWithTTA(101:307)detectron2.modeling.postprocessing.detector_postprocess(9:74)
Offers a comprehensive set of tools and classes for evaluating the performance of models on various benchmarks, including COCO, LVIS, Cityscapes, Pascal VOC, and semantic segmentation metrics. It processes model predictions and ground truth to compute standard metrics.
Related Classes/Methods:
detectron2.evaluation.coco_evaluation.COCOEvaluator(34:389)detectron2.evaluation.evaluator.DatasetEvaluators(66:100)detectron2.evaluation.evaluator.inference_on_dataset(103:220)detectron2.evaluation.lvis_evaluation.LVISEvaluator(22:217)detectron2.evaluation.cityscapes_evaluation.CityscapesEvaluator(18:47)detectron2.evaluation.pascal_voc_evaluation.PascalVOCDetectionEvaluator(20:115)detectron2.evaluation.sem_seg_evaluation.SemSegEvaluator(36:265)
Facilitates the export of trained Detectron2 models to various deployment formats such as Caffe2, ONNX, and TorchScript, enabling their use in production environments or other frameworks.
Related Classes/Methods:
detectron2.export.api.Caffe2Tracer(22:107)detectron2.export.caffe2_export.export_caffe2_detection_model(125:168)detectron2.export.caffe2_export.export_onnx_model(34:67)detectron2.export.torchscript.scripting_with_instances(13:56)detectron2.export.caffe2_modeling.Caffe2GeneralizedRCNN(245:287)
Provides the main command-line entry points for interacting with Detectron2, enabling users to train models, perform inference, analyze models, and visualize data. It also serves as a container for specialized project-specific implementations that extend the core framework's capabilities.
Related Classes/Methods:
detectron2.tools.train_net.main(124:150)detectron2.demo.demo.main(93:190)detectron2.tools.analyze_model.main(116:160)detectron2.tools.visualize_data.main(47:95)detectron2.tools.benchmark.main(175:206)detectron2.projects.PointSup.train_net.main(80:102)detectron2.projects.DeepLab.train_net.main(110:123)detectron2.projects.DensePose.train_net.main(38:62)detectron2.projects.TridentNet.train_net.main(41:54)detectron2.projects.TensorMask.train_net.main(42:57)detectron2.projects.Panoptic-DeepLab.train_net.main(147:160)