Skip to content

christopherohit/CarInspectionDamage

Repository files navigation

project-logo

CARINSPECTIONDAMAGE

Revolutionizing Car Inspection! #InspectWithClarity #OpenSourceInnovation

license last-commit repo-top-language repo-language-count


Table of Contents

Overview

The CarInspectionDamage project is a sophisticated software application designed to facilitate vehicle inspection processes by leveraging advanced image processing techniques. The project offers a robust object detection model capable of identifying and localizing damages on vehicles quickly and accurately. The core functionalities of the software include real-time visualization of model predictions on images and videos, supporting parallel processing for enhanced performance. Users can utilize the DemoVideo tool to visualize how the model processes input images, providing a user-friendly interface to validate the accuracy of the inspection process. With a focus on usability and technical excellence, CarInspectionDamage streamlines the vehicle inspection workflow, showcasing the projects commitment to efficiency and accuracy in automating damage detection tasks.


Features

Feature Description
⚙️ Architecture The project follows a modular architecture with components segregated for clarity and extensibility.
🔩 Code Quality The codebase maintains a high standard of coding practices with consistent style and clear documentation.
đź“„ Documentation Extensive documentation is provided, covering installation instructions, project structure, and code explanations.
🔌 Integrations Integrates with various libraries and frameworks such as TensorFlow and PyTorch for ML functionality.
🧩 Modularity The codebase is highly modular, promoting code reusability and making it easy to extend or modify functionality.
🧪 Testing Utilizes testing frameworks like pytest and tools for unit tests and integration testing to ensure code quality.
⚡️ Performance Focuses on efficiency and speed optimization, leveraging libraries like tensorboard and Cython for performance improvements.
🛡️ Security Implements security measures such as cryptography for data protection and access control mechanisms.
📦 Dependencies Relies on a wide range of external libraries for various functionalities like data manipulation and visualization.
🚀 Scalability Designed with scalability in mind, allowing the project to handle increased traffic and load effectively.

Project Dependencies:


Repository Structure

└── CarInspectionDamage/
    ├── DemoVideo.py
    ├── Dockerfile
    ├── Pytorch.yml
    ├── README.md
    ├── RestructModelings
    │   ├── __init__.py
    │   ├── checkpoint
    │   ├── config
    │   ├── configs
    │   ├── data
    │   ├── engine
    │   ├── evaluation
    │   ├── export
    │   ├── layers
    │   ├── mathLocations
    │   ├── model_zoo
    │   ├── modeling
    │   ├── projects
    │   ├── solver
    │   ├── structures
    │   ├── tracking
    │   └── utils
    ├── RestructYolo
    │   ├── .pre-commit-config.yaml
    │   ├── 2022_Hyundai_Elantra_Hybrid.jpg
    │   ├── 73136_13_25_13_435.jpg
    │   ├── classify
    │   ├── data
    │   ├── detect.py
    │   ├── export.py
    │   ├── hubconf.py
    │   ├── requirements.txt
    │   ├── train.py
    │   ├── tutorial.ipynb
    │   ├── utils
    │   └── val.py
    ├── Test_SynTax.ipynb
    ├── YamlFile
    │   ├── Base-RCNN-DilatedC5.yaml
    │   ├── Base-RCNN-FPN.yaml
    │   ├── mask_rcnn_R_101_DC5_3x.yaml
    │   └── mask_rcnn_X_101_32x8d_FPN_3x.yaml
    ├── command.txt
    ├── config.py
    ├── datasets
    │   ├── README.md
    │   ├── prepare_ade20k_sem_seg.py
    │   ├── prepare_cocofied_lvis.py
    │   ├── prepare_for_tests.sh
    │   └── prepare_panoptic_fpn.py
    ├── docker-compose.yml
    ├── docs
    │   ├── .gitignore
    │   ├── Makefile
    │   ├── README.md
    │   ├── _static
    │   ├── conf.py
    │   ├── index.rst
    │   ├── modules
    │   ├── notes
    │   ├── requirements.txt
    │   └── tutorials
    ├── ecosystem-prod.config.js
    ├── ecosystem.config.js
    ├── predictor.py
    ├── program.py
    ├── requirements-gpu.txt
    ├── requirements.txt
    ├── run_api.py
    ├── src
    │   ├── mainBlurDetect.py
    │   ├── mainCodeCarPart.py
    │   ├── mainCodeColorCar.py
    │   ├── mainCodeCorner.py
    │   ├── mainCodeMakeModel.py
    │   ├── mainCodePriceEstimated.py
    │   ├── mainCodeSegmentationInstances.py
    │   ├── mainSegmentationsV3.py
    │   ├── trainCarObject.py
    │   └── utilsV3
    ├── tests
    │   ├── README.md
    │   ├── __init__.py
    │   ├── config
    │   ├── data
    │   ├── export
    │   ├── layers
    │   ├── modeling
    │   ├── structures
    │   ├── test_checkpoint.py
    │   ├── test_engine.py
    │   ├── test_events.py
    │   ├── test_export_caffe2.py
    │   ├── test_export_onnx.py
    │   ├── test_export_torchscript.py
    │   ├── test_model_analysis.py
    │   ├── test_model_zoo.py
    │   ├── test_packaging.py
    │   ├── test_registry.py
    │   ├── test_scheduler.py
    │   ├── test_solver.py
    │   ├── test_visualizer.py
    │   └── tracking
    ├── tools
    │   ├── README.md
    │   ├── __init__.py
    │   ├── analyze_model.py
    │   ├── benchmark.py
    │   ├── convert-torchvision-to-d2.py
    │   ├── deploy
    │   ├── lazyconfig_train_net.py
    │   ├── lightning_train_net.py
    │   ├── plain_train_net.py
    │   ├── train_net.py
    │   ├── visualize_data.py
    │   └── visualize_json_results.py
    ├── utils
    │   ├── registerData.py
    │   ├── util.py
    │   └── visualize_data.py
    ├── version3function
    │   └── process.py
    ├── via2coco
    │   ├── convert.py
    │   ├── getArea.py
    │   └── merger.py
    └── wget-log

Modules

.
File Summary
Pytorch.yml This code file, DemoVideo.py, in the CarInspectionDamage repository serves as a demonstration tool for showcasing the image processing capabilities of the project. It allows users to visualize how the model processes input images to detect and identify damage on vehicles. This feature provides a user-friendly interface to understand and validate the accuracy of the inspection process without delving into technical complexities.
predictor.py Enables real-time visualization of object detection model predictions on images and videos, supporting parallel processing for improved performance. Utilizes a custom async predictor class to run models asynchronously, enhancing throughput, especially for video rendering tasks.
config.py Production, development, and testing. Specifies image upload paths accordingly for each environment.
requirements.txt Manages project dependencies for the repository-Ensures compatibility and stability across the codebase-Facilitates seamless integration of various libraries and frameworks-Essential for building and running the software ecosystem.
run_api.py Defines API routes using Flask and RESTful. Includes functionality for detecting car features like area, corners, parts, and segmentation instances. Also predicts car model and estimated cost, checks image blur, and handles version updates.
Dockerfile Builds a container with necessary dependencies for running PyTorch-based AI models. Installs key libraries and sets up the environment to execute an API for advanced object detection tasks.
ecosystem-prod.config.js Defines the production configuration for the api app, specifying the script to run and setting the environment variables.
DemoVideo.py Enables configuring and running Detectron2 demo for object detection using pre-trained models. Parses input options like config file path, webcam usage, video input, and confidence threshold. Displays visualizations for images or videos with instance predictions.
program.py Detects physical car damage by predicting blur and segmentation instances from an input image, identifying car presence and part locations. Unveils damages and blur levels, offering image segmentation results.
docker-compose.yml Defines a Docker service configuration for the ezin_ai application, specifying networking details, container image, ports, and environment variables. Facilitates deployment of the application with specific settings and volume mounts.
requirements-gpu.txt Manages GPU dependencies for the Car Inspection Damage repository, ensuring performance optimization and hardware acceleration. Integrates a broad range of libraries and tools for robust deep learning workflows, encompassing image processing, model evaluation, and web server functionalities.
ecosystem.config.js Defines an app configuration for api-dev with environment variables in ecosystem.config.js. It specifies run_api.py as the script and sets the PORT to 4001.
wget-log Fetches and saves an image from a specified URL.
Test_SynTax.ipynb The DemoVideo.py file in the CarInspectionDamage repository is a key component for showcasing the real-time object detection capabilities of the system. It leverages the underlying deep learning models and computer vision algorithms to accurately identify and analyze damage in car inspection videos. The code demonstrates the practical application of the technology for assessing vehicle condition swiftly and efficiently.
command.txt Generates and manages Pytorch environment with necessary dependencies via conda create and pip install. Facilitates library creation and exports dependencies to requirements.txt and Pytorch.yml.
version3function
File Summary
process.py Implements image segmentation and object detection for physical damage in cars, returning detailed analysis results as base64-encoded images. Oriented towards API endpoint functionality for image processing.
RestructModelings.checkpoint
File Summary
catalog.py Defines a Model Catalog handling third-party model mappings and URLs. Resolves catalog URLs to corresponding model paths. Integrates with PathManager for URL resolution in the repository architecture.
c2_model_loading.py DemoVideo.py`This code file serves as a demonstration video showcasing the capabilities of the Car Inspection Damage project. It highlights the seamless integration of object detection and classification models to accurately assess and identify damages on vehicles during inspection. The video gives a visual representation of how the underlying models process and analyze images, providing valuable insights for users and stakeholders. Through this demo, the project showcases its advanced AI-powered technology for efficient car damage assessment, contributing to enhanced inspection processes.
detection_checkpoint.py Enables loading and syncing checkpoints for distributed model training, handles various model zoo formats, and converts legacy models. Supports compatibility heuristics for different frameworks, such as Detectron2 and Caffe2.
RestructModelings.layers
File Summary
deform_conv.py The DemoVideo.py file in the CarInspectionDamage repository serves as a demonstration of the damage inspection capabilities of the system. It showcases the integration of the underlying PyTorch models and utilities to analyze and detect damages in car inspection videos. This file provides a visual representation of how the system identifies and categorizes damages, highlighting the effectiveness of the underlying deep learning models in the context of car inspection scenarios.
shape_spec.py Defines a structure to describe tensor shapes. Used to specify tensor characteristics in models, enhancing PyTorch modules lacking shape inference capabilities.
roi_align.py Implements a customized ROIAlign module for precise feature alignment in object detection models. Handles input images and region of interest boxes, ensuring accurate alignment with the underlying pixel model during bilinear interpolation.
roi_align_rotated.py Implements a custom ROIAlign operation for rotated regions in images. Handles forward and backward passes, supporting continuous coordinates. Maintains output size, spatial scale, and sampling ratio for accurate feature extraction in object detection tasks.
nms.py Implements efficient non-maximum suppression methods for batched bounding boxes, crucial for accurate object detection in the repositorys model zoo. The functions handle rotated boxes to improve algorithm robustness and cater to various object orientation scenarios.
aspp.py Defines ASPP module for Atrous Spatial Pyramid Pooling with configurable parameters for a convolutional neural network, aiding semantic segmentation tasks. The module includes dilated convolution layers, global average pooling, and dropout functionality.
mask_ops.py The DemoVideo.py file in the CarInspectionDamage repository serves as a crucial component for demonstrating the application of computer vision technology in inspecting vehicle damage. It showcases the capability to analyze and classify images to identify potential issues effectively. This code file is instrumental in illustrating the practical implementation and utilization of the underlying machine learning models and algorithms within the repositorys architecture, highlighting the innovation and automation possibilities within the field of car inspection and damage assessment.
wrappers.py Implements wrappers for torch.nn functions supporting empty tensors, with extra features for Conv2d operations. Complements PyTorch functionalities until official implementation for empty tensors is achieved.
losses.py Calculates Distance Intersection over Union Loss and Complete Intersection over Union Loss for bounding boxes using PyTorch tensors. Handles box locations, box intersections, centers, distances, and loss calculations with configurable reduction options.
blocks.py Defines foundational CNN building blocks for computer vision tasks. Includes a block structure and a depthwise separable convolution layer for efficient feature extraction and model optimization. Delivers modularity for custom CNN architectures.
batch_norm.py Implements frozen BatchNorm2d, maintaining batch statistics, and affine params fixed for efficient training.-Offers a conversion utility for BatchNorm/SyncBatchNorm to FrozenBatchNorm.-Defines CycleBatchNormList for domain-specific BatchNorm cycling in multiple domains.
rotated_boxes.py Calculates the pairwise intersection-over-union (IoU) for rotated boxes in the given format using tensors.
RestructModelings.layers.csrc
File Summary
cuda_version.cu Determines CUDA version for compatibility checks in the Detectron2 framework.
vision.cpp Defines functions responsible for obtaining CUDA and compiler versions, CUDA availability, and operations for deformable convolutions, COCO evaluation, non-maximum suppression, box IOU computation, and rotated ROI alignment within the Detectron2 library.
RestructModelings.layers.csrc.cocoeval
File Summary
cocoeval.h Implements COCO evaluation functions for image instance detection assessment. Parses detection results against ground truth instances for precision-recall curve analysis. Organizes data into structured ImageEvaluation for evaluation across image categories and IOU thresholds.
cocoeval.cpp The DemoVideo.py file in the CarInspectionDamage repository is designed to showcase a demonstration video related to car inspection for detecting and evaluating damages. It plays a crucial role in visually presenting the functionality and capabilities of the car damage inspection system implemented in the parent repository.
RestructModelings.layers.csrc.ROIAlignRotated
File Summary
ROIAlignRotated_cuda.cu The code file DemoVideo.py in the CarInspectionDamage repository serves as a demonstration of the repository's feature for analyzing car inspection videos. It showcases the functionality to detect and classify damages in inspection footage using the underlying PyTorch-based models. Through this script, users can gain a visual understanding of how the system processes video inputs and provides insights into vehicle condition assessment, contributing to efficient damage evaluation in automotive inspections.
ROIAlignRotated_cpu.cpp The DemoVideo.py file in the CarInspectionDamage repository is a key component of the projects architecture. It enables the generation of demonstration videos showcasing the car inspection and damage detection capabilities. This feature plays a crucial role in demonstrating the practical application of the underlying deep learning models and algorithms implemented within the repository.
ROIAlignRotated.h Enables CPU and GPU accelerated ROIAlignRotated operations for object detection tasks in the parent repositorys architecture. Facilitates efficient feature extraction from region of interest (RoI) with rotated bounding boxes.
RestructModelings.layers.csrc.box_iou_rotated
File Summary
box_iou_rotated.h Implements rotated box intersection over union calculations for CPU and CUDA in the Detectron2 framework. Provides efficient tensor operations for comparing rotated bounding boxes.
box_iou_rotated_utils.h DemoVideo.py**This code file within the CarInspectionDamagerepository serves a critical role in showcasing the real-time video demonstration capabilities of the project. By utilizing advanced computer vision algorithms, theDemoVideo.py` script processes video input to detect and analyze damage on vehicles during live inspections. This feature enriches the overall architecture by providing a user-friendly interface for immediate visual feedback on potential damages, enhancing the efficiency of vehicle inspection processes.
box_iou_rotated_cpu.cpp Implements box intersection-over-union calculation for rotated bounding boxes using C++ kernel. Computes IOU between two sets of boxes and reshapes output as a 2D array. Contributing to object detection in the parent repository.
box_iou_rotated_cuda.cu Calculates Intersection over Union (IoU) for rotated bounding boxes in parallel on a GPU, optimizing memory usage. Uses CUDA for efficient computation, ideal for object detection tasks.
RestructModelings.layers.csrc.deformable
File Summary
deform_conv_cuda_kernel.cu The DemoVideo.py file in the CarInspectionDamage repository plays a crucial role in showcasing a demonstration video illustrating the vehicle damage inspection process. This code file integrates with the parent repositorys architecture, leveraging various functionalities such as model evaluation, data processing, and object detection to provide a visual representation of the inspection workflow.
deform_conv_cuda.cu DemoVideoThe DemoVideo.py script in this repository facilitates the demonstration of car inspection damage detection capabilities. It leverages the underlying infrastructure and models provided in the RestructModelings and RestructYolo directories to showcase real-time damage identification in car inspection videos. This tool plays a crucial role in highlighting the effectiveness of the damage detection system designed within the repositorys architecture.
deform_conv.h Enables deformable convolution operations for GPU-accelerated processing, enhancing the parent repositorys object detection capabilities.
RestructModelings.layers.csrc.nms_rotated
File Summary
nms_rotated_cuda.cu Implements a CUDA kernel for rotated Non-Maximum Suppression in the parent repositorys deep learning framework. Optimizes box intersection calculations for improved object detection accuracy using PyTorch tensors.
nms_rotated_cpu.cpp Implements NMS for rotated boxes in Detectron2. Utilizes IoU computation for efficient non-maximum suppression. Streamlines CPU operations for optimized performance in object detection tasks.
nms_rotated.h Enables rotated non-maximum suppression for object detection, supporting both CPU and GPU inference. Handles tensor data and thresholds to filter object detections effectively.
RestructModelings.structures
File Summary
instances.py Defines a class to manage instances in an image. Stores instance attributes and provides methods for field operations, indexing, concatenation, and conversion. Enables easy handling and manipulation of instance data for various image processing tasks.
boxes.py This DemoVideo.py code file in the CarInspectionDamage repository facilitates the demonstration of an automated car inspection system, leveraging deep learning models for damage detection. It encapsulates the functionality to process and analyze demo videos of vehicles, showcasing the capabilities of the underlying neural network models. This component plays a crucial role in showcasing the repositorys advanced computer vision and machine learning technologies for automotive inspection applications.
keypoints.py Defines a Keypoints class modeling keypoint annotation data for instances in the repositorys structuring. Offers methods to manipulate, convert keypoint data to heatmaps, concatenate keypoint data, and extract keypoint locations from heatmaps following the architectures specifications.
masks.py The DemoVideo.py file in the CarInspectionDamage repository serves as a demonstration tool for showcasing the capabilities of the damage inspection model. It allows users to run a demo video showcasing the models ability to detect and classify damage on vehicles. This feature provides a visual representation of the model in action, aiding in understanding its performance and potential use cases within the context of vehicle inspection and damage assessment.
image_list.py Defines a structure for holding images in a single tensor, enabling custom padding based on a maximum image size. Includes methods for tensor manipulation and padding constraints. Efficiently handles multiple images for model compatibility.
rotated_boxes.py The DemoVideo.py file in the CarInspectionDamage repository serves the main purpose of demonstrating how the damage inspection process works using computer vision models. It showcases the functionality of detecting and classifying damage in vehicle inspection videos. This code file integrates with the existing architecture of the repository, leveraging models and modules from the RestructModelings and RestructYolo directories to perform the inspection tasks effectively.
RestructModelings.config
File Summary
config.py Enables versioned config management with unsafe YAML loading and automatic merging, supporting global config access for any module. Facilitates config file merging, upgrading, and downgrading. Enhances compatibility and debugging for easy experimentation and exploration.
compat.py Upgrades or downgrades configurations to newer or older versions, ensuring backward compatibility when changes occur. Facilitates version migration by guessing the version from a partial configuration if not specified. Renaming functionality is supported through converters for smoother transitions.
instantiate.py Facilitates deep dataclass serialization and recursive object instantiation based on structured dictionaries. Handles nested structures for complex model configurations and instantiates objects defined by target. Enhances configuration management with clear readability and usability.
defaults.py The DemoVideo.py file in the CarInspectionDamage repository serves the critical function of demonstrating the end-to-end process of assessing vehicle damage from videos. By utilizing the model architectures and utilities present in the repositorys RestructModelings and RestructYolo directories, this code showcases the seamless integration of computer vision algorithms for accurate vehicle inspection. This demonstration reinforces the repositorys overarching goal of leveraging advanced technologies to streamline the automotive inspection process.
lazy.py The DemoVideo.py file in the CarInspectionDamage repository is a script that demonstrates the use of a deep learning model for detecting damage in images or videos related to car inspections. It showcases the capabilities of the underlying architecture for real-time video analysis, utilizing advanced computer vision techniques. The script serves as a practical example of how the model can be applied in a visual inspection scenario and highlights the repositorys focus on leveraging deep learning for automotive damage assessment.
RestructModelings.projects.MViTv2.configs
File Summary
cascade_mask_rcnn_mvitv2_s_3x.py Implements configuration for a cascade mask R-CNN model using MVITv2 architecture, focusing on backbone adjustments, training checkpoint initialization, and related components.
cascade_mask_rcnn_mvitv2_t_3x.py Improve Cascade Mask R-CNNs architecture by enhancing box heads, box predictors, and proposal matchers for better object detection accuracy and efficiency. Update the models configuration to achieve optimal performance.
cascade_mask_rcnn_mvitv2_b_in21k_3x.py Implements configuration for training Cascade Mask R-CNN with MViTv2 backbone on 21k classes. Orchestrates model setup, data loading, optimizer, and learning rate adjustments. Utilizes a pretrained ImageNet model for initialization.
mask_rcnn_mvitv2_t_3x.py Defines MViTv2 backbone architecture for Mask R-CNN, sets initialization settings, configures training parameters, and customizes optimizer for object detection tasks in Detectron2.
cascade_mask_rcnn_mvitv2_h_in21k_lsj_3x.py Defines a customized Cascade Mask R-CNN model architecture with specific backbone settings and training configurations for the MViTv2 project.
cascade_mask_rcnn_mvitv2_l_in21k_lsj_50ep.py Configures cascade Mask R-CNN model training with modified backbone features and parameters to enhance image classification accuracy. Incorporates a learning rate scheduler and optimizer settings for fine-tuning on custom datasets.
cascade_mask_rcnn_mvitv2_b_3x.py Defines configuration settings for a Cascade Mask R-CNN model variant, specifying backbone details, block indexes, and drop path rate. Introduces an ImageNet pre-trained checkpoint for model initialization.
RestructModelings.projects.MViTv2.configs.common
File Summary
coco_loader_lsj.py Defines LSJ data configuration for training with Detectron2, specifying image processing steps and batch size. Ensures consistent image size, applies random flip, scaling, and cropping transformations. Reshapes images to RGB format and recomputes bounding boxes post-cropping.
coco_loader.py Defines data loading settings for training and testing datasets in the parent repositorys architecture. Configures augmentations, batch size, and evaluation for COCO dataset, enhancing object detection model training with ease.
RestructModelings.projects.TridentNet
File Summary
train_net.py TridentNet Training Script simplifies training workflows for detectron2 projects. It provides custom evaluator and setup functions, automating model training, evaluation, and checkpoint management.
RestructModelings.projects.TridentNet.tridentnet
File Summary
trident_rpn.py Defines Trident RPN subnetwork incorporating multiple branches for enhanced object detection. Adjusts image and ground truth instances duplication based on the number of branches. Inherits RPN properties and extends functionality.
config.py Specifies the number of branches, branch dilations, Trident blocks stage, and test branch index for fast inference. Primarily focused on enhancing TridentNet model performance.
trident_backbone.py Defines a TridentNet backbone with customizable branches, dilations, and concatenation. Implements TridentBottleneckBlock and builds TridentResNet stages based on model configuration. Achieves dynamic block creation for TridentNet, enhancing model flexibility and performance.
trident_rcnn.py Merges detection results from TridentNet branches using NMS.-Implements TridentNet ROIHeads variations for C4 R-CNN models.-Facilitates merging multiple branches detection results for enhanced object detection.
trident_conv.py Defines a customizable neural network module for multiple branches in a unified architecture, allowing convolutional operations with various settings such as kernel size and stride. Enables efficient feature extraction and processing for diverse tasks within the repositorys computer vision framework.
RestructModelings.projects.TridentNet.configs
File Summary
Base-TridentNet-Fast-C4.yaml Defines the configuration for the TridentNet model architecture in the parent repository, specifying the backbone, ROI heads, proposal generator, datasets, solver settings, and input sizes for training the model on the COCO dataset.
tridentnet_fast_R_50_C4_3x.yaml Defines TridentNet-Fast model configuration for project TridentNet, specifying base model, weights source, ResNet depth, and training solver steps and iterations.
tridentnet_fast_R_50_C4_1x.yaml Defines configuration settings for the TridentNet Fast R-50 C4 model within the repositorys structure. Specifies base model, weights source, and ResNet depth parameters. Contributes to the projects object detection capabilities.
tridentnet_fast_R_101_C4_3x.yaml Defines configuration for the TridentNet model architecture, specifying base settings, model weights, and training parameters. Configures ResNet with 101 layers and custom solver steps for efficient object detection tasks within the Car Inspection Damage project.
RestructModelings.projects.DensePose
File Summary
query_db.py Queries and visualizes dataset entries; prints or shows data with visualizations like densepose, bounding box. Handles entry selection and dataset loading for analysis.
apply_net.py Applies DensePose to visualize and output results as pickled dumps or images. Parses configurations, loads models and data, and executes specified actions. Preconfigured to display or dump DensePose results efficiently.
setup.py Defines project setup for DensePose, ensuring PyTorch dependency, parsing version from Detectron2, and specifying required packages. Facilitates installation and access to DensePose functionality.
train_net.py Enables DensePose training via configuration setup, model initialization, and training execution. Handles distributed setups, model evaluation, and verification using the detectron2 framework.
RestructModelings.projects.DensePose.densepose
File Summary
config.py The DemoVideo.py file in the CarInspectionDamage repository serves the purpose of demonstrating the applications video processing capabilities. It showcases the seamless integration of object detection and classification algorithms for inspecting vehicle damage in real-time videos.
RestructModelings.projects.DensePose.densepose.structures
File Summary
data_relative.py Defines DensePoseDataRelative that handles dense pose relative annotations for any bounding box, including coordinates, part labels, and segmentation masks. Supports applying transforms and converting data to different devices.
list.py Defines a class that manages DensePose data and associated information. Allows switching to a different device, iterating over data, and accessing specific elements efficiently. Contributes to DensePose project within the repositorys architecture.
chart_confidence.py Defines a function to enhance an existing output class by incorporating attributes for confidence estimation in dense pose models. It extends the provided class with additional confidence-related fields and methods for improved performance.
chart_result.py Transferring to a device, adding confidences, quantizing coordinates, compressing results to a PNG-encoded string, and decompressing such results.
cse_confidence.py Enhances PredictorOutput class with new attribute for confidence estimation.-Enables indexing of PredictorOutput instances.-Facilitates transferring tensors to a specific device.
chart.py Defines DensePoseChartPredictorOutput structure with segmentation and coordinates predictions. Supports selecting specific instances and transferring tensors to a given device. Key for structuring DensePose project in the repository.
mesh.py Defines Mesh class with methods to load vertex, face, geodesic, symmetry, and texture data. Implements lazy-loading mechanism for mesh attributes. Customizable to load data to specified device. Facilitates creation of Mesh instances through a centralized MeshCatalog.
transform_data.py Implements a data transformation class for DensePose project with symmetries and device conversion methods. Loads transforms from a file and maps UV symmetries to Torch tensors for specific device.
cse.py Defines the structure for DensePose embedding predictors output containing embedding and coarse segmentation data. Allows for retrieving selected instances and transferring tensors to a specified device.
RestructModelings.projects.DensePose.densepose.converters
File Summary
to_mask.py Converts DensePose predictor outputs to BitMasks format for efficient usage. Registers conversion strategies for different output types. Implements recursive lookup for derived classes without explicit registration.
chart_output_to_chart_result.py Converts DensePose predictor outputs to chart-based results with or without confidences. Resamples U, V coordinates, and confidences for a given bounding box. Achieves accurate DensePose segmentation outputs for object detection tasks.
to_chart_result.py Converts DensePose predictor outputs to DensePose results. Utilizes registered conversion strategies for different output types. Handles recursive lookup for base classes. Provides Result or Result with Confidences based on predictor outputs and bounding boxes.
chart_output_hflip.py Implements horizontal flipping for DensePose model outputs to support mirror transformations, aiding image processing for symmetry.
hflip.py Implements a method to convert DensePose predictor outputs to DensePose results through horizontal flipping. It leverages a registry for conversion strategies and supports recursive lookup for derived classes.
segm_to_mask.py Converts coarse and fine segmentations to masks within bounding boxes. Resamples segmentation tensors, deriving labels for each pixel. Handles DensePose predictor outputs efficiently for image segmentation in the parent repositorys architecture.
builtin.py Enables conversion mappings for DensePose model output formats within projects structure. Facilitates transformations from chart and embedding predictions to masks and results using specified converters.
base.py Enables dynamic type conversion for various data types to a specific target type. Handles recursive lookup for converter registration, ensuring seamless conversion between related source and destination types. Facilitates effortless data transformation across different type hierarchies.
RestructModelings.projects.DensePose.densepose.utils
File Summary
logger.py Defines a function to map verbosity levels to logging levels for effective control of log output in the projects DensePose module.
dbhelper.py Defines entry selectors based on specified field criteria, enabling filtering of entries for selection. Supports range and equality checks for various field types, enhancing flexible selection capabilities within the parent repositorys architecture.
transform.py Loads and returns DensePose transformation data for a given dataset by sourcing the path from configuration settings.
RestructModelings.projects.DensePose.densepose.modeling
File Summary
build.py Constructs DensePose predictor, filter, head, and losses based on config options.-Generates embedder module for mesh vertices using Embedder or None.
hrnet.py The DemoVideo.py file in the CarInspectionDamage repository serves as a demonstration script showcasing the real-time video processing capabilities of the car inspection damage detection system. By utilizing the underlying deep learning models and processing pipelines defined in the RestructModelings and RestructYolo directories, this script illustrates how the system can accurately identify and classify damages on vehicles in a live video feed. This feature-rich code file aligns with the repositorys architecture by leveraging the modular components for efficient model inference and visualization, contributing to the overall functionality and usability of the car inspection solution.
test_time_augmentation.py Implements test-time data augmentation for DensePose in Detectron2.-Extends DatasetMapperTTA and GeneralizedRCNNWithTTA with rotation augmentation and inverse transformations for densepose attributes.
confidence.py Defines confidence modeling configurations for DensePose UV and segmentation, based on statistical models. Supports enabling confidence, setting lower bounds, and specifying confidence types. Configuration parsing from CfgNode is encapsulated.
densepose_checkpoint.py Implements renaming HRNet weights for DensePose model handling in the projects checkpointing mechanism, ensuring compatibility with HRNet pretrained weights. This custom checkpointer extends the base functionality to accommodate HRNet-specific weight identification and processing during model loading.
hrfpn.py Defines HRFPN for transforming HRNet outputs to suit ROI_heads by adapting features for improved performance and resolution consistency. Includes custom changes for bilinear interpolation and convolution methods. Achieves efficient feature pyramid generation for downstream tasks.
utils.py Initializes parameters in a neural network module, setting biases to zero and weights using kaiming normal initialization with specified parameters.
inference.py Defines a function to split DensePose predictor outputs into image-specific chunks stored within corresponding Instances objects. Facilitates processing of multiple image predictions by a DensePose model.
filter.py Filters relevant DensePose training data by matching proposals with GT, handling situations without valid annotations. Implements IOU threshold for filtering, ensuring correct feature and proposal selection.
RestructModelings.projects.DensePose.densepose.modeling.losses
File Summary
mask.py Implements mask loss computation for raw scores. Extracts mask data from matched instances ground truth and estimated bounding boxes. Computes cross-entropy loss for coarse segmentation based on masks.
embed_utils.py Defines and accumulates dense pose annotations for each detected instance, packing them into tensors. Facilitates preprocessing of dense pose data for model training in the DensePose project part of the parent repositorys architecture.
soft_embed.py Calculates losses for estimated embeddings based on vertex annotations, mesh distances, and geodesic distances. Organizes instances by mesh for cross-entropy computation. Handles embeddings for observed pixels and mesh vertices, generating mesh-specific loss values.
segm.py Defines SegmentationLoss for DensePose project. Computes cross-entropy loss on ground truth and estimates for coarse segmentation. Handles cases with missing ground truth data by returning a zero loss value to maintain uniform computation graph for DistributedDataParallel.
embed.py Calculates losses for estimated embeddings based on ground truth mesh vertex IDs. Handles instances and embeddings with cross-entropy computation, focusing on squared distances between embeddings. Addresses mesh grouping and scoring for optimization.
mask_or_segm.py Implements mask or segmentation loss calculation based on ground truth labels, allowing for cross-entropy computation. Handles different annotation sources depending on configuration, ensuring efficient loss evaluation across densepose predictor outputs.
registry.py Registers DensePose loss functions using a specialized registry within the repositorys structure.
cycle_shape2shape.py Implements ShapeToShapeCycleLoss for mesh embeddings in densepose. Randomly pairs shapes for loss calculation based on geodesic distances and similarity matrices, facilitating unsupervised learning for point cloud shapes.
cycle_pix2shape.py Implements a Cycle Loss for pixel-vertex correspondence using embeddings. Computes loss based on pixel similarity with mesh vertices. Handles embeddings from densepose predictor outputs and packed annotations.
chart.py The DemoVideo.py file within the CarInspectionDamage repository is a key component that demonstrates the integration of computer vision models for damage inspection in vehicles. The code utilizes PyTorch-based models to analyze and detect potential damages present in video footage. By processing each frame, this code showcases the repositorys capability to provide real-time insights on vehicle conditions, enhancing the efficiency of inspection processes.
chart_with_confidences.py Implements DensePose loss functions with confidence modeling for fine segmentation and U/V coordinates. Handles isotropic and anisotropic covariance, enhancing DensePose predictor accuracy and enabling distributed model training optimization.
utils.py The DemoVideo.py script in the CarInspectionDamage repository provides a demonstration of the damage inspection functionality integrated into the larger repository architecture. It showcases the automated detection and classification of damages in car inspection videos using deep learning models, reflecting the projects core objective of enhancing inspection processes through AI technology. This script serves as a practical illustration of the repositorys capabilities in action, offering a glimpse into the potential applications of the underlying models and algorithms within real-world scenarios.
cse.py Defines DensePose CSE loss calculation based on configuration settings. Computes segmentation, embedding, shape-to-shape, and pixel-to-shape losses for dense pose predictions. Handles missing data scenarios gracefully. Facilitates embedding loss customization.
RestructModelings.projects.DensePose.densepose.modeling.predictors
File Summary
chart_confidence.py Defines a mixin class for generating model confidence using DensePose head outputs. The mixin initializes confidence estimation layers based on configuration options and computes confidences for segmentation and UV tensors. It extends base predictor outputs with confidence-related fields.
registry.py Registers the DensePose predictor in the Detectron2 registry for easy access across the repositorys architecture.
cse_confidence.py Generates confidence estimates for DensePose model outputs, enhancing coarse segmentation. Initializes layers, extends predictor outputs, and computes confidences based on a configuration. Accommodates bilinear interpolation and leverages base predictors results for enhanced model performance.
chart_with_confidence.py Defines a predictor class in the repositorys DensePose project that merges chart and confidence estimation features.
chart.py Defines DensePoseChartPredictor, producing 4 tensors (coarse segmentation, fine segmentation, U coordinates, V coordinates) for body parts from DensePose head outputs. Interpolates using bilinear method for upscaling.
cse_with_confidence.py Implements a predictor in DensePose project to combine CSE and confidence estimation for embedding.
cse.py Defines DensePose models last layers, producing continuous surface embeddings. Utilizes coarse segmentation and embedding layers, employing bilinear interpolation for upscaling. Outputs include embeddings and coarse segmentations for DensePose.
RestructModelings.projects.DensePose.densepose.modeling.cse
File Summary
utils.py Calculates squared Euclidean distances between points.-Normalizes embedding vectors.-Interpolates embeddings and segmentations for a bounding box.-Computes closest vertices and segmentation mask for the resized box.
embedder.py Creates mesh embedders, handling various mesh configurations, with vertex embeddings for each mesh. Loads pre-trained models for finetuning on different meshes. Supports direct and feature-based embedding types, ensuring seamless integration into the densepose head architecture.
vertex_direct_embedder.py Embeds vertex representations using random values.-Resets embeddings to random parameters.-Produces vertex embeddings in a specific shape.-Loads data from a file path and copies it for processing.
vertex_feature_embedder.py Defines a class for embedding vertex features in the DensePose project. Sets up random embeddings, resets parameters, computes embeddings, and loads data from a file. Manages the feature and embedding spaces efficiently.
RestructModelings.projects.DensePose.densepose.modeling.roi_heads
File Summary
roi_head.py Implements a DensePose head for Panoptic Feature Pyramid Networks in a Standard ROIHeads class, adding dense pose prediction capabilities to object detection models. The Decoder merges FPN features for semantic segmentation outputs, enhancing instance segmentation performance.
deeplab.py Defines DensePoseDeepLabHead utilizing ASPP modules for image segmentation based on Rethinking Atrous Convolution for Semantic Image Segmentation. Implements convolutions and non-local blocks for feature extraction and refinement.
registry.py Registers DensePose head models for region of interest tasks in the repositorys architecture.
v1convx.py Defines a fully convolutional DensePose head, configuring the number and size of convolutions. Executing convolutions on input features, it produces DensePose head outputs.
RestructModelings.projects.DensePose.densepose.vis
File Summary
densepose_results.py DemoVideo.py**The DemoVideo.py script in the CarInspectionDamage repository facilitates the demonstration of the damage detection models real-time performance on video inputs. By leveraging the PyTorch framework and related functionalities from the repository's structuring modules, this script showcases the model's effectiveness in identifying and localizing damages within the context of car inspections.
densepose_data_points.py Visualizes ground truth segmentation and points for DensePose data on images based on input bounding boxes and data points, supporting various color mapping functions.
densepose_outputs_iuv.py Visualizes and enhances images with DensePose data, supporting segmentation, and UV mapping. Inherits behavior to visualize U, V, and fine-segmentation outputs. Integrates with DensePose structures for data consistency.
extractor.py Scores, bounding boxes, chart results, and embeddings. Enables visualization via various methods like NMS filtering and score thresholding. Organizes data for Compound Visualizer in the Detectron2-based Car Inspection Damage project.
bounding_box.py Visualizes bounding boxes and associated scores on an image in an object detection task. Manages visual representation of boxes and scores separately, enhancing clarity for inference.
densepose_outputs_vertex.py Defines classes for visualizing DensePose vertex embeddings and textures on images. Utilizes mesh data and embeddings to overlay visual representations on bounding boxes. Includes methods to generate textured images.
densepose_results_textures.py Visualizes DensePose results on an image using a texture atlas, blending textures onto body parts. Maps U to x and (1-V) to y coordinates. Handles 24 body parts with alpha channel.
base.py Visualizes matrix data on images with color mapping and alpha blending. Draws rectangles, points, and text with customizable styles. Supports compound visualizations using multiple visualizers, enhancing image interpretation.
RestructModelings.projects.DensePose.densepose.evaluation
File Summary
mesh_alignment_evaluator.py Evaluates 3D mesh alignment using vertex embeddings, calculating mean errors and geodesic distances. Implements a mesh alignment evaluator class with evaluation functionality based on learned embeddings.
tensor_storage.py Implements storage classes for efficient tensor data handling in single or multi-process settings. Allows seamless storage and retrieval operations with structured data schema and various storage backends, enhancing data management across processes for machine learning applications in detectron2.
d2_evaluator_adapter.py Adapts COCOEvaluator in Detectron2, enhances metadata handling, and ensures accurate category mappings within the DensePose project for robust evaluation.
densepose_coco_evaluation.py The DemoVideo.py file in the CarInspectionDamage repository serves the critical purpose of demonstrating the functionality of the Car Inspection Damage Detection system. It showcases the core features of the model evaluation process and visualizes the detection and classification results. This code file plays a key role in illustrating the capabilities of the entire system, helping users understand how it can be utilized for inspecting and identifying damage on vehicles accurately and efficiently.
evaluator.py DemoVideo.py**This code file within the CarInspectionDamage repository is designed to demonstrate video processing capabilities for car inspection tasks. It leverages the PyTorch framework for deep learning-based analysis. The DemoVideo.py script showcases the integration of models and algorithms for real-time video analysis, enabling efficient detection and tracking of damages on vehicles. This functionality enhances the inspection process by providing automated and accurate assessments through visual data analysis techniques.
RestructModelings.projects.DensePose.densepose.engine
File Summary
trainer.py Defines a Trainer class with methods for testing, building evaluators, and optimizers in a DensePose project. It includes functionalities for evaluating and optimizing models, leveraging TTA, and augmenting test data.
RestructModelings.projects.DensePose.configs
File Summary
densepose_rcnn_R_101_FPN_DL_s1x.yaml Defines DensePose RCNN FPN DL model configuration for the parent repositorys projects, specifying base and model settings, including weights and network depth. Sets solver parameters for iteration and steps.
densepose_rcnn_R_101_FPN_DL_WC2_s1x.yaml Defines DensePose model configuration for Car Inspection Damage project. Specifies model base, weights, ResNet depth, UV confidence settings, point regression weights, solver options with gradient clipping, max iterations, and steps.
densepose_rcnn_R_101_FPN_WC2_s1x.yaml Defines DensePose model configuration with ResNet-101 backbone, UV confidence, point regression weights, and solver settings for training. It references a base configuration and pre-trained weights for ImageNet.
densepose_rcnn_R_50_FPN_WC1_s1x.yaml Specifies DensePose model configuration with ResNet-50 backbone and UV confidence for pose estimation. It sets solver parameters such as max iterations and warmup factor for effective training in the parent repositorys architecture.
densepose_rcnn_R_50_FPN_WC2M_s1x.yaml Defines DensePose model configuration extending a base setup, with specific weights and settings for UV and segmentation confidence, point regression, clipping gradients, and training schedule. Influences model training behavior within the projects architecture.
densepose_rcnn_R_101_FPN_WC1M_s1x.yaml Defines configuration settings for a DensePose RCNN model in the project hierarchy. Configures model weights, network depth, confidence settings, point regression weights, and solver parameters.
densepose_rcnn_R_50_FPN_DL_s1x.yaml Defines DensePose model configuration with weight initialization, ResNet depth, and solver settings. Inherits from the base DensePose-RCNN-FPN config file, sets pre-trained weights, network depth, and training iterations.
densepose_rcnn_R_101_FPN_s1x_legacy.yaml Defines DensePose-RCNN-FPN model config with ResNet-101 backbone, DensePose head settings, and solver parameters for training. Fine-tunes using ImageNet-pretrained weights with specific learning rate, iteration steps, and schedule.
densepose_rcnn_R_101_FPN_DL_WC2M_s1x.yaml Defines DensePose RCNN with FPN and DeepLab head using a ResNet-101 backbone. Configures UV and segmentation confidence, point regression weights, and solver settings for training.
densepose_rcnn_R_50_FPN_DL_WC2M_s1x.yaml Implements DensePose model configuration-Inherits base config-Sets model weights-Defines ResNet depth-Configures DensePose head-Specifies solver settings
Base-DensePose-RCNN-FPN.yaml Defines a DensePose model configuration with specific backbone, anchor generation, feature pyramid network, and ROI head settings. Specifies datasets for training and testing, along with solver parameters like batch size, learning rate, and iteration steps.
densepose_rcnn_R_50_FPN_DL_WC1_s1x.yaml Defines model configuration for DensePose with ResNet-50 backbone, DensePoseDeepLabHead, and specific solver settings in DensePose RCNN FPN model. Configures weight initialization, optimization, and training iterations for accurate dense pose estimation.
densepose_rcnn_R_50_FPN_s1x.yaml Defines configuration for a DensePose model in the Car Inspection Damage repository. Configures model base, weights, ResNet depth, solver iterations, and steps for training.
densepose_rcnn_R_101_FPN_s1x.yaml Specifies DensePose model config extending base settings. Defines model weights, ResNet depth, max iterations, and training steps. Contributing to the DensePose project in the repository.
densepose_rcnn_R_101_FPN_WC1_s1x.yaml Defines DensePose model configuration with ResNet-101 backbone and UV regression for DensePose segmentation. Specifies solver settings with gradient clipping and warm-up factor, aiming for improved instance segmentation performance.
densepose_rcnn_R_50_FPN_WC2_s1x.yaml Defines DensePose model configuration for training, setting base model, weights, and optimization parameters. Enhances DensePose RCNN with UV confidence and point regression weights adjustments for image segmentation. Implements gradient clipping and warm-up during training iterations.
densepose_rcnn_R_101_FPN_DL_WC1_s1x.yaml Defines DensePose model configuration with ResNet-101 backbone, DeepLab head, and UV confidence for image segmentation. Configures solver settings for gradient clipping and training iterations to optimize model performance.
densepose_rcnn_R_50_FPN_DL_WC2_s1x.yaml Defines DensePose model configurations for training & inference; sets model weights, architecture depth, UV confidence, point regression weights, solver settings. Fine-tunes base model for DensePose task to enable accurate pose estimation and dense correspondences in images.
densepose_rcnn_R_101_FPN_WC2M_s1x.yaml Defines DensePose RCNN FPN configurations for the parent repository. Specifies model weights, network depth, confidence settings, and training parameters. Optimizes point regression with gradient clipping and warmup.
densepose_rcnn_R_50_FPN_WC1M_s1x.yaml Implements DensePose-RCNN-FPN model configuration with pre-trained weights for image segmentation. Configures UV and segmentation confidence, point regression weights, gradient clipping, maximum iterations, steps, and warmup factor for training.
densepose_rcnn_R_101_FPN_DL_WC1M_s1x.yaml Loads pre-trained weights, sets model parameters, enables point regression, and specifies solver settings. Facilitates fine-tuning for dense pose estimation tasks in computer vision applications.
densepose_rcnn_R_50_FPN_DL_WC1M_s1x.yaml Defines DensePose model configurations within the projects structuring. Specifies model architecture, pretrained weights, and training parameters like iterations and gradient clipping for robust performance.
densepose_rcnn_R_50_FPN_s1x_legacy.yaml Defines DensePose model configuration with base, model weights, ResNet settings, DensePose head parameters, and solver details for training.
RestructModelings.projects.DensePose.configs.HRNet
File Summary
densepose_rcnn_HRFPN_HRNet_w32_s1x.yaml Defines HRNet-based DensePose model configuration for Car Inspection Damage project, specifying model weights, backbone, RPN settings, ROI heads, and solver parameters. Aids in accurate detection and segmentation of car damage areas for thorough inspection.
densepose_rcnn_HRFPN_HRNet_w48_s1x.yaml Defines configuration for DensePose model using HRNet in the project structure. Specifies model backbone, ROI heads, and solver settings for training. Configures stages with varying numbers of channels and gradient clipping.
densepose_rcnn_HRFPN_HRNet_w40_s1x.yaml Specifies HRNet-based DensePose RCNN configuration, setting backbone, RPN, ROI heads, HRNet stages, solver parameters, and download weights link. Enhances object detection accuracy for dense pose estimation tasks in computer vision applications.
RestructModelings.projects.DensePose.configs.evolution
File Summary
Base-RCNN-FPN-Atop10P_CA.yaml Defines a DensePose model configuration for object detection. Specifies backbone, feature pyramid network, region proposals, and head architectures. Configures datasets and solver parameters for training with specified annotations and image sizes.
densepose_R_50_FPN_DL_WC1M_3x_Atop10P_CA_B_uniform.yaml Defines DensePose model configuration with head setups for pose estimation tasks, leveraging ResNet50 backbone. Specifies dataset bootstrapping guidelines, model weight sources, and training parameters for gradient clipping and iteration limits.
densepose_R_50_FPN_DL_WC1M_3x_Atop10P_CA_B_finesegm.yaml Defines DensePose model configuration for dense pose estimation, leveraging DensePoseROIHeads and DensePoseDeepLabHead. Specifies model weights, dataset bootstrapping, image loading strategies, inference parameters, and solver settings for training.
densepose_R_50_FPN_DL_WC1M_3x_Atop10P_CA.yaml Defines an evolution configuration for DensePose model with ImageNet pretrained weights. Configures model components like ResNets, DensePose ROI heads, and solvers for training DensePoseDeepLabHead.
densepose_R_50_FPN_DL_WC1M_3x_Atop10P_CA_B_uv.yaml Defines the configuration for DensePose model training, specifying model weights, dataset loaders, inference settings, and solver parameters. Facilitates training on custom datasets with predefined augmentation strategies and filters for enhanced accuracy.
densepose_R_50_FPN_DL_WC1M_3x_Atop10P_CA_B_coarsesegm.yaml Defines DensePose model configuration for Fine Pose Estimation. Specifies model architectures, dataset loading strategies, batch processing, and training parameters for DensePose with DensePoseROIHeads and DensePoseDeepLabHead.
RestructModelings.projects.DensePose.configs.cse
File Summary
densepose_rcnn_R_101_FPN_DL_s1x.yaml Defines DensePose model configuration inheriting from base. Specifies model weights, ResNet depth, DeepLabHead, and training settings for iteration steps.
densepose_rcnn_R_50_FPN_DL_s1x.yaml Implements DensePose model configuration for CarInspectionDamage. Defines model architecture, weight initialization, and training settings. Facilitates rapid experimentation and efficient training of DensePose models for human pose estimation.
densepose_rcnn_R_101_FPN_soft_s1x.yaml Defines DensePose model configuration for CSE project, specifying base model, weights, ResNet depth, ROI head, embedding loss, solver iterations, and steps.
densepose_rcnn_R_50_FPN_soft_chimps_finetune_4k.yaml Defines DensePose model configuration for fine-tuning on chimpanzee images with SoftEmbeddingLoss. Sets custom embedders for vertex features and geodesic distances for training and testing on specified datasets. Configuration includes ResNet depth, model weights, and training parameters for the specified iterative steps.
densepose_rcnn_R_50_FPN_soft_animals_finetune_16k.yaml Links weights, specifies ResNet depth, sets number of classes, embeds features for animals, assigns datasets, maps classes to meshes, configures solver iterations, and enables mesh alignment evaluation.
densepose_rcnn_R_50_FPN_soft_animals_finetune_4k.yaml Specifies DensePose model configuration for animal segmentation with fine-tuning. Defines model backbone, embedding losses, category mappings, and training data specifics for evaluation. Max iteration set to 4000 with intermediate steps at 3000 and 3500 for dense pose alignment assessment.
densepose_rcnn_R_50_FPN_soft_animals_I0_finetune_i2m_16k.yaml Defines DensePose model configuration for animal segmentation with soft embedding loss. Specifies model weights, ResNet depth, ROI heads, and dense pose embeddings. Sets datasets for training and testing, whitelisted categories, and mesh name mappings. Configures solver settings and dense pose evaluation criteria.
Base-DensePose-RCNN-FPN.yaml Multi-feature FPN backbone, RPN configs, DensePose ROI heads, and embedding loss. Specifies training and evaluation settings, emphasizing batch size, learning rate, and evaluation type for the CSE version.
densepose_rcnn_R_50_FPN_s1x.yaml Defines model configuration for DensePose instance segmentation with a ResNet-50 backbone pretrained on ImageNet. Specifies training settings, including maximum iterations and steps. Utilizes the CSE module for keypoint embedding loss.
densepose_rcnn_R_50_FPN_soft_s1x.yaml Defines DensePose model configuration, leveraging pre-trained ImageNet weights, a ResNet-50 backbone, and SoftEmbeddingLoss. Specifies training details with 130k iterations, adjusting steps at 100k and 120k.
densepose_rcnn_R_101_FPN_s1x.yaml Defines DensePose RCNN model configuration with ResNet-101 backbone, DensePoseV1ConvXHead, and EmbeddingLoss. Specifies ImageNet pretrained weights, solver settings for training iterations and steps.
densepose_rcnn_R_50_FPN_soft_animals_finetune_maskonly_24k.yaml Defines a specialized DensePose model configuration for animal segmentation and recognition under densepose_lvis_v1 datasets. Enriched with trainable embeddings for diverse animal categories, this config facilitates fine-tuning towards accurate and detailed dense pose estimation.
densepose_rcnn_R_50_FPN_soft_animals_CA_finetune_4k.yaml Defines dense pose model configuration for animal segmentation with specific mesh mappings and fine-tuned embeddings. Whitelists datasets and categories for training and evaluation with a focus on sheep, zebra, horse, giraffe, elephant, cow, bear, cat, and dog classes.
Base-DensePose-RCNN-FPN-Human.yaml Defines DensePose-RCNN-FPN-Human model config for DensePose project. Specifies embedding details, datasets, and mappings for training and testing DensePose human pose estimation models.
densepose_rcnn_R_50_FPN_DL_soft_s1x.yaml Defines DensePose model training configuration for project CSE with ResNet-50 backbone, DensePoseDeepLabHead, SoftEmbeddingLoss, and specific training parameters.
densepose_rcnn_R_50_FPN_soft_animals_CA_finetune_16k.yaml Defines a custom DensePose model configuration for fine-tuning to segment animals in images. Specifies unique embedding features for animals, tailored evaluation, data mapping, and solver details for training.
densepose_rcnn_R_101_FPN_DL_soft_s1x.yaml Defines DensePose RCNN model configuration for human pose estimation with pre-trained weights, ResNet-101 backbone, CSE embedding loss, and 130k training iterations.
densepose_rcnn_R_50_FPN_soft_animals_I0_finetune_16k.yaml Specifies DensePose model configuration for animal images with fine-tuning, embedding features, and mesh alignment evaluation. Defines data sources, category mappings, and training parameters for efficient DensePose segmentation on varied animal classes.
densepose_rcnn_R_50_FPN_soft_animals_I0_finetune_m2m_16k.yaml Specifies animal DensePose model configuration with trainable features, mesh alignment evaluation, and training datasets for specific animal categories. Inherits settings from base model and defines embedding characteristics for various animal classes, optimizing performance and segmenting animals accurately in images.
RestructModelings.projects.DensePose.configs.quick_schedules
File Summary
densepose_rcnn_R_50_FPN_WC1_instant_test.yaml Defines training configuration for DensePose model with specified datasets, model weights, and solver settings in the parent repositorys architecture. Fine-tunes a pre-trained model for dense pose estimation tasks on a specific dataset.
densepose_rcnn_R_50_FPN_WC2_instant_test.yaml Defines training configurations for a DensePose model. Specifies datasets, model weights, and solver settings. Extends a base configuration for fine-tuning pretrained weights on human pose estimation tasks. Optimal for quick model evaluation and testing.
densepose_rcnn_R_50_FPN_training_acc_test.yaml Defines training configuration for DensePose RCNN model based on R-50 FPN with ImageNet pretrained weights. Specifies datasets, solver settings with gradient clipping, iteration limits, and expected test results for evaluation.
densepose_rcnn_R_50_FPN_DL_instant_test.yaml Defines training schedules and settings for DensePose model using pre-trained weights. Specifies dataset, solver iterations, and custom configurations for DensePoseDeepLabHead.
densepose_rcnn_R_50_FPN_instant_test.yaml Specifies configuration for DensePose model training, leveraging a base template. Defines dataset sources, model weights, and training iterations. Facilitates rapid model development and evaluation within the parent repositorys architecture.
densepose_rcnn_R_50_FPN_TTA_inference_acc_test.yaml Specifies configuration for DensePose model for inference using test-time augmentation. Sets weights for the model and defines datasets for training and testing. Enables augmentation with specific sizes and flips, providing expected results for various evaluation metrics.
densepose_rcnn_R_50_FPN_inference_acc_test.yaml Defines the configuration for DensePose model inference accuracy test. Specifies model weights and expected results on test datasets. Supports evaluating DensePose performance for object detection tasks.
densepose_rcnn_HRFPN_HRNet_w32_instant_test.yaml Defines training and testing schedules, datasets, and solver parameters for the HRNet-based DensePose model, enhancing the repositorys computer vision capabilities.
RestructModelings.projects.DensePose.configs.quick_schedules.cse
File Summary
densepose_rcnn_R_50_FPN_DL_instant_test.yaml Defines a quick training schedule for DensePose model using pre-trained weights. Configures dataset and solver settings for efficient training with minimal iterations. Parent repository focuses on diverse computer vision tasks and model evaluations.
densepose_rcnn_R_50_FPN_soft_animals_finetune_instant_test.yaml Defines dense pose estimation model configurations for animal images, with pre-trained weights and trainable features. Specifies datasets, categories, and class mappings for training and testing. Adjusts solver settings for optimal performance.
RestructModelings.projects.DensePose.dev
File Summary
run_instant_tests.sh Executes instant tests for dense pose project configurations, enhancing development efficiency by automating testing process. Analyzes and runs multiple config files, each triggering a test run with specified GPU settings and output directory.
run_inference_tests.sh Executes inference tests using provided configurations, managing GPUs and batch size dynamically. Cleans up previous output before each run for accurate evaluation and updates the specified output directory accordingly.
RestructModelings.projects.Panoptic-DeepLab
File Summary
train_net.py Orchestrates Panoptic-DeepLab training, handling dataset evaluation, augmentation, optimizer creation, and LR scheduler. Configures trainers, evaluators, and loaders. Launches training on distributed setups via args. Notable for seamless integration with detectron2s training workflow.
RestructModelings.projects.Panoptic-DeepLab.panoptic_deeplab
File Summary
config.py Defines configuration for Panoptic-DeepLab model, enhancing semantic and instance segmentation heads with specific parameters for accuracy and efficiency. Includes settings for target generation, optimizer, instance segmentation features, post-processing, and network evaluation.
dataset_mapper.py Maps dataset metadata to Panoptic-DeepLab training targets using augmentations and target generation. Implements image loading, transformations, and preparation as per configuration.
panoptic_seg.py The DemoVideo.py file in the CarInspectionDamage repository is a key component that demonstrates the use of the underlying object detection model for analyzing damage on cars. By leveraging the functionalities provided in the repositorys structure, including model configurations, data processing, and evaluation modules, this script showcases the practical application of the model in inspecting and identifying potential damages in car videos. This demonstration serves as a valuable example for users seeking to understand and utilize the repositorys object detection capabilities in the context of car inspection and damage assessment.
post_processing.py Implements post-processing functions for panoptic segmentation, processing semantic labels and instance IDs. Determines instance centers, groups pixels into instances, and merges semantic with instance results. Outputs panoptic segmentation with delineated instances.
target_generator.py Generates training targets for Panoptic-DeepLab, mapping semantic labels, center heatmaps, offsets, and more from a panoptic label array, tailored for instance segmentation tasks with distinct category IDs.
RestructModelings.projects.Panoptic-DeepLab.configs.Cityscapes-PanopticSegmentation
File Summary
panoptic_deeplab_R_52_os16_mg124_poly_90k_bs32_crop_512_1024.yaml Defines configuration for Cityscapes Panoptic Segmentation in Panoptic DeepLab, setting model backbone, weights, solver iterations, image input format, and crop size. Facilitates customization and fine-tuning for panoptic segmentation tasks.
panoptic_deeplab_R_52_os16_mg124_poly_90k_bs32_crop_512_1024_dsconv.yaml Defines configuration for Cityscapes Panoptic Segmentation with Panoptic-DeepLab model using a ResNet backbone. Specifies model weights, pixel values, backbone details, solver settings, and input format. Configures crop size and model specifics for training.
Base-PanopticDeepLab-OS16.yaml Specifies architecture details and feature settings-Sets dataset paths for training and testing-Defines solver parameters like optimizer, learning rate, batch size-Configures input sizes and data loading settings
RestructModelings.projects.Panoptic-DeepLab.configs.COCO-PanopticSegmentation
File Summary
panoptic_deeplab_R_52_os16_mg124_poly_200k_bs64_crop_640_640_coco_dsconv.yaml Defines configuration settings for the Panoptic DeepLab model for COCO Panoptic Segmentation, specifying backbone, head, datasets, solver parameters, and input properties. Achieves seamless setup and customization for model training on complex datasets.
RestructModelings.projects.PointSup
File Summary
train_net.py Implements a custom Trainer class, building evaluators and data loaders. Sets up configurations for point supervision training in the PointSup model project. Resumes model training and evaluation with customizable logic.
RestructModelings.projects.PointSup.point_sup
File Summary
mask_head.py Defines MaskRCNNConvUpsamplePointSupHead and ImplicitPointRendPointSupHead classes for mask prediction with point supervision. The first class uses point annotations for training, while the latter samples uniform points during training.
config.py Defines configuration for point supervision, emphasizing option to use point annotation and sample subset of points.
detection_utils.py Enhances dataset instance formatting by incorporating point annotations. Transforms include subsampling and coordinate adjustments, ensuring compatibility with models requiring point supervision. Facilitates training and evaluation of models within the PointSup project of the parent repository.
dataset_mapper.py Maps image points to continuous coordinates, applies transforms, and prepares data for input as tensors and instances. Configurable for training or inference with augmentations and point subsampling. Allows reading images and handling annotations efficiently in Detectron2 format.
point_utils.py Processes point annotations to extract point coordinates and labels adjusted to bounding boxes, ensuring model accuracy and efficiency in object detection tasks within the PointSup project.
register_point_annotations.py Registers COCO datasets with point annotations for instance segmentation, enabling dataset loading and metadata addition. The script defines dataset registrations and handles image and JSON file paths.
RestructModelings.projects.PointSup.configs
File Summary
implicit_pointrend_R_50_FPN_3x_point_sup_point_aug_coco.yaml Defines point supervision for instance segmentation, using an implicit PointRend model on the COCO dataset. Integrates an ImplicitPointRendPointSupHead for ROI mask heads, with point supervision enabled and 5 sample points for training.
mask_rcnn_R_50_FPN_3x_point_sup_point_aug_coco.yaml Defines PointSup project configuration for a Mask R-CNN model with point supervision. Sets the base config to mask_rcnn_R_50_FPN_3x_point_sup_coco.yaml and specifies 5 sample points as input.
mask_rcnn_R_50_FPN_3x_point_sup_coco.yaml Defines a custom Mask R-CNN model configuration for image segmentation with point supervision. Configures dataset loading, training steps, and model settings for improved performance in detecting objects in images.
RestructModelings.projects.Rethinking-BatchNorm
File Summary
retinanet-eval-domain-specific.py Executes precise batch normalization statistics update and evaluation on a detection model using SyncBN head configuration. Updates CycleBatchNormList, loads model checkpoint, and runs evaluation.
RestructModelings.projects.Rethinking-BatchNorm.configs
File Summary
mask_rcnn_BNhead_shuffle.py Implements batch shuffling and unshuffling for distributed training across GPUs in the projects ROI heads. Facilitates random shuffling of data indices and synchronization among devices.
mask_rcnn_BNhead.py Implements configuration for the Mask R-CNN model with batch normalization in the Box and Mask heads. Freezes specific layers, sets normalization layers to BatchNorm, and defines training settings like learning rate and optimizer for fine-tuning.
mask_rcnn_SyncBNhead.py Implements SyncBN (Synchronized Batch Normalization) for box and mask heads in the Mask R-CNN model.
mask_rcnn_BNhead_batch_stats.py Implements a custom Batch Normalization layer for using batch statistics during inference in a Mask R-CNN model architecture. Enhances model performance by maintaining training-time behavior for more efficient inference.
retinanet_SyncBNhead_SharedTraining.py Implements a custom head for RetinaNet model in Detectron2, incorporating shared training and batch normalization. The forward method processes features sequentially for logits and bounding box regression.
retinanet_SyncBNhead.py Implements configuration for fine-tuning a RetinaNet model with SyncBatchNorm for specific domain tasks. Adjusts backbone and training settings for optimal performance.
RestructModelings.projects.ViTDet.configs.LVIS
File Summary
mask_rcnn_vitdet_l_100ep.py Defines training configurations for Mask R-CNN ViTDet with LVIS dataset integration, customizing backbone architecture settings, initial checkpoints, and learning rate schedules to enhance object detection performance.
cascade_mask_rcnn_vitdet_b_100ep.py Generates configuration for Cascade Mask R-CNN with ViTDet model. Updates the ROI heads with custom box heads and predictors, along with proposal matchers. Makes adjustments specific to Cascade R-CNN requirements.
cascade_mask_rcnn_vitdet_h_100ep.py Defines configurations for Cascade Mask R-CNN to enhance object detection using Vision Transformers. Tailors heads, predictors, and matchers for refined feature extraction and classification.
cascade_mask_rcnn_mvitv2_b_in21k_100ep.py Configures LVIS dataset training for a custom Mask R-CNN model with ViT backbone. Sets up data loaders, model parameters, and training schedule. Adjusts box predictors, loss functions, and learning rate scheduler for optimal performance in the repositorys object detection pipeline.
cascade_mask_rcnn_mvitv2_l_in21k_50ep.py Enhances ViTDet model for LVIS dataset by adjusting backbone architecture, training settings, and optimizer parameters for improved performance and efficiency in object detection tasks.
cascade_mask_rcnn_mvitv2_h_in21k_50ep.py Defines model configurations and training settings for the cascade mask R-CNN with ViT backbone on LVIS dataset. Adjusts backbone dimensions, learning rate, and training parameters, reducing iterations to 50 epochs. Fine-tunes pretrained model for object detection tasks.
cascade_mask_rcnn_swin_b_in21k_50ep.py Defines LVIS dataset settings, model configurations, and training optimizations for the Cascaded Mask R-CNN Swin Transformer in the parent repository. Adjusts dataset names, evaluation parameters, dropout rate, class count, and optimizer settings for improved performance in object detection tasks.
mask_rcnn_vitdet_b_100ep.py Configures LVIS dataset, model, training parameters, and evaluation settings for the LVIS variant of Mask R-CNN VitDet. Sets up dataset names, samplers, evaluation criteria, and optimizer details. Fine-tunes model for LVIS with specific class counts and evaluation thresholds. Configures training schedule and learning rate adjustments.
cascade_mask_rcnn_swin_l_in21k_50ep.py Implements configuration settings for a cascade mask R-CNN model with Swin transformer backbone, customizing embedding dimensions and number of heads. Initializes training with a pre-trained Swin large model checkpoint from ImageNet.
mask_rcnn_vitdet_h_100ep.py Defines custom configurations for a mask RCNN model with Vision Transformer backbone. Adjusts parameters for image embedding, depth, attention heads, and learning rate. Configures global attention blocks and optimizer settings for LVIS dataset training.
cascade_mask_rcnn_vitdet_l_100ep.py Defines configurations for Cascade Mask R-CNN ViT Detection model in LVIS project, customizing box heads, predictors, and proposal matchers. Enhances models capabilities for object detection tasks with specialized features and configurations.
RestructModelings.projects.ViTDet.configs.COCO
File Summary
mask_rcnn_vitdet_l_100ep.py Defines custom configurations for the ViTDet model in the COCO dataset, adjusting backbone dimensions, attention mechanisms, and learning rate decay. Fine-tunes model with specified changes for improved performance.
cascade_mask_rcnn_vitdet_b_100ep.py Update ROI heads, box heads, box predictors, and proposal matchers for improved performance in the COCO dataset.
cascade_mask_rcnn_vitdet_h_75ep.py Optimizes Cascade Mask R-CNN ViT-Det model for COCO dataset. Adjusts backbone parameters, updates learning rate decay, and sets new training iterations. Fine-tunes model for 75 epochs.
cascade_mask_rcnn_mvitv2_b_in21k_100ep.py Configures a Cascade Mask R-CNN model using a modified MViT backbone and customized ROI heads. Implements various enhancements for the model, including new box heads and predictors. Specifies initialization settings, trainer configurations, and a parameter schedule for optimization.
cascade_mask_rcnn_mvitv2_l_in21k_50ep.py Implements configuration adjustments for the ViTDet project within the COCO dataset. Modifies model parameters and training settings, including adjusting backbone features and reducing training iterations by half for improved performance.
cascade_mask_rcnn_swin_b_in21k_50ep.py Defines model architecture and training settings for a custom Cascade Mask R-CNN variant using Swin Transformer for object detection on the COCO dataset. Configures backbone, optimizer, and learning rate schedule for 50 epochs training with ImageNet pretraining.
mask_rcnn_vitdet_b_100ep.py Defines model training settings, such as amp and fp16_compression, sets a pre-trained checkpoint, configures a learning rate scheduler with milestones, and optimizes using the AdamW optimizer with customized parameters for a Mask R-CNN + ViT model on COCO dataset.
mask_rcnn_vitdet_h_75ep.py Updates backbone architecture, optimizes learning rate decay, adjusts training iterations, and customizes LR scheduler milestones for enhanced object detection performance.
cascade_mask_rcnn_swin_l_in21k_50ep.py Defines configuration for cascade_mask_rcnn_swin_l_in21k_50ep model, setting backbone parameters and initializing with pretrained weights from ImageNet. Organized in ViTDet project under COCO dataset within the repository structure.
cascade_mask_rcnn_mvitv2_h_in21k_36ep.py Defines training configurations for a Cascade Mask R-CNN model with a modified backbone architecture. Adjusts key parameters and schedules learning rate for enhanced object detection performance in the COCO dataset.
cascade_mask_rcnn_vitdet_l_100ep.py Defines configurations for a Cascade Mask R-CNN on ViTDet to enhance model backbone with specific parameters and adjust learning rate factors.
RestructModelings.projects.ViTDet.configs.common
File Summary
coco_loader_lsj.py Implements data preprocessing for object detection using LSJ in the CocoLoaderLSJ script. Defines data transformations and batch sizes for training and testing. Standardizes image format and recomputes boxes post-cropping.
RestructModelings.projects.TensorMask
File Summary
setup.py Creates a Python package tensormask for the TensorMask model using C++ and CUDA extensions. Configures setup with required dependencies and author details.
train_net.py Orchestrates TensorMask training by setting up configurations, building evaluators, and launching the training process. It leverages Detectron2 for model checkpointing and evaluation, enhancing the training experience.
RestructModelings.projects.TensorMask.configs
File Summary
tensormask_R_50_FPN_1x.yaml Defines the configuration for a TensorMask model in the parent repositorys architecture. Specifies model base and ResNet settings for fine-tuning, leveraging pre-trained weights for ImageNet classification.
tensormask_R_50_FPN_6x.yaml Defines a configuration for the TensorMask project, specifying network weights, model depth, training iterations, and input size ranges. It acts as a blueprint for training models that enable precise instance segmentation in images.
Base-TensorMask.yaml Defines configuration settings for the TensorMask project within the parent repository, specifying model architecture, backbone, datasets, solver parameters, and version. Key features include mask generation, backbone selection, dataset specification, and solver details for training.
RestructModelings.projects.TensorMask.tensormask
File Summary
config.py Defines configuration for TensorMask model, including anchor parameters, convolution layers, class count, scores, box settings, loss values, mask properties, and architecture options, enhancing model performance.
arch.py The DemoVideo.py script in the CarInspectionDamage repository facilitates the demonstration of the computer vision models performance on video data. It plays a crucial role in showcasing the real-time capabilities of the model in identifying and analyzing vehicle damage within a video stream. This script contributes to the overall repository architecture by providing a visual representation of the models effectiveness in a dynamic context, enhancing the practical understanding and application of the underlying technology.
RestructModelings.projects.TensorMask.tensormask.layers
File Summary
swap_align2nat.py Implements a custom PyTorch layer, SwapAlign2Nat, altering mask predictions in tensor format. The layer swaps unit lengths and transforms aligned representations to natural form. Allows custom lambda ratio and padding value inputs.
RestructModelings.projects.TensorMask.tensormask.layers.csrc
File Summary
vision.cpp Implements extensions for swapping alignments in a PyTorch project under RestructModelings directory. The file facilitates forward and backward functions for aligning natural images.
RestructModelings.projects.TensorMask.tensormask.layers.csrc.SwapAlign2Nat
File Summary
SwapAlign2Nat_cuda.cu DemoVideo.py**The DemoVideo.py script in the CarInspectionDamage repository serves the crucial function of demonstrating the applications video processing capabilities for inspecting and detecting damage on cars. By utilizing the models and configurations from the RestructModelings and RestructYolo directories, this code enables users to run real-time damage assessment on vehicle inspection videos. The script leverages the underlying engine, evaluation, and tracking components to provide a seamless experience for analyzing potential car damages efficiently.
SwapAlign2Nat.h Implements GPU-accelerated forward and backward operations for the SwapAlign2Nat layer in the TensorMask project. Handles data processing for efficient neural network computations.
RestructModelings.projects.DeepLab
File Summary
train_net.py Defines a simplified training script for DeepLab in the repository. Implements training logic and evaluation methods for semantic segmentation tasks using detectron2. Facilitates dataset mapping, evaluation setup, and training initialization for efficient model training.
RestructModelings.projects.DeepLab.configs.Cityscapes-SemanticSegmentation
File Summary
Base-DeepLabV3-OS16-Semantic.yaml Defines configuration for semantic segmentation model training on Cityscapes dataset. Sets backbone, head, datasets, solver, input sizes, and data loading. Enables crop augmentation and hard pixel mining loss. Aimed at achieving accurate semantic segmentation on urban scenes.
deeplab_v3_R_103_os16_mg124_poly_90k_bs16.yaml Specifies DeepLab model configuration for Cityscapes Semantic Segmentation, referencing pre-trained weights and backbone architecture, defining input format and normalization settings.
deeplab_v3_plus_R_103_os16_mg124_poly_90k_bs16.yaml Defines configuration for semantic segmentation model in the Cityscapes dataset. Specifies backbone, head, and input settings for DeepLabV3+. Includes model weights, normalization, and feature details for the model architecture.
RestructModelings.projects.DeepLab.deeplab
File Summary
lr_scheduler.py Defines a Poly learning rate schedule for training DeepLab model, enhancing LR adjustments on iteration basis for optimal performance. Compliant with PyTorch LR scheduler interface, overcoming restrictions for using MultiStepLR with WarmupLR.
config.py Defines DeepLab configuration settings for semantic segmentation in the repositorys architecture. Specifies parameters for random cropping, learning rate schedule, loss type, feature projection, and ResNet backbone adjustments.
loss.py Implements DeepLabCE for semantic segmentation, enabling hard pixel mining with cross entropy loss. Supports custom weight and top-k pixel percentage. Compatible with TensorFlow DeepLab frameworks.
resnet.py Defines custom stem architecture and ResNet backbone creation for the projects DeepLab, facilitating flexible stem selection based on configuration. Ensures efficient memory use by dynamically creating backbone stages with adjustable dilation and stride settings, enhancing model performance.
build_solver.py Defines a function to create a LR scheduler based on config in DeepLab projects. Handles different LR scheduler types like WarmupPolyLR using the specified parameters or defaulting to the built-in scheduler.
semantic_seg.py The DemoVideo.py file in the CarInspectionDamage repository is a key component of the projects architecture. It enables the generation of informative demonstration videos showcasing the car inspection and damage detection capabilities of the system. By leveraging this script, users can easily visualize and understand the effectiveness of the underlying model for inspecting vehicles. This feature enhances the overall user experience and aids in conveying the projects value proposition effectively.
RestructModelings.projects.PointRend
File Summary
train_net.py Defines training logic for PointRend model. Builds data augmentation pipelines. Customizes data evaluators based on dataset type. Manages training process, including freezing configs and setting up trainers. Allows for model testing and training workflow customization.
RestructModelings.projects.PointRend.point_rend
File Summary
point_features.py The DemoVideo.py file in the CarInspectionDamage repository serves the critical function of demonstrating how to run a demo video showcasing an AI models ability to detect and classify damage in a car inspection scenario. This code leverages the underlying architecture in the RestructModelings and RestructYolo directories to perform real-time damage detection and classification, providing a visual representation of the models capabilities.
mask_head.py The DemoVideo.py script in the CarInspectionDamage repository processes video demos to showcase the projects machine learning models object detection capabilities. It utilizes the model from the RestructModelings directory and the YOLOv5-based architecture from the RestructYolo directory to detect and classify objects in the video frames. This demonstration file effectively illustrates the practical application of the project in real-world scenarios.
config.py Defines configurations for PointRend and Implicit PointRend models within the repository, specifying input features, mask head settings, and sampling parameters for PointRend. Enables customization with options for image features and positional encodings in Implicit PointRend.
point_head.py StandardPointHead and ImplicitPointHead, each with specific input configurations and multi-layer perceptron structures. The build_point_head function selects the desired model based on the configuration.
roi_heads.py Enhance model compatibility for PointRend architecture in repositorys model registry. Convert outdated model weights format for seamless integration, ensuring smooth operation with existing configurations.
color_augmentation.py Implements color augmentation for image data in SSD. Utilizes brightness, contrast, saturation, and hue adjustments based on SSD research sources..transforms image per SSD requirements for improved object detection accuracy.
semantic_seg.py Implements a semantic segmentation head combining coarse and point-based heads. Calculates uncertainty, samples points, and computes losses during training. Outputs segmented regions in high resolution.
RestructModelings.projects.PointRend.configs.SemanticSegmentation
File Summary
Base-PointRend-Semantic-FPN.yaml Defines a PointRend-based Semantic Segmentation model architecture with specific configurations for the backbone, point head, and datasets. It extends a base configuration for the model, customizing key parameters for training and testing on COCO datasets.
pointrend_semantic_R_101_FPN_1x_cityscapes.yaml Defines PointRend model config for semantic segmentation on the Cityscapes dataset, specifying backbone, head, datasets, solver, and input settings. It sets model parameters, dataset splits, training configurations, and input transformations for the model training pipeline.
RestructModelings.projects.PointRend.configs.InstanceSegmentation
File Summary
pointrend_rcnn_R_50_FPN_3x_coco.yaml Defines PointRend model configuration for instance segmentation, using ResNet-50 backbone with pretrained weights. Specifies solver settings for training, including steps and max iterations. Also includes a commented-out section for possible dataset configuration.
pointrend_rcnn_R_50_FPN_1x_cityscapes.yaml Defines configuration for PointRend model in Instance Segmentation for Cityscapes dataset with ResNet-50 backbone. Specifies data, model, training, and input settings. Configures solver with learning rate, batch size, and iterations. Key for training and evaluating instance segmentation tasks.
pointrend_rcnn_R_50_FPN_1x_coco.yaml Specifies PointRend model configuration for instance segmentation, utilizing a pre-trained R-50 ImageNet model. It includes the model weights and ResNet depth specifications, enhancing accuracy for object detection tasks.
implicit_pointrend_R_50_FPN_3x_coco.yaml Specifies configuration for an Implicit PointRend model for instance segmentation. Includes model weights, ResNet depth, solver steps, and max iterations. Also mentions potential addition of COCO AP evaluation against LVIS annotations.
Base-PointRend-RCNN-FPN.yaml Defines PointRend model configuration for instance segmentation in Base-PointRend-RCNN-FPN.yaml. Configures mask and box heads, specifies features for point head, and enforces bitmask mask format for PointRend.
pointrend_rcnn_R_101_FPN_3x_coco.yaml Defines a model configuration for instance segmentation using PointRend with ResNet-101 backbone, pre-trained on ImageNet data. Sets training parameters including optimization steps and maximum iterations for improved model performance.
implicit_pointrend_R_50_FPN_1x_coco.yaml Defines configuration settings for an implicit PointRend model using an ImageNet pretrained ResNet-50 backbone. It specifies model weights and ResNet depth. Data evaluation against LVIS annotations can be added.
pointrend_rcnn_X_101_32x8d_FPN_3x_coco.yaml Defines configuration settings for PointRend model in Instance Segmentation project. Specifies model parameters, solver details, and dataset settings for high-quality annotations evaluation.
Base-Implicit-PointRend.yaml Defines the configuration for implicit PointRend in instance segmentation. Sets up parameters for mask generation and feature extraction. Specifies the model architecture and input format to enhance segmentation performance.
RestructModelings.utils
File Summary
serialize.py Enables seamless serialization of objects using cloudpickle for enhanced pickling capabilities in the parent repositorys architecture, ensuring efficient handling of closures.
colormap.py Generates and provides a diverse array of vibrant color palettes for enriching visualizations.
tracing.py Verifies Torch FX tracing mode compatibility and guards incompatible logic inside the module. Handles assertion during tracing, ensuring safe execution in PyTorch.
env.py Seed RNGs in torch, numpy, and Python with a chosen or generated seed. Configure library settings and allow custom environment setup. Fix module metadata for documentation, ensuring correct references.
analysis.py Analyzes models FLOPs and activations in detectron2 models, supporting advanced functionalities and operator-level counting. Identifies unused parameters contributing to loss in training mode, enhancing model efficiency.
comm.py Enables multi-gpu communication for distributed training, allowing synchronization and data gathering across ranks. Includes functions for reducing dictionary values across processes and generating shared random seeds for parallel RNG usage.
memory.py Enables functions to retry automatically upon encountering CUDA memory errors in PyTorch. It handles retries by emptying the cache and switching to CPU, if needed, for improved memory management during GPU operations.
video_visualizer.py Enables visualizing instance-level predictions on video frames, drawing semantic segmentation, and panoptic segmentation predictions. Assigns colors to detected objects for tracking across frames. Applies color assignments based on object IDs or tracking heuristics to maintain consistency in subsequent frames.
registry.py Registers and locates objects using strings. Compresses object paths for simpler string representation. Handles cases where pydoc.locate fails by attempting to locate objects using a private function from hydra.
events.py The DemoVideo.py file in the CarInspectionDamage repository serves the primary purpose of demonstrating the visual output of the car inspection damage detection model developed within the repositorys architecture. It showcases the detection and classification of damage in car images or videos, offering a real-world application of the underlying technology. This code file acts as a tangible example of the models capabilities, allowing users to observe its performance without delving into technical intricacies.
collect_env.py Retrieves and displays detailed environment information, including system platform and Python version, captures errors, and checks GPU availability. Handles CUDA and ROCM variations, library versions, compilers, and GPU details. Executes NCCL testing for distributed GPU functionality.
logger.py Enables logging customization for detectron2, with colorful output and verbosity control. Implements methods to log selectively, at set intervals, and once per specified duration. Provides a function to generate small tables from dictionaries and includes internal logging for API usage tracking.
file_io.py Implements a project-specific PathManager for detectron2 to avoid conflicts with other libraries. Registers handlers for HTTP URLs, OneDrive paths, and detectron2 namespaces. Resolves paths and opens files accordingly.
develop.py Generates dummy classes and functions to handle missing dependencies in the codebase, ensuring smooth execution despite unavailable resources.
testing.py The Detect.py file in the RestructYolo module of the repository is a crucial component responsible for object detection using YOLO (You Only Look Once) algorithm. It serves the primary function of detecting objects in images for car inspection and damage assessment. This code file plays a vital role in the overall architecture by enabling accurate and efficient object detection, contributing to the core functionality of the project.
visualizer.py DemoVideo.py**The DemoVideo.py script in the CarInspectionDamage repository serves the core functionality of running a demo video showcasing an automated car inspection system. This script leverages the underlying model and utilities from the RestructModelings and RestructYolo directories to detect and classify potential damages on vehicles. By executing this script, users can visualize the car inspection process in action, demonstrating the practical application of the repositorys machine learning models and algorithms in a real-world scenario.
RestructModelings.solver
File Summary
build.py Implements dynamic creation of optimizer classes with gradient clipping for better training stability and convergence.-Generates optimizer and LR scheduler based on configuration parameters to optimize model training in the parent repository.
lr_scheduler.py Defines custom LR schedulers for PyTorch models, enhancing learning rate control with warmup stages and flexible multipliers. Deprecated schedulers are replaced with more efficient methods using fvcore ParamScheduler.
RestructModelings.mathLocations
File Summary
AreasSegmentation.py Converts predicted masks to contours and classes, calculates polygon area, splits locations into x-y coordinates, converts pixel areas to cm^2, and prepares a dictionary of classes and areas for segmented images.
RestructModelings.model_zoo
File Summary
model_zoo.py The DemoVideo.py file in the CarInspectionDamage repository serves the critical function of showcasing the real-time damage detection capabilities of the implemented model on car inspection videos. As part of the larger architecture, it leverages the pre-trained models and libraries within the RestructModelings and RestructYolo directories. By enabling visual demonstration of the inspection process through video analysis, this code file contributes to validating the effectiveness of the entire car inspection damage assessment system.By running the DemoVideo.py script, users can witness the models ability to detect and localize damages in a dynamic video setting, thereby enhancing the overall understanding and confidence in the inspection process facilitated by the repository's architecture.
RestructModelings.model_zoo.configs
File Summary
Base-RetinaNet.yaml Backbone, anchor generator, FPN setup, loss functions, datasets, solver settings, and input size variations. Indicated values for key parameters such as image batch size, learning rate, iterations, and version control.
Base-RCNN-FPN.yaml Defines key model configurations for the GeneralizedRCNN architecture in the code file, influencing backbone design, feature maps, anchor generation, and training parameters. Facilitates efficient object detection tasks with predefined dataset splits and solver settings for improved model performance.
Base-RCNN-C4.yaml Defines a model configuration for a GeneralizedRCNN architecture with custom specifications for RPN and ROI heads. Specifies datasets for training and testing and sets solver parameters. Also includes input size options.
Base-RCNN-DilatedC5.yaml Defines the configuration for an object detection model within the repositorys structured model zoo. Specifies model architecture, datasets, solver settings, and input size variations, facilitating streamlined training and evaluation processes for the defined architecture version.
RestructModelings.model_zoo.configs.Misc
File Summary
scratch_mask_rcnn_R_50_FPN_9x_syncbn.yaml Defines training configurations for a custom instance segmentation model based on a modified Mask R-CNN architecture. Adjusts batch size and learning rate for an extended training schedule. Offers guidelines for training from scratch.
mask_rcnn_R_50_FPN_3x_dconv_c3-c5.yaml Specifies model configurations for a Mask R-CNN with a ResNet-50 backbone, enabling instance segmentation. Fine-tunes deformable convolutions for ResNet layers 3 to 5. Pretrained on ImageNet, the model reaches max iteration at 270,000 steps with defined training stages.
semantic_R_50_FPN_1x.yaml Defines a semantic segmentation model configuration for Detectron2, leveraging a ResNet-50 backbone on the COCO dataset for panoptic segmentation tasks. Primarily determines model architecture, dataset settings, and input size variations for training and evaluation.
scratch_mask_rcnn_R_50_FPN_3x_gn.yaml Defines training settings for a Mask R-CNN model. Specifies model architecture and initialization details for training from scratch. Features include configurable backbone and mask settings.
panoptic_fpn_R_101_dconv_cascade_gn_3x.yaml Defines a large PanopticFPN model for demo with improved localization using Cascade and Deform Conv. GN is applied on backbone for semantic seg support in the architecture, enhancing object detection performance.
scratch_mask_rcnn_R_50_FPN_9x_gn.yaml Defines a customized Mask R-CNN model configuration for training from scratch with a longer schedule, higher batch size, and modified learning rate. Crucial for optimizing object detection performance using a specialized backbone architecture.
mask_rcnn_R_50_FPN_3x_gn.yaml Defines custom Mask R-CNN model configuration with GN normalization, ResNet-50 backbone, and specific training steps for instance segmentation. Extends a base configuration file for architecture consistency across the repository.
mmdet_mask_rcnn_R_50_FPN_1x.py Defines MMDetection model training specifications, leveraging Detectron2, for Mask R-CNN architecture with ResNet-50 backbone, FPN neck, and ROI head. Customized settings for training and testing include RPN, RCNN, and mask configurations. DataLoader image format and initialization details enhance model training. Engages in data augmentation for image recognition.
mask_rcnn_R_50_FPN_1x_dconv_c3-c5.yaml Defines model configuration for Mask R-CNN with ResNet-50 backbone, enabling mask output, and deformable convolutions. Inherits from Base-RCNN-FPN.yaml and loads MSRA pretrained weights.
cascade_mask_rcnn_R_50_FPN_1x.yaml Defines configuration for a Cascade Mask R-CNN model variant. Inherits base settings, specifies model weights, enables mask prediction, sets ResNet depth to 50, and customizes ROI detection behaviors. Adjusts RPN post-processing requirements for training.
cascade_mask_rcnn_X_152_32x8d_FPN_IN5k_gn_dconv.yaml Defines a configuration for the Cascade Mask R-CNN X-152 model, specifying components like mask, weights, backbone architecture, ROI heads, and solver parameters for training and testing.
mask_rcnn_R_50_FPN_1x_cls_agnostic.yaml Defines a custom Mask R-CNN model configuration based on a pre-trained ResNet-50 backbone for object detection tasks. Enforces class-agnostic bounding box regression and mask prediction, leveraging the ImageNet pre-trained weights.
cascade_mask_rcnn_R_50_FPN_3x.yaml Defines the architecture configuration for Cascade Mask R-CNN with a ResNet-50 backbone. Specifies image pre-trained weights and solver settings for object detection with mask prediction.
torchvision_imagenet_R_50.py Defines a reusable ImageNet classifier configuration demonstrating detectron2s flexibility. Provides building blocks for training and evaluation workflows. Promotes good project engineering practices.
mask_rcnn_R_50_FPN_3x_syncbn.yaml Specifies configuration for a Mask R-CNN model with ResNet-50 backbone and SyncBN normalization. Defines training schedule, optimization, and testing parameters for detecting and segmenting objects.
RestructModelings.model_zoo.configs.COCO-Keypoints
File Summary
keypoint_rcnn_X_101_32x8d_FPN_3x.yaml Defines configurations for a COCO Keypoints model in the model zoo. Specifies base model, weights, pixel standard deviations, ResNet parameters, and solver settings. Key features include ImageNet weights and training iterations.
keypoint_rcnn_R_50_FPN_1x.yaml Defines configuration for keypoint detection model using a pre-trained ResNet-50 backbone.-Specifies model weights and depth for COCO keypoints dataset.
keypoint_rcnn_R_50_FPN_1x.py Implements keypoint detection using COCO dataset in the model zoo by specifying optimizer, learning rate multiplier, data loader, model, backbone freezing, and initialization checkpoint.
keypoint_rcnn_R_50_FPN_3x.yaml Defines a model configuration for COCO Keypoints using a ResNet-50 backbone with pretrained weights, specific solver steps, and maximum iteration settings. Linked to base Keypoint RCNN FPN config.
Base-Keypoint-RCNN-FPN.yaml Defines configuration for COCO Keypoints model training, specifying dataset splits, model settings, and optimization parameters. Extends base configuration for RCNN-FPN model with additional settings tailored for keypoint detection tasks in the COCO dataset.
keypoint_rcnn_R_101_FPN_3x.yaml Specifies keypoint detection model configuration, inheriting from a base config file. Defines model architecture, weights, ResNet depth, solver steps, and maximum iterations for training on COCO keypoints dataset.
RestructModelings.model_zoo.configs.PascalVOC-Detection
File Summary
faster_rcnn_R_50_FPN.yaml Defines configuration settings for a Faster R-CNN model trained on Pascal VOC dataset for object detection. Specifies model architecture, input sizes, datasets, and training details like weights, classes, and iterations.
faster_rcnn_R_50_C4.yaml Defines Faster R-CNN model configuration for Pascal VOC detection with ResNet-50 backbone, ImageNet pre-trained weights, and 20 classes. Specifies input sizes and training/testing dataset splits. Sets solver parameters for training iterations and warmup.
RestructModelings.model_zoo.configs.Detectron1-Comparisons
File Summary
mask_rcnn_R_50_FPN_noaug_1x.yaml Specifies configuration settings for a Mask R-CNN model in the Detectron1-Comparisons directory. Defines model architecture, input parameters, and weights source for image segmentation with specific loss functions.
keypoint_rcnn_R_50_FPN_1x.yaml Defines a keypoint detection model configuration in Detectron1 style. Specifies model details, losses, pooler settings, and dataset sources for training and testing. Inherits from a base configuration for a faster R-CNN with a feature pyramid network.
faster_rcnn_R_50_FPN_noaug_1x.yaml Defines Faster R-CNN model config based on Detectron1 comparisons, specifying weights, ResNets depth, and settings for RPN and ROI box head. Inherits from a base FPN config with tweaks for smooth L1 loss and input size.
RestructModelings.model_zoo.configs.COCO-Detection
File Summary
faster_rcnn_X_101_32x8d_FPN_3x.yaml Specifies configuration for the Faster R-CNN X-101 model in COCO Detection, including base settings, model details, and solver parameters. Configures models backbone, mask, weights, pixel standardization, and optimization steps.
rpn_R_50_C4_1x.yaml Defines a model configuration for object detection using the COCO dataset. Specifies architecture, pretrained weights, and hyperparameters for the RPN network. Influences how the model detects objects during inference.
rpn_R_50_FPN_1x.yaml Defines configuration for the RPN module in the ProposalNetwork architecture. Inherits from Base-RCNN-FPN. Specifies ResNet-50, pretrained weights, and post-NMS topK for testing in a COCO-Detection setup.
faster_rcnn_R_101_C4_3x.yaml Defines configuration for Faster R-CNN model for COCO object detection, specifying model weights, ResNet depth, and training settings for solver. Facilitates easy setup and customization of object detection models within the parent repositorys architecture.
retinanet_R_101_FPN_3x.yaml Defines RetinaNet model configuration for COCO object detection with a ResNet-101 backbone and ImageNet pre-trained weights. Specifies training steps and maximum iterations for model training.
faster_rcnn_R_101_FPN_3x.yaml Defines a configuration for a Faster R-CNN model trained on COCO dataset. Specifies model backbone, pre-trained weights, solver settings, and optimization details. Complements the repositorys object detection functionalities.
fcos_R_50_FPN_1x.py Defines training configurations for COCO object detection using FCOS_R_50_FPN_1x model. Sets optimizer, learning rate, data loader settings, and initializes from a pretrained ImageNet model. Freezes backbone layers and specifies the initial checkpoint for training.
faster_rcnn_R_50_DC5_3x.yaml Sets ResNet depth to 50, specifies ImageNet pretrained weights, and sets solver parameters for training iterations.
faster_rcnn_R_50_DC5_1x.yaml Implements configuration for a Faster R-CNN model with ResNet-50 backbone, based on a predefined template. Specifies model weights and architecture settings for object detection on the COCO dataset.
faster_rcnn_R_50_C4_1x.yaml Defines configuration for Faster R-CNN (FRCNN) model with ResNet-50 backbone. Specifies model weights, masking option, and ResNet depth. Inherits settings from base config.
faster_rcnn_R_50_C4_3x.yaml Defines a configuration for a Faster R-CNN model trained on the COCO dataset using a ResNet-50 backbone with specified weight initialization and training parameters.
fast_rcnn_R_50_FPN_1x.yaml Defines COCO object detection model configs and dataset settings for fast R-CNN. Configures model backbone, dataset details, and data loading parameters to train on COCO 2017 data. Facilitates efficient training with precomputed proposals and ImageNet-pretrained weights.
faster_rcnn_R_50_FPN_1x.yaml Specifies configuration for COCO object detection using Faster R-CNN with ResNet-50 backbone. Specifies model weights, activation options, and ResNet depth.Extends base configuration from Base-RCNN-FPN.yaml.
retinanet_R_50_FPN_1x.py Sets optimizer, learning rate, backbone freezing, and initializes from a pre-trained model checkpoint.
faster_rcnn_R_50_FPN_3x.yaml Specifies Faster R-CNN model configuration for COCO detection with ResNet-50 backbone and ImageNet pre-trained weights. Configures solver settings for training iterations and steps. Allows for easy fine-tuning and efficient object detection tasks within the projects architecture.
retinanet_R_50_FPN_3x.yaml Defines RetinaNet architecture for object detection, using ResNet-50 backbone and ImageNet pre-trained weights. Specifies training steps and max iterations for solver configuration. Influences model performance in detecting objects in images.
faster_rcnn_R_101_DC5_3x.yaml Defines configuration for a Faster R-CNN model in the COCO dataset. Specifies model base, weights, and ResNet depth. Sets solver steps and maximum iteration parameters.
retinanet_R_50_FPN_1x.yaml Defines RetinaNet model configuration for COCO object detection using a ResNet-50 backbone. Inherits base settings from Base-RetinaNet. Specifies pretrained weights and ResNet depth. Part of the projects model zoo structure in the repository.
RestructModelings.model_zoo.configs.common
File Summary
coco_schedule.py Defines default LR multipliers for training progression in the Detectron2 model zoo. Provides configurations for different LR scaling factors, aligning with research practices for image recognition tasks. Enhances training efficiency by adjusting LR values at specific iterations.
train.py Defines common training configs for lazyconfig_train_net.py in model zoo. Specifies output directory, max iterations, distributed training options, checkpointer settings, evaluation and logging periods, and device.
optim.py Defines common optimizers for Detectron2 models with configurable parameters like learning rate, momentum, weight decay for SGD, and AdamW optimizers. Facilitates efficient model training by providing pre-defined optimizer settings in a structured manner.
RestructModelings.model_zoo.configs.common.models
File Summary
panoptic_fpn.py Defines Panoptic FPN model configuration for semantic segmentation, setting input shapes and parameters for Panoptic FPN with COCO classes, stride, channels, and normalization.
keypoint_rcnn_fpn.py Defines keypoint detection model configuration with improved proposal settings and customized keypoint head. Enhances box AP using smooth L1 loss.
mask_rcnn_vitdet.py Defines a ViT-based Mask R-CNN model configuration, integrating a Simple Feature Pyramid from the ViT backbone. Configurations include image size, patch size, embedding dimensions, attention mechanisms, and feature pyramid structures, facilitating object detection with efficient representation learning.
fcos.py Improve model configuration by adjusting backbone features, refining score thresholds, and enhancing head architecture in the FCOS model for object detection.
mask_rcnn_c4.py Defines the Mask R-CNN model configuration for the Generalized R-CNN architecture. Specifies backbone, proposal generator, and ROI heads with detailed settings for each component. Incorporates constants for image preprocessing, bounding box transformations, and model input format.
retinanet.py Implements RetinaNet model architecture with FPN backbone, anchor generation, and box regression. Configures model inputs, classes, loss functions, anchor settings, and normalization for object detection tasks.
cascade_rcnn.py Defines configurations for Cascade R-CNN model in Detectron2, enhancing it with custom box heads and predictors for improved object detection performance.
mask_rcnn_fpn.py Defines a mask RCNN model configuration specifying backbone, proposal generator, ROI heads, and pixel normalization settings. Enables instance segmentation and object detection with configurable parameters for high-performance visual recognition tasks.
RestructModelings.model_zoo.configs.COCO-PanopticSegmentation
File Summary
panoptic_fpn_R_101_3x.yaml Defines configuration for COCO Panoptic Segmentation model using ResNet-101 and FPN as base. Specifies model weights from ImageNet pretraining. Sets solver steps and maximum iterations for training.
panoptic_fpn_R_50_1x.py Defines configuration for Panoptic FPN model training, including optimizer, learning rate schedule, data loading, model architecture, and initialization checkpoint. Freezes backbone layers and sets the checkpoint for transfer learning.
Base-Panoptic-FPN.yaml Defines Panoptic FPN configuration for COCO dataset. Specifies dataset, meta-architecture, and settings for semantic segmentation head. Reference to the base FPN configuration.
panoptic_fpn_R_50_1x.yaml Models image segmentation using Panoptic FPN architecture. Specifies model weights and ResNet depth for a pretrained COCO Panoptic Segmentation model. Part of the repositorys modeling configuration for car inspection damage detection.
panoptic_fpn_R_50_3x.yaml Defines training settings for a Panoptic FPN model in the COCO dataset, specifying image weights and optimization steps.
RestructModelings.model_zoo.configs.LVISv1-InstanceSegmentation
File Summary
mask_rcnn_R_101_FPN_1x.yaml Image size, dataset splits, detection limits, training steps, and sampling strategy. Improves accuracy on large-scale visual recognition tasks.
mask_rcnn_R_50_FPN_1x.yaml Defines LVISv1 Instance Segmentation model configuration based on R-50 FPN with 1203 classes, ImageNet pretrained weights, and custom training settings for LVIS dataset. Built-in support for mask prediction and specific data loading parameters for optimal model performance.
mask_rcnn_X_101_32x8d_FPN_1x.yaml Defines configuration for LVISv1 instance segmentation model with X-101 architecture, ImageNet weights, and FPN. Sets input sizes, datasets, solver steps, and testing parameters for LVIS dataset training and evaluation.
RestructModelings.model_zoo.configs.LVISv0.5-InstanceSegmentation
File Summary
mask_rcnn_R_101_FPN_1x.yaml Defines LVISv0.5-InstanceSegmentation config for mask-RCNN R-101 FPN model in the model zoo. Specifies dataset splits, input sizes, detection thresholds, sampler type, and other critical model configurations.
mask_rcnn_R_50_FPN_1x.yaml Defines training and testing configurations for instance segmentation model using a pre-trained ResNet-50 backbone. Tailored for LVIS dataset, with specific input sizes and sampling techniques. Achieves accurate object detection with customizable detection thresholds and dataset loaders.
mask_rcnn_X_101_32x8d_FPN_1x.yaml Implements LVISv0.5 Instance Segmentation using a modified FPN model with a ResNet backbone. Configures data loaders, model weights, and training/testing settings for LVIS dataset. Fine-tunes model for object detection tasks with LVIS training and validation datasets.
RestructModelings.model_zoo.configs.quick_schedules
File Summary
keypoint_rcnn_R_50_FPN_inference_acc_test.yaml Defines keypoint RCNN model configuration for inference testing with COCO keypoint dataset. Inherits base config, specifies weights source, dataset for testing, and expected AP results.
mask_rcnn_R_50_FPN_training_acc_test.yaml Defines training configurations for Mask R-CNN using a pre-trained model on ImageNet. Specifies dataset settings, input sizes, and solver parameters for training and testing. Expected results include AP for bounding boxes and segmentation.
mask_rcnn_R_50_C4_training_acc_test.yaml Defines training configurations for Mask R-CNN R-50 C4 model based on a pre-trained ImageNet model. Specifies input settings, dataset usage, batch size, and testing criteria for optimal performance evaluation.
cascade_mask_rcnn_R_50_FPN_inference_acc_test.yaml Defines a configuration for evaluating the performance of a cascade mask R-CNN model on the COCO dataset. Specifies model architecture, weights source, test dataset, and expected results for bounding box and segmentation average precision.
mask_rcnn_R_50_C4_GCV_instant_test.yaml Defines training configurations for Mask R-CNN model, leveraging pre-trained weights, setting up datasets, specifying solver parameters, and tuning data loading. Facilitates quick setup and testing of the model.
mask_rcnn_R_50_C4_instant_test.yaml Defines training configuration for Mask R-CNN, leveraging C4 backbone, ImageNet weights, and COCO dataset. Specifies learning rate, batch size, and number of workers. Fine-tunes model for 40 iterations with validation on COCO 2017 subset.
mask_rcnn_R_50_FPN_instant_test.yaml Defines configuration settings for a Mask R-CNN model in the repositorys modeling zoo. Specifies dataset, solver, and DataLoader parameters for training and testing. Enables mask detection with a pre-trained MSRA model.
panoptic_fpn_R_50_instant_test.yaml Defines model configurations for the Panoptic FPN architecture in Detectron2, specifying datasets, optimizer settings, and model parameters for training and testing in a concise YAML file.
retinanet_R_50_FPN_inference_acc_test.yaml Defines RetinaNet model configuration for COCO dataset with pre-trained weights for inference accuracy testing. Configuration includes dataset paths and expected results for bounding box Average Precision (AP) on validation set.
mask_rcnn_R_50_DC5_inference_acc_test.yaml Defines configuration for a Mask R-CNN model for instance segmentation based on the COCO dataset. Specifies model weights, datasets, and expected test results for accuracy evaluation.
retinanet_R_50_FPN_instant_test.yaml Specifies RetinaNet configuration for training and testing using the COCO dataset with a ResNet-50 backbone. Sets learning rate, batch size, and training steps for object detection model.
mask_rcnn_R_50_FPN_pred_boxes_training_acc_test.yaml Defines a custom training schedule for the mask_rcnn_R_50_FPN model, optimizing performance during training. Specifies training on predicted boxes, enhancing accuracy for bounding box and segmentation tasks. Expected results validate model performance metrics.
panoptic_fpn_R_50_training_acc_test.yaml Defines configuration for Panoptic FPN model training with specific datasets and evaluation metrics. Inherits settings from a base config, sets model architecture, datasets, solver parameters, and test expectations for performance validation.
rpn_R_50_FPN_instant_test.yaml Defines specific training configurations for an object detection model. Sets dataset, model, and optimizer parameters to fine-tune the model.
semantic_R_50_FPN_training_acc_test.yaml Defines training configurations for a SemanticSegmentor model using a ResNet-50 backbone. Specifies dataset usage, solver settings, and expected test results for semantic segmentation tasks with Detectron2.
keypoint_rcnn_R_50_FPN_normalized_training_acc_test.yaml Defines the keypoint detection model configuration for training accuracy evaluation. Specifies model weights, keypoint settings, data input sizes, and training parameters. Facilitates accurate model testing for keypoint and bounding box detection on the COCO dataset.
panoptic_fpn_R_50_inference_acc_test.yaml Defines configurations for panoptic FPN R50 model predictions, referencing base schema and pre-trained weights. Specifies test dataset and expected performance metrics for object detection, segmentation, and panoptic segmentation tasks.
cascade_mask_rcnn_R_50_FPN_instant_test.yaml Defines training and testing configurations for Cascade Mask R-CNN R50 FPN model using COCO dataset. Specifies base model, datasets, solver settings, batch size, and data loader workers. Focuses on quick training iterations for efficient model development.
fast_rcnn_R_50_FPN_inference_acc_test.yaml Defines inference configuration for fast R-CNN model.-Specifies model base, weights, datasets for testing.-Sets expected detection results threshold.-Facilitates efficient model evaluation in the detection pipeline.
semantic_R_50_FPN_inference_acc_test.yaml Defines semantic segmentation model configuration for Detectron2 with ResNet-50 backbone. Specifies dataset for testing and expected accuracy results. Inherits from a base configuration file. Used for testing semantic segmentation accuracy.
rpn_R_50_FPN_inference_acc_test.yaml Specifies RPN configuration for model inference accuracy testing based on R_50 FPN. References COCO-Detection model with predefined weights for test dataset validation. Expected AR@1000 result is 58.16 (+/-0.02).
keypoint_rcnn_R_50_FPN_instant_test.yaml Defines a keypoint detection model configuration for rapid testing, boosting productivity. Incorporates an ImageNet-pretrained model with specific training and testing datasets. Customizable training parameters enable efficient experimentation and optimization.
keypoint_rcnn_R_50_FPN_training_acc_test.yaml Defines configuration for training keypoint detection model on COCO dataset using a ResNet-50 backbone with FPN. Sets batch size, input image sizes, optimizer warmup, training steps, and expected performance results for detecting both bounding boxes and keypoints.
mask_rcnn_R_50_C4_inference_acc_test.yaml Defines a configuration file for the Mask R-CNN R-50 C4 model in the parent repositorys model zoo. Specifies model weights, datasets, and expected test results for instance segmentation. Collaborates with the base configuration file to streamline model setup and evaluation.
semantic_R_50_FPN_instant_test.yaml Defines a quick training schedule for semantic segmentation model using a ResNet-50 backbone. Sets data, input sizes, learning rate, iterations, and batch size for training and testing on COCO dataset.
mask_rcnn_R_50_FPN_inference_acc_test.yaml Specifies a mask R-CNN model configuration for inference accuracy testing on the COCO dataset. Inherits base settings, sets weight source, defines test datasets, and expected results. Includes data augmentation settings for optimized performance.
fast_rcnn_R_50_FPN_instant_test.yaml Defines a fast RCNN model configuration for object detection. Specifies datasets, weights, training settings, and data loading parameters. Inherits from a base configuration and sets up key model training parameters for efficient and accurate detection tasks.
RestructModelings.model_zoo.configs.Cityscapes
File Summary
mask_rcnn_R_50_FPN.yaml Defines Cityscapes model configuration for Mask R-CNN with custom dataset. Specifies model weights, input dimensions, classes, training settings, and evaluation frequency. Ensures optimal performance for fine instance segmentation on Cityscapes dataset.
RestructModelings.model_zoo.configs.new_baselines
File Summary
mask_rcnn_R_101_FPN_200ep_LSJ.py Enhances training duration for Mask R-CNN model, doubling epochs and adjusting learning rate schedule accordingly. Improves models learning process by extending training iterations and updating scheduler milestones for optimal performance in car inspection damage detection.
mask_rcnn_R_50_FPN_50ep_LSJ.py Refactors training settings for a Mask R-CNN model by halving the maximum iterations and updating the learning rate scheduler accordingly. Optimizes training efficiency and performance for the specified model configuration in the repositorys modeling zoo.
mask_rcnn_regnetx_4gf_dds_FPN_100ep_LSJ.py Defines RegNet backbone and optimization for a new Mask R-CNN model variant in Detectron2. Enables RegNets support, customizes backbone architecture, sets pixel standard deviations, and optimizes training with cudnn benchmark mode.
mask_rcnn_regnetx_4gf_dds_FPN_400ep_LSJ.py Implements training extensions for mask_rcnn_regnetx_4gf_dds_FPN_400ep_LSJ by adjusting iterations and scheduler milestones. Allows for longer training to enhance model performance within the repositorys architecture.
mask_rcnn_regnety_4gf_dds_FPN_400ep_LSJ.py Implements training configuration for Mask-RCNN model extension.-Adjusts epochs and learning rate milestones for increased accuracy.
mask_rcnn_R_50_FPN_200ep_LSJ.py Enhances training duration and optimizes learning rate in mask-RCNN model via milestone adjustments and iteration doubling, boosting performance of the new baseline.
mask_rcnn_regnety_4gf_dds_FPN_100ep_LSJ.py Defines custom RegNet backbone for Mask R-CNN, enhancing accuracy for instance segmentation. Implements RegNet stem and ResBottleneckBlock with specific parameters for optimal performance. Enables cudnn benchmark for speed.
mask_rcnn_R_50_FPN_100ep_LSJ.py Defines training configurations for a new Mask R-CNN baseline model, focusing on SyncBN and batch optimizations, novel convolution choices, and intense training schedules.
mask_rcnn_regnety_4gf_dds_FPN_200ep_LSJ.py Enhances Mask R-CNN baseline model for longer training, doubling max iterations to 200. Adjusts learning rate scheduler accordingly for improved performance and accuracy in the CarInspectionDamage repositorys architecture.
mask_rcnn_R_50_FPN_400ep_LSJ.py Implements and extends training duration for a specific Mask R-CNN baseline model in the repository. Adjusts training iterations and learning rate scheduler milestones accordingly for improved model performance.
mask_rcnn_R_101_FPN_400ep_LSJ.py Enhances training duration of a Mask R-CNN model by scaling the number of epochs from 100 to 400. Adjusts learning rate scheduler milestones accordingly for improved training performance.
mask_rcnn_R_101_FPN_100ep_LSJ.py Defines a new Mask R-CNN baseline configuration in the model zoo, adjusting the backbone depth to 101 for improved accuracy.
mask_rcnn_regnetx_4gf_dds_FPN_200ep_LSJ.py Enhances Mask R-CNN training duration by doubling epochs to 200, adjusting learning rate milestones accordingly.
RestructModelings.model_zoo.configs.COCO-InstanceSegmentation
File Summary
mask_rcnn_regnetx_4gf_dds_fpn_1x.py Optimizes instance segmentation by integrating RegNetX-4GF backbone into the parent repositorys Mask R-CNN model zoo. Improves model performance with specific RegNet configurations for efficient training on COCO dataset.
mask_rcnn_regnety_4gf_dds_fpn_1x.py Implements custom RegNetY-4GF backbone for COCO instance segmentation. Overrides ResNet with RegNet architecture, sets specific configuration, and optimizes training for performance enhancement.
mask_rcnn_R_50_FPN_1x.py Implements model configurations for COCO Instance Segmentation, adjusting backbone and training parameters for optimal performance.
mask_rcnn_R_101_FPN_3x.yaml Defines Mask R-CNN model configuration for COCO Instance Segmentation, specifying model base, weights, and ResNet depth. Sets solver parameters for training steps and maximum iterations.
mask_rcnn_R_50_FPN_1x_giou.yaml Defines custom configuration for Mask R-CNN model with modified loss types and weights. Inherits from base FPN config, loads pre-trained weights, and enables mask predictions. Tailors RPN, ROI box head with GIoU loss and weights adjustments for better instance segmentation performance.
mask_rcnn_R_50_FPN_1x.yaml Specifies configuration for a mask RCNN model trained on the COCO dataset. Inherits base settings and defines model specifics like weights and ResNet depth.
mask_rcnn_R_50_FPN_3x.yaml Defines configuration for an instance segmentation model. Inherits key settings from a base config, specifying model weights and training parameters including iterations and steps.
mask_rcnn_R_50_C4_1x.py Defines training settings for COCO Instance Segmentation using Mask R-CNN with ResNet-50 backbone. Specifies optimizer, learning rate schedule, data loading, and model configuration. Freezes backbone at the 2nd stage and sets initial checkpoint from MSRA ImageNet pretrained model.
mask_rcnn_R_101_C4_3x.yaml Defines model architecture and training configurations for COCO instance segmentation, leveraging a pretrained ResNet-101 backbone. Sets training steps and maximum iteration for optimizing model performance.
mask_rcnn_R_50_C4_3x.yaml Defines model configuration for COCO instance segmentation in the parent repository. Specifies model base, weights source, mask activation, ResNet depth, solver steps, max iterations.
mask_rcnn_R_50_C4_1x.yaml Defines a configuration for COCO Instance Segmentation using the R-50 C4 model with pretrained weights. Inherits from the Base-RCNN-C4 configuration and specifies model settings like weight source, enabling mask prediction, and ResNet depth.
mask_rcnn_X_101_32x8d_FPN_3x.yaml Defines configuration for Mask R-CNN model with X-101 backbone on COCO dataset. Sets mask prediction, pretrained weights, pixel std, ResNet settings, and training parameters like steps and max iterations.
mask_rcnn_R_50_DC5_3x.yaml Defines a configuration file for a Mask R-CNN model trained on COCO dataset. Specifies model base, weights, and solver settings for instance segmentation.
mask_rcnn_R_50_DC5_1x.yaml Defines model config for COCO Instance Segmentation task with ResNet-50 backbone. Inherits base settings from another file. Specifies pretrained weights location, enables mask prediction, and sets ResNet depth to 50.
mask_rcnn_R_101_DC5_3x.yaml Defines model configuration for COCO Instance Segmentation with ResNet-101 backbone and ImageNet pre-trained weights. Specifies training steps and iterations. Extends base configuration from Base-RCNN-DilatedC5.yaml.
RestructModelings.modeling
File Summary
test_time_augmentation.py Implements test-time augmentation for detection data. Generates augmented images for inference from input dataset dicts using specified transformations. Includes a GeneralizedRCNN model with enabled test-time augmentation and batched inference functionality.
poolers.py Implements ROIPooler mapping boxes to feature levels for pooling, supporting various types of pooling operations. Handles multiple feature maps and box shapes for accurate feature extraction.
matcher.py Implements a Matcher class for assigning predicted elements to ground-truth elements based on match quality. Supports stratifying predictions and labels with varying thresholds. Allows additional matches for low-quality predictions.
box_regression.py The DemoVideo.py file in the CarInspectionDamage repository is a key component that showcases a demo video illustrating the functionality and capabilities of the damage inspection model. It allows users to visually understand how the model processes and analyzes images to detect and categorize damages on vehicles. This file provides a clear demonstration of the use case and effectiveness of the machine learning model for car inspection.
mmdet_wrapper.py Defines wrappers to integrate mmdetection backbones and detectors with detectron2s conventions. Converts outputs to detectron2 format and parses losses for training.
anchor_generator.py The DemoVideo.py file in the CarInspectionDamage repository plays a crucial role by showcasing a demonstration video of the car inspection and damage detection process. This code file provides a visual representation of the underlying models capabilities implemented in the repository. By offering a practical example through the video, it effectively communicates how the inspection and damage assessment system operates in a real-world scenario. This demonstration video serves as a valuable asset for illustrating the repository's architecture and the functionality of the model for stakeholders and contributors.
sampling.py Enables subsampling positive and negative labels based on specified criteria from a label vector, balancing class distribution for training neural networks.
postprocessing.py Implements instance resizing and semantic segmentation post-processing for object detectors and segmentors, respectively. Adjusts the output resolution, scales bounding boxes and keypoints, clips boxes, and converts masks. Enhances semantic segmentor predictions for various resolutions.
RestructModelings.modeling.meta_arch
File Summary
build.py Creates model architecture based on configuration.-Registers meta-architectures for model building.-Constructs model object without loading weights.-Logs API usage.-Directs model to specified device.
rcnn.py The DemoVideo.py script in the CarInspectionDamage repository generates a demo video showcasing a deep learning models performance in detecting damage in car inspection images. This script utilizes the model configurations and evaluation modules from the RestructModelings package. By running the DemoVideo.py script, users can visualize how the model processes images and accurately identifies areas of damage in cars, demonstrating the effectiveness of the underlying object detection algorithm.
panoptic_fpn.py Implements PanopticFPN combining semantic segmentation and instance predictions. Provides methods for training and inference, allowing post-processing options. Supports combining masks based on overlap and area thresholds.
dense_detector.py Implements a dense detector model with per-pixel predictions for training and inference.-Processes images through a backbone model and generates predictions using a head module.-Normalizes, pads, and batches input images for model processing.
fcos.py The DemoVideo.py file in the CarInspectionDamage repository serves as a demonstration of the computer vision models capabilities in analyzing and detecting damage in vehicle inspection videos. The code showcases the integration of the model with video processing techniques, providing a visual representation of the damage detection process. This component plays a crucial role in illustrating the practical application of the underlying machine learning algorithms within the repositorys architecture.
retinanet.py This code file, DemoVideo.py, in the CarInspectionDamage repository, serves the critical purpose of demonstrating the applications video processing capabilities related to car inspection and damage assessment. It showcases functionality to analyze and interpret video data for identifying and evaluating vehicle damages using advanced machine learning and computer vision techniques. The code provides a practical illustration of how the inspection process can be automated and enhanced using the underlying models and algorithms within the repositorys architecture.
semantic_seg.py Implements SemanticSegmentor for semantic segmentation architectures with configurable backbone and head modules.-Normalizes input images, processes features, and predicts segmentation masks.-Supports training and inference modes.
RestructModelings.modeling.proposal_generator
File Summary
build.py Defines and populates a registry for proposal generators that create object proposals from feature maps. The function build_proposal_generator selects and returns a registered generator based on configuration settings, enabling flexible object proposal creation within the architecture.
rpn.py The DemoVideo.py file in the CarInspectionDamage repository serves as a demonstration script showcasing the integration of deep learning models for car damage inspection. It provides a visual representation of the models detection and classification capabilities, highlighting its effectiveness in identifying and analyzing damages on vehicles. This code file plays a crucial role in illustrating the practical application of the underlying technology within the repositorys architecture.
rrpn.py Implements a Rotated Region Proposal Network for object detection, selecting top proposals, applying NMS, and handling box clipping. Inherits from RPN. Exposes methods to label and sample anchors, predict proposals, and find top scoring RRPN proposals.
proposal_utils.py Enables selecting top RPN proposals, applying NMS, and filtering small boxes. Integrates ground-truth data into proposals for each image, enhancing objectness scores. Improves model accuracy by efficiently processing object proposals during training.
RestructModelings.modeling.roi_heads
File Summary
mask_head.py Defines mask prediction loss and inference for instance segmentation, registering various mask heads in the Mask R-CNN architecture. The code calculates mask prediction accuracy, handles loss computation, and predicts masks with adjustable weights and visualization periods based on input features.
fast_rcnn.py The DemoVideo.py file in the CarInspectionDamage repository is a script that demonstrates the visual processing capabilities of the repositorys inspection and damage assessment system. It showcases the integration of various modules from the RestructModelings and RestructYolo directories to analyze and interpret video data for inspection purposes. This code file plays a vital role in illustrating the video processing functionalities available in the broader architecture of the car inspection and damage assessment system.
box_head.py Defines a configurable box prediction head for per-region features in an open-source repository. The head comprises convolutional and fully connected layers with customizable dimensions and normalization. The Registry facilitates dynamic head selection based on configurations.
keypoint_head.py Implements keypoint prediction logic using convolutional and deconvolutional layers. Handles training and inference for Mask R-CNN with configurable loss functions and weightings. Subclassing nn.Sequential for torchscript support.
rotated_fast_rcnn.py Enables fast Rotated Fast R-CNN inference by processing rotated box detections, applying score thresholds, and non-maximum suppression. Supports per-image and batch operations. Aids in detecting rotated boxes with improved accuracy and efficiency.
cascade_rcnn.py Implements Cascade R-CNN with multiple stages for region-based object detection in the parent repositorys architecture. Operates box head predictions on cascaded proposals, leveraging varying IoU thresholds for matching and classification to improve detection accuracy.
roi_heads.py The DemoVideo.py file in the CarInspectionDamage repository is a critical piece of code that showcases a demonstration video highlighting the functionality of the damage inspection system. It provides a visual representation of how the system processes and analyzes car inspection data, offering a clear overview of the solutions capabilities. This code file serves as a valuable tool for stakeholders to understand the applications features and potential use cases without delving into technical specifics.
RestructModelings.modeling.backbone
File Summary
build.py Registers and builds backbones for feature extraction in images based on specific configurations. The built backbone instance is returned for further processing.
fpn.py Defines the FPN backbone architecture, creating pyramid features from input feature maps. Implements feature fusion using sum or average methods. Handles downsampling with configurable padding constraints.
regnet.py The Detect.py file within the RestructYolo directory of the CarInspectionDamage repository is a critical component responsible for detecting objects in images using YOLO (You Only Look Once) architecture. This code file enables the identification of objects within images, contributing to the overall functionality of the repositorys vehicle damage inspection system.
swin.py Car Inspection Damage-DemoVideo.pyThis code file DemoVideo.py in the CarInspectionDamage repository is crucial for the demo video functionality. It plays a key role in showcasing the car inspection damage detection system in action. The file enables the generation of interactive videos that illustrate the effectiveness of the damage detection algorithms implemented in the project. By utilizing this code, users can visually witness the detection and analysis capabilities of the system, providing a comprehensive view of how the technology functions in real-world scenarios.
backbone.py Defines an abstract class that serves as the foundation for network backbones in the project. It enforces the implementation of a forward method and provides properties for input size divisibility and padding constraints, aiding in structure consistency and functionality across models.
vit.py The Detect.py file in the RestructYolo directory of the CarInspectionDamage repository is a key component responsible for detecting and classifying objects within images using a YOLO (You Only Look Once) model. This code file facilitates the identification of various elements in vehicle inspection images, enhancing the overall efficiency of the damage assessment process. Its integration within the repositorys architecture underscores a commitment to accurate and automated inspection procedures, aligning with the projects aim of streamlining assessment tasks for vehicle inspections.
resnet.py Car Inspection Damage ModelThe DemoVideo.py script in the CarInspectionDamage repository provides a demonstration video showcasing the functionality and effectiveness of the damage detection model. This video serves as a visual representation of the models capabilities in identifying and analyzing car damages, which is essential for showcasing the project's potential in real-world applications.
utils.py Partitions and unpartitions image tokens into windows, adds relative positional embeddings, calculates abs pos embeddings, and converts images to patch embeddings for improved processing in the models backbone architecture.
mvit.py CarInspectionDamage/DemoVideo.py**The DemoVideo.py script within the CarInspectionDamage repository facilitates the demonstration of damage inspection capabilities for vehicles using computer vision technology. It leverages a structured model architecture and YOLO-based object detection to analyze and identify damages in vehicle images or videos. The script provides end-to-end functionality to process input media, detect damage instances, and visualize the results, contributing to efficient and accurate vehicle inspection processes.
RestructModelings.configs
File Summary
Base-RetinaNet.yaml Defines RetinaNet model architecture configurations for object detection. Specifies backbone, anchor generator, FPN settings, dataset splits, solver parameters, and input size variations. Centralizes metadata, structure, hyperparameters, and training specifics for the model.
Base-RCNN-FPN.yaml Modular design, customizable input sizes, and configuration for training and testing datasets.
Base-RCNN-C4.yaml Defines configuration settings for a GeneralizedRCNN model with Res5ROIHeads. Specifies training and testing datasets, batch size, base learning rate, iteration steps, and input image sizes.
Base-RCNN-DilatedC5.yaml Defines configuration for a Generalized RCNN model with specific features for object detection and segmentation tasks. Specific settings for the model architecture, datasets, solver parameters, and input sizes are specified.
RestructModelings.configs.Misc
File Summary
scratch_mask_rcnn_R_50_FPN_9x_syncbn.yaml Defines custom training configurations for the Mask R-CNN model, enabling advanced hyperparameters adjustment like batch size and learning rate schedule for efficient model optimization. Aimed at enhancing model performance, especially in computer vision tasks.
mask_rcnn_R_50_FPN_3x_dconv_c3-c5.yaml Defines configuration for a Mask R-CNN model with ResNet-50 backbone, deformable convolutions, and pretrained weights. Specifies solver settings for training iterations. Improves object detection performance, supports instance segmentation, and optimizes model training.
semantic_R_50_FPN_1x.yaml Defines the architecture and dataset configurations for semantic segmentation using a pretrained model. Assigns dataset sources and input size variations.
scratch_mask_rcnn_R_50_FPN_3x_gn.yaml Specifies configuration for training Mask R-CNN with ResNet-50 backbone, including weight initialization and backbone freezing settings. Aids in training object detection models from scratch.
panoptic_fpn_R_101_dconv_cascade_gn_3x.yaml Defines a high-performance PanopticFPN model for image segmentation. Utilizes GroupNorm in the backbone for semantic segmentation support. Employs Cascade and Deformable Convolutions for precise object localization. Includes configurable training parameters for optimal model training.
scratch_mask_rcnn_R_50_FPN_9x_gn.yaml Defines custom training settings for Mask R-CNN model, extending base configuration. Adjusts image batch size, training steps, learning rate for 9x schedule. Enables instance segmentation, and references a paper for further details on training from scratch.
mask_rcnn_R_50_FPN_3x_gn.yaml Defines a custom Mask R-CNN model configuration based on a pre-trained ResNet-50 backbone with Group Normalization. Specifies settings for the model architecture, weights, optimization solver, and training schedule.
mmdet_mask_rcnn_R_50_FPN_1x.py Defines a configuration for training an mmdetection model using Detectron2. Specifies model components, training settings, and image processing details, for seamless integration into the projects architecture.
mask_rcnn_R_50_FPN_1x_dconv_c3-c5.yaml Defines model configuration for Mask R-CNN with a modified ResNet-50 backbone pre-trained on ImageNet. Utilizes deformable convolutions on specific ResNet stages for improved object detection performance.
cascade_mask_rcnn_R_50_FPN_1x.yaml Specifies configuration for a Cascade Mask R-CNN with ResNet-50 backbone and ImageNet pre-trained weights. Controls mask output, ROI heads, and RPN parameters for object detection. Inherits from Base-RCNN-FPN.yaml for base settings.
cascade_mask_rcnn_X_152_32x8d_FPN_IN5k_gn_dconv.yaml Defines configuration settings for a Cascade Mask R-CNN model, specifying model architecture, training parameters, and input configurations. Enables mask generation, bounding box regression, and region proposals for object detection. Maximize model accuracy by setting batch size, learning rate, and evaluation frequency.
mask_rcnn_R_50_FPN_1x_cls_agnostic.yaml Defines Mask R-CNN model configuration for object detection with class-agnostic mask prediction. Inherits from base FPN configuration and uses ResNet-50 backbone. Includes weights pretrained on ImageNet and settings for bounding box and mask prediction.
cascade_mask_rcnn_R_50_FPN_3x.yaml Defines a custom Cascade Mask R-CNN model configuration for the parent repository, adjusting key parameters like model weights, feature depths, and training steps for improved object detection and instance segmentation performance.
torchvision_imagenet_R_50.py Defines and configures a training pipeline for an ImageNet classifier using detectron2. Incorporates an efficient data loader, ResNet model, and evaluation metrics. Demonstrates how to leverage detectron2 for custom tasks with reusable components.
mask_rcnn_R_50_FPN_3x_syncbn.yaml Defines mask-RCNN model configurations with SyncBN normalization, ImageNet pretrained weights, and FastRCNN head. Prescribes training settings, including 3x schedule and precise BN. Inherits from Base-RCNN-FPN.yaml. Designed for object detection tasks with improved performance.
RestructModelings.configs.COCO-Keypoints
File Summary
keypoint_rcnn_X_101_32x8d_FPN_3x.yaml Defines keypoint detection model config for COCO dataset. Inherits base config, sets model weights, pixel std, ResNet params. Specifies solver steps and max iterations for training.
keypoint_rcnn_R_50_FPN_1x.yaml Defines keypoint RCNN models configuration with base template referencing ImageNet pretrained weights and ResNet-50 backbone depth for the CarInspectionDamage repository.
keypoint_rcnn_R_50_FPN_1x.py Implements training configurations for COCO keypoint detection using a predefined model and optimizer. Freezes layers in backbone for feature extraction and initializes training checkpoint with a pretrained model.
keypoint_rcnn_R_50_FPN_3x.yaml Defines keypoint detection model settings, including base configuration, pretrained weights, ResNet depth, training steps, and maximum iterations. Supports the parent repositorys architecture for implementing COCO keypoint detection using the R-50 FPN model.
Base-Keypoint-RCNN-FPN.yaml Defines keypoint detection model configurations, inheriting from a base model. Enables keypoint prediction during object detection training with specific dataset sources for training and testing. Fine-tunes parameters for optimal performance, enhancing keypoint accuracy.
keypoint_rcnn_R_101_FPN_3x.yaml Defines training configurations for a Keypoint RCNN model in the car inspection system. Specifies model base, weights, ResNet depth, solver steps, and maximum iterations to optimize performance.
RestructModelings.configs.PascalVOC-Detection
File Summary
faster_rcnn_R_50_FPN.yaml Defines Faster R-CNN model settings for Pascal VOC detection with ImageNet-pretrained weights and specific dataset configurations, including input sizes, classes, and training steps. An extension of the base configuration with modified parameters for improved object detection accuracy.
faster_rcnn_R_50_C4.yaml Defines Faster R-CNN object detection model configurations for Pascal VOC dataset, specifying model settings, input sizes, datasets, and training parameters. Configures ResNet-50 backbone, 20 object classes, and training iterations.
RestructModelings.configs.Detectron1-Comparisons
File Summary
mask_rcnn_R_50_FPN_noaug_1x.yaml Implements configuration for a model comparison, setting model weights and parameters for a specific instance segmentation task. Extends a base configuration file with modifications to achieve desired behavior.
keypoint_rcnn_R_50_FPN_1x.yaml Specifies keypoint detection model configurations, referencing base settings. Defines model architecture, including ResNet depth, loss functions, and dataset setup for training and testing keypoints on COCO datasets.
faster_rcnn_R_50_FPN_noaug_1x.yaml Defines configuration for a model in the Detectron1-Comparisons folder. Specifies model weights, architecture, loss functions, and input settings for use within the repositorys object detection and instance segmentation tasks.
RestructModelings.configs.COCO-Detection
File Summary
faster_rcnn_X_101_32x8d_FPN_3x.yaml Defines a fast object detection model configuration for COCO dataset. This file specifies model architecture settings, pre-trained weights, and training parameters required to train a Faster R-CNN X-101 model with FPN backbone on the COCO dataset.
rpn_R_50_C4_1x.yaml Defines configuration settings for the COCO detection model using the RPN R-50 C4 architecture. Specifies meta-architecture, pretrained weights, ResNets depth, and RPN parameters for proposal classification.
rpn_R_50_FPN_1x.yaml Defines RPN model configuration for a Proposal Network with ResNet-50 backbone. Inherits base settings from Base-RCNN-FPN.yaml and specifies key model attributes.
faster_rcnn_R_101_C4_3x.yaml Defines COCO Detection models configuration for the Faster R-CNN R-101 C4 backbone, specifying model weights, ResNet depth, solver steps, and max iterations in the faster_rcnn_R_101_C4_3x.yaml file within the repositorys RestructModelings directory.
retinanet_R_101_FPN_3x.yaml Defines RetinaNet model config for COCO detection, inherits base config, loads pre-trained weights, uses ResNet-101 backbone, sets training steps and max iterations. Supporting efficient object detection in the parent repositorys architecture.
faster_rcnn_R_101_FPN_3x.yaml Specifies model configuration for Faster R-CNN with ResNet-101 backbone, ImageNet pre-trained weights, and COCO detection. Defines solver parameters for training iterations and steps. Facilitates efficient object detection for the Car Inspection Damage repositorys ML models.
fcos_R_50_FPN_1x.py Implements configuration settings for the FCOS model in the COCO Detection task, adjusting optimizer, learning rate, model backbone, and initialization.
faster_rcnn_R_50_DC5_3x.yaml Defines the configuration for a Faster R-CNN model for object detection in the COCO dataset. Specifies model weights, ResNet depth, solver steps, and maximum iterations. Extends base settings from another YAML file.
faster_rcnn_R_50_DC5_1x.yaml Defines configuration for a Faster R-CNN model in the COCO Detection category, specifying model base, pre-trained weights, and ResNet depth settings.
faster_rcnn_R_50_C4_1x.yaml Defines configuration for a Faster R-CNN model with ResNet-50 backbone for object detection in COCO dataset. Configures model weights, mask settings, and ResNet depth for efficient training.
faster_rcnn_R_50_C4_3x.yaml Defines configurations for a Faster R-CNN model in the COCO Detection category. Specifies model base, weights, mask status, ResNet depth, solver steps, and maximum iterations. Enhances model training and performance in object detection tasks.
fast_rcnn_R_50_FPN_1x.yaml Defines model configurations for COCO object detection using a pre-trained R-50 FPN network. Specifies dataset sources, proposal settings, and data loading parameters for training and testing phases. Organized under the repositorys modeling configurations.
faster_rcnn_R_50_FPN_1x.yaml Defines a configuration file for object detection model architecture based on the Faster R-CNN framework for the COCO dataset. Configures model settings, including loading pre-trained weights and defining the ResNet backbone with specific depth.
retinanet_R_50_FPN_1x.py Sets optimizer, learning rate, data loader settings, backbone freezing level, and initial checkpoint for training.
faster_rcnn_R_50_FPN_3x.yaml Specifies configuration settings for a Faster R-CNN object detection model trained on COCO dataset. Sets base model, weights, and solver parameters, defining model architecture and training specifications.
retinanet_R_50_FPN_3x.yaml Defines RetinaNets configuration for COCO object detection, including model weights, ResNet depth, and solver settings. Inherits base settings from a separate file.
faster_rcnn_R_101_DC5_3x.yaml Orchestrates Faster R-CNN model training process for COCO object detection. Configures model base, backbone, training weight initialization, solver steps, and total iterations.
retinanet_R_50_FPN_1x.yaml Defines RetinaNet architecture for COCO object detection based on ResNet-50 backbone. Inherits from a base configuration file and specifies pre-trained weights for initialization.
RestructModelings.configs.common
File Summary
coco_schedule.py Defines LR multipliers for various training speeds based on COCO epochs. Implements a default LR scheduler for training iterations, adjusting LR values at specified milestones. The WarmupParamScheduler allows gradual LR warmup before training starts.
train.py Defines common training configurations for a tool, enabling custom training adjustments. Configurations include output path, iteration limit, distributed training options, and more. Facilitates training customization for improved model development.
optim.py Defines custom optimizer configurations for training neural networks in a hierarchical structure, facilitating easy parameter customization for SGD and AdamW optimizers within the repository.
RestructModelings.configs.common.models
File Summary
panoptic_fpn.py Defines Panoptic FPN configuration settings for the parent repositorys modeling architecture. Configures a semantic segmentation FPN head and model parameters for multi-scale feature maps.
keypoint_rcnn_fpn.py Defines keypoint RCNN FPN model configurations, enhancing detectron2s mask RCNN FPN model. Customizes keypoint features, pooler, and head. Adjusts proposal count and smooth L1 loss beta for improved performance.
mask_rcnn_vitdet.py Defines ViT-based Mask R-CNN model configuration, customizing backbone and heads for object detection and instance segmentation tasks. Employs Simple Feature Pyramid integration with ViT backbone, specifying various architecture hyperparameters for training and inference.
fcos.py Enhances FCOS with customized configurations-Sets new thresholds for scoring and non-maximum suppression-Adapts backbone to use P5 for P6/P7 calculation-Modifies model head properties for FCOSHead
mask_rcnn_c4.py Defines a Mask R-CNN model configuration utilizing Detectron2 library components for object detection and instance segmentation tasks within the CarInspectionDamage repository.
retinanet.py Defines RetinaNet model architecture with FPN backbone and anchor generation for object detection. Specifies input features, number of classes, anchor sizes, and box transformation. Configures loss function parameters and image normalization constants.
cascade_rcnn.py Defines a custom Cascade R-CNN model architecture by updating the ROI heads with multiple box heads and predictors for enhanced object detection. Tailored proposal matchers and configurations optimize model performance within the parent repositorys ecosystem.
mask_rcnn_fpn.py Defines configuration for a Mask R-CNN model in the repositorys object detection architecture. Specifies model components like backbone, proposal generator, ROI heads, and pixel normalization details. Enhances image segmentation capabilities for various tasks.
RestructModelings.configs.COCO-PanopticSegmentation
File Summary
panoptic_fpn_R_101_3x.yaml Specifies model architecture, weights, and training settings for COCO Panoptic Segmentation in the Panoptic FPN R-101-3x configuration.
panoptic_fpn_R_50_1x.py Implements training configurations for Panoptic FPN model on COCO dataset. Freezes backbone at specified layer, initializes training checkpoint with pretrained weights.
Base-Panoptic-FPN.yaml Defines Panoptic FPN model configuration for COCO dataset training with specified meta-architecture, dataset names, and loader settings in the Car Inspection Damage repository.
panoptic_fpn_R_50_1x.yaml Defines a configuration file for a Panoptic FPN model within the COCO-PanopticSegmentation task. Specifies model details like base configuration, weights source, and ResNet depth. Supports model reproducibility and consistency across the repositorys machine learning projects.
panoptic_fpn_R_50_3x.yaml Specifies model architecture, inherits base settings, loads pretrained weights for panoptic segmentation, sets ResNet depth to 50, defines solver steps and maximum iterations for training the model in the COCO Panoptic Segmentation configuration.
RestructModelings.configs.LVISv1-InstanceSegmentation
File Summary
mask_rcnn_R_101_FPN_1x.yaml Specifies LVISv1 instance segmentation model config, with a ResNet-101 backbone and FPN, trained on LVIS dataset. Settings include input sizes, dataset splits, detection limits, training steps, and data loading parameters.
mask_rcnn_R_50_FPN_1x.yaml Defines LVISv1 Model configuration for Instance Segmentation in the repositorys architecture. Specifies model weights, input sizes, dataset splits, and training parameters. Supports LVIS dataset with 1203 classes and custom adjustments for training efficiency.
mask_rcnn_X_101_32x8d_FPN_1x.yaml Defines LVIS instance segmentation model config with X-101 backbone, ImageNet pretraining, and LVIS dataset settings for training and inference. Fine-tunes backbone, sets detection thresholds, and defines training iterations with LVIS constraints.
RestructModelings.configs.LVISv0.5-InstanceSegmentation
File Summary
mask_rcnn_R_101_FPN_1x.yaml Defines LVISv0.5-InstanceSegmentation config extending Base-RCNN-FPN. Specifies model weights, input sizes, dataset splits, and test settings for training and evaluating instance segmentation models.
mask_rcnn_R_50_FPN_1x.yaml Specifies LVISv0.5 Instance Segmentation model settings, inheriting from Base-RCNN-FPN.yaml. Configures model architecture, dataset details, and input settings for training and testing with defined thresholds and samplers.
mask_rcnn_X_101_32x8d_FPN_1x.yaml Defines LVISv0.5 Instance Segmentation model config, including X-101 backbone, ImageNet-pretrained weights, and LVIS dataset setup for training and testing. Configures input sizes, detection thresholds, and data loading settings for the model.
RestructModelings.configs.quick_schedules
File Summary
keypoint_rcnn_R_50_FPN_inference_acc_test.yaml Defines keypoint RCNN model inference config for the parent repositorys architecture. Specifies model base, weights, datasets, and expected test results. Enhances model performance in detecting keypoints on the COCO datasets validation split.
mask_rcnn_R_50_FPN_training_acc_test.yaml Defines training configurations for Mask R-CNN model using COCO dataset. Specifies model weights, input sizes, dataset splits, solver settings, and expected results. Inherits from a base configuration file for the FPN architecture.
mask_rcnn_R_50_C4_training_acc_test.yaml Defines training configurations for Mask R-CNN R-50-C4 model, specifying datasets, input sizes, and solver settings. References base config, ImageNet weights, and expected test results. Fine-tunes key parameters for improved object detection performance during training and evaluation.
cascade_mask_rcnn_R_50_FPN_inference_acc_test.yaml Defines the configuration for the Cascade Mask R-CNN model for inference accuracy testing using pre-trained weights. Includes settings for datasets and expected results to evaluate the models performance.
mask_rcnn_R_50_C4_GCV_instant_test.yaml Defines training settings for Mask R-CNN model integrating a C4 backbone with instant test capabilities and ImageNet pre-trained weights. Configures data sources, optimization with gradient clipping, and batch processing.
mask_rcnn_R_50_C4_instant_test.yaml Defines a quick training schedule for the Mask R-CNN R-50-C4 model, leveraging an ImageNet pretrained weight. Configures data loading, solver parameters, and dataset usage for quick model evaluation on the COCO dataset subset.
mask_rcnn_R_50_FPN_instant_test.yaml Defines a configuration for training Mask R-CNN model with specific settings for datasets, solver parameters, and data loading. Inherits base settings from a predefined configuration file to streamline model training in the car inspection project.
panoptic_fpn_R_50_instant_test.yaml Defines configuration for Panoptic FPN model including meta-architecture, pre-trained weights, dataset settings, and training details for the parent repositorys architecture.
retinanet_R_50_FPN_inference_acc_test.yaml Defines configurations for RetinaNet model inference accuracy testing, leveraging a base model and weights from COCO dataset. Specifies test datasets and expected results for bounding box average precision.
mask_rcnn_R_50_DC5_inference_acc_test.yaml Defines inference settings for Mask R-CNN implementation with pre-trained weights, dataset configurations, and expected evaluation results. This file specifies the model, weights, test datasets, and evaluation metrics for accurate instance segmentation predictions.
retinanet_R_50_FPN_instant_test.yaml Sets base model, loads pretrained weights, specifies training and testing datasets, defines solver settings, and configures data loading.
mask_rcnn_R_50_FPN_pred_boxes_training_acc_test.yaml Defines configuration for training mask RCNN with R_50 FPN model using predicted boxes. Specifies expected test results for both bounding box and segmentation average precision.
panoptic_fpn_R_50_training_acc_test.yaml Defines training configuration for Panoptic FPN model using a predefined base setup. Specifies architecture, datasets, training parameters, and expected test results for a specific model variant.
rpn_R_50_FPN_instant_test.yaml Defines a quick training schedule for an object detection model using pre-trained weights, limited iterations, and specific dataset splits. Configures training hyperparameters such as learning rate, batch size, and number of worker processes for data loading.
semantic_R_50_FPN_training_acc_test.yaml Defines a semantic segmentation model training configuration based on a pre-trained ResNet-50 backbone. Specifies datasets, solver settings, and expected evaluation metrics. Part of the parent repositorys architecture for training semantic segmentation models.
keypoint_rcnn_R_50_FPN_normalized_training_acc_test.yaml Defines configuration settings for training a keypoint detection model, specifying model architecture, dataset details, input sizes, optimization parameters, and expected test results. Extends a base configuration to customize keypoint-specific elements crucial for achieving high accuracy in detecting keypoints in images.
panoptic_fpn_R_50_inference_acc_test.yaml Defines configuration for Panoptic FPN model evaluation. Specifies dataset, model weights, and expected results using the COCO Panoptic Segmentation dataset.
cascade_mask_rcnn_R_50_FPN_instant_test.yaml Defines quick training schedule for cascade Mask R-CNN on COCO dataset. Sets LR, steps, max iterations, and batch size. Configures data loading with specified number of workers. Subsidiary of PyTorch-based CarInspectionDamage repos modeling architecture.
fast_rcnn_R_50_FPN_inference_acc_test.yaml Defines fast R-CNN model configurations and performance expectations for COCO detection. References base configuration and weights, test dataset, and expected results for average precision.
semantic_R_50_FPN_inference_acc_test.yaml Defines semantic segmentation model config inheriting from a base, specifying dataset and test details. Achieves accurate semantic segmentation results with expected performance metrics for validation.
rpn_R_50_FPN_inference_acc_test.yaml Defines inference settings for RPN on an FPN backbone, leveraging pre-trained weights for COCO object detection. Specifies the dataset, evaluation metrics, and expected results for model testing.
keypoint_rcnn_R_50_FPN_instant_test.yaml Defines keypoint detection training configuration for the model using a predefined base file and ImageNet pre-trained weights. Specifies dataset, solver parameters, and data loader settings for efficient training.
keypoint_rcnn_R_50_FPN_training_acc_test.yaml Defines training configurations for keypoint detection using R-50 ReNet model. Customizes settings for keypoint ROI heads and RPN. Sets warmup, steps, and max iterations for solver. Specifies expected test results for bounding boxes and keypoints.
mask_rcnn_R_50_C4_inference_acc_test.yaml Defines quick evaluation settings for the mask R-CNN model. Specifies model weights, test datasets, and expected results for instance segmentation accuracy validation. Supports fast model assessment during development.
semantic_R_50_FPN_instant_test.yaml Defines schedule configs for semantic segmentation task, leveraging a pre-trained ResNet-50 model on the COCO dataset. Specifies image input sizes, training data, LR, batch size, and worker count. Incorporated within a larger project for efficient model evaluation.
mask_rcnn_R_50_FPN_inference_acc_test.yaml Specifies configuration for Mask R-CNN model, defining dataset and augmentation settings for accuracy testing. Inherits base settings, weights, expected results, and image sizes. Facilitates efficient model evaluation.
fast_rcnn_R_50_FPN_instant_test.yaml Defines a fast Region-based Convolutional Neural Network (R-CNN) model configuration for instant testing in the parent repository. Specifies dataset info, pre-trained weights, training settings, and data loading parameters.
RestructModelings.configs.Cityscapes
File Summary
mask_rcnn_R_50_FPN.yaml Specifies configuration settings for the Cityscapes dataset within the Mask R-CNN model variant. Defines model weights, input sizes, dataset splits, training parameters, and evaluation intervals. These settings are crucial for training instance segmentation models on the Cityscapes dataset.
RestructModelings.configs.new_baselines
File Summary
mask_rcnn_R_101_FPN_200ep_LSJ.py Implements training configuration adjustments for the Mask R-CNN R-101 FPN model, extending training to 200 epochs by modifying iteration count and learning rate scheduler milestones accordingly.
mask_rcnn_R_50_FPN_50ep_LSJ.py Refactors training settings for a specific Mask R-CNN model by halving the number of epochs and adjusting learning rate milestones accordingly. Enhances training efficiency within the larger repository architecture.
mask_rcnn_regnetx_4gf_dds_FPN_100ep_LSJ.py Defines architecture for RegNet-based Mask R-CNN model with specific configurations for backbone features and pixel standardization. Enables cudnn benchmark mode for optimization. References repository structure for context.
mask_rcnn_regnetx_4gf_dds_FPN_400ep_LSJ.py Enhances training duration for Mask R-CNN RegNetX model by quadrupling epochs and updating learning rate scheduler accordingly.
mask_rcnn_regnety_4gf_dds_FPN_400ep_LSJ.py Enhances training duration from 100 to 400 epochs for the Mask R-CNN RegNetY-4GF DDS FPN model. Adjusts learning rate scheduler milestones and total updates accordingly.
mask_rcnn_R_50_FPN_200ep_LSJ.py Increases training iterations for the Mask R-CNN model from 100 to 200 epochs by adjusting learning rate schedules and model parameters. Facilitates improved model convergence and performance in object detection tasks within the repository architecture.
mask_rcnn_regnety_4gf_dds_FPN_100ep_LSJ.py Defines custom RegNet backbone and training configurations for a Mask R-CNN model. Modifies backbone architecture for improved performance, specifies pixel standard deviations, and enables optimized training mode.
mask_rcnn_R_50_FPN_100ep_LSJ.py Configures Mask R-CNN model training with SyncBN, data augmentation, batch size, learning rate scheduler, optimizer settings, and epoch equivalence in an open-source project focused on computer vision.
mask_rcnn_regnety_4gf_dds_FPN_200ep_LSJ.py Enhances training duration for Mask R-CNN model, doubling epochs to 200. Adjusts learning rate scheduler accordingly. Contributes to model optimization in the ML pipeline.
mask_rcnn_R_50_FPN_400ep_LSJ.py Implements training adjustments in mask_rcnn_R_50_FPN_400ep_LSJ.py by scaling iterations and scheduler milestones to extend model training from 100 to 400 epochs for improved performance in the parent repository's neural network architecture.
mask_rcnn_R_101_FPN_400ep_LSJ.py Enhances training by extending epochs and adapting learning rate milestones accordingly. Amplifies models capacity from 100 to 400 epochs, adjusting scheduler milestones for optimised training efficiency.
mask_rcnn_R_101_FPN_100ep_LSJ.py Defines a new Mask R-CNN baseline by adjusting the depth of the backbone network to 101. Key features include data loading, model training, and optimization configurations.
mask_rcnn_regnetx_4gf_dds_FPN_200ep_LSJ.py Enhances mask R-CNN training duration to 200 epochs by doubling the iterations and adjusting learning rate milestones accordingly.
RestructModelings.configs.COCO-InstanceSegmentation
File Summary
mask_rcnn_regnetx_4gf_dds_fpn_1x.py Defines RegNetX-4GF model configuration for COCO Instance Segmentation. Replaces ResNet with RegNet backbone. Customizes stem, blocks, and features. Sets weight decay, initialization checkpoint, and enables cudnn benchmark mode for optimal performance.
mask_rcnn_regnety_4gf_dds_fpn_1x.py Defines RegNetY-4GF for COCO instance segmentation. Configures backbone and optimizer parameters. Sets pixel standard deviation and initializes checkpoint. Maximizes RegNet performance with cudnn benchmark mode.
mask_rcnn_R_50_FPN_1x.py Improve training for COCO instance segmentation by adjusting model backbone and initializing checkpoint for transfer learning.
mask_rcnn_R_101_FPN_3x.yaml Defines model configurations for COCO Instance Segmentation with ResNet-101 backbone. Specifies pretrained weights, enables mask prediction, and sets training scheduler parameters. Extends base configuration from Base-RCNN-FPN.yaml for improved model performance.
mask_rcnn_R_50_FPN_1x_giou.yaml Defines configuration for a Mask R-CNN model for COCO Instance Segmentation. Specifies model architecture, weights source, and loss functions to optimize bounding box regression. Contributes to modular and scalable model development in the repository.
mask_rcnn_R_50_FPN_1x.yaml Defines COCO Instance Segmentation configuration by inheriting from base settings, specifying model weights, enabling mask output, and configuring ResNet depth. Extends detectron2 framework for efficient instance segmentation on images for diverse applications.
mask_rcnn_R_50_FPN_3x.yaml Defines model configuration for Mask R-CNN variant in COCO instance segmentation, referencing base settings, pre-trained weights, ResNet depth, and training parameters.
mask_rcnn_R_50_C4_1x.py Defines training configuration for COCO Instance Segmentation using Mask R-CNN with ResNet-50 backbone, frozen at stage 2, and initialized with a pre-trained checkpoint from MSRA.
mask_rcnn_R_101_C4_3x.yaml Implements configurations for COCO instance segmentation using Mask R-CNN with a ResNet-101 backbone, ImageNet pre-trained weights, mask output enabled, and custom solver settings defining training steps and max iterations.
mask_rcnn_R_50_C4_3x.yaml Defines Mask R-CNN model configuration for COCO instance segmentation, inheriting from a base config. Specifies model weights, resnet depth, and solver settings for training.
mask_rcnn_R_50_C4_1x.yaml Defines COCO Instance Segmentation model config for Detectron2. Specifies model base, weights source, and ResNet depth. Facilitates customization and training for image segmentation tasks in the CarInspectionDamage project.
mask_rcnn_X_101_32x8d_FPN_3x.yaml Defines model configurations for COCO Instance Segmentation including X-101 architecture, FPN base, mask activation, and ImageNet pretrained weights. Sets solver details with steps and maximum iterations. Collaborates with base configuration file.
mask_rcnn_R_50_DC5_3x.yaml Defines configuration for instance segmentation model based on R-50 architecture, using DilatedC5 backbone. Specifies model weights, enables mask prediction, sets ResNet depth to 50. Solves with steps at iterations 210k and 250k, maximum iteration at 270k.
mask_rcnn_R_50_DC5_1x.yaml Defines configuration for an instance segmentation model, inheriting from a base design. Specifies model weights and architecture settings for ResNet-50, enabling mask prediction. Centralizes reusable settings for seamless model tuning and deployment.
mask_rcnn_R_101_DC5_3x.yaml Configures a Mask R-CNN model for COCO Instance Segmentation with a ResNet-101 backbone pretrained on ImageNet. Sets solver steps and max iterations for optimal training, building on a base configuration.
RestructModelings.evaluation
File Summary
fast_eval_api.py Optimize COCO evaluation with C++ for accelerated per-image analysis. Enhance instance annotation conversion and evaluation using a modified version of the COCO API. Improve evaluation speed by leveraging C++ implementation.
panoptic_evaluation.py Defines COCOPanopticEvaluator to evaluate Panoptic Quality metrics on COCO using PanopticAPI. Processes and evaluates panoptic segmentation predictions with logging capabilities.
cityscapes_evaluation.py Processes segmentation results for instances and semantic labels, evaluating with cityscapes API. Manages temporary directories and synchronization for evaluations, ensuring single process execution.
coco_evaluation.py Car Inspection Damage Repository SummaryThe RestructYolo directory in the Car Inspection Damage repository contains code for object detection using YOLO (You Only Look Once) model. It includes scripts for training, detecting, exporting models, and evaluating model performance. The main focus is on classifying and localizing damages in car inspection images for efficient assessment.
sem_seg_evaluation.py Evaluates semantic segmentation metrics such as mIoU and mACC.-Converts results to COCO format.-Handles distributed evaluation.-Includes boundary IoU calculation if OpenCV is available.-Logs results and saves evaluation output.
pascal_voc_evaluation.py Evaluates Pascal VOC style AP for datasets, synchronizing across all ranks to gather predictions. Temporarily stores results and calculates mAP and AP values per class, following official Pascal VOC evaluation methodology.
lvis_evaluation.py Car Inspection Damage-Image Detection and ClassificationThis code file, DemoVideo.py, serves as a demonstration of the image detection and classification capabilities implemented in the Car Inspection Damage project. It showcases the process of analyzing video footage to detect and classify damage in vehicles using advanced image recognition techniques. The file provides a high-level overview of how the underlying model identifies and categorizes different types of damage, contributing to the overall goal of automating the inspection process for vehicle assessments.
testing.py Generates CSV-style metrics for easy tracking and validation. Flatten hierarchical metric dictionaries into a flat structure for better readability and verification.
evaluator.py Defines evaluation logic for multiple dataset evaluators, including reset, processing inputs/outputs, and generating results. Provides functionality to run model inferences on a dataset, benchmark performance, and evaluate metrics. Ensures models are evaluated accurately.
rotated_coco_evaluation.py Implements COCO evaluation for rotated bounding boxes. Converts box formats, computes IoU, and evaluates model predictions. Handles COCO-like metrics with angle support, JSON results processing, and metrics derivation for bbox tasks.
RestructModelings.tracking
File Summary
bbox_iou_tracker.py Implements a Bounding Box IOU Tracker for assigning IDs based on bbox IoU between current and previous instances. Handles tracking thresholds, lost frames, dimensions, and new ID assignments, merging, and matches.
vanilla_hungarian_bbox_iou_tracker.py Implements a Hungarian algorithm-based tracker for object tracking using bounding box intersection over union (IOU) as a metric. Computes cost matrix for assignment problem, filtering pairs based on IOU threshold.
hungarian_tracker.py Implements a Hungarian tracking algorithm for object instances in videos. Handles tracking, matching, and initialization of IDs based on visual information. The class ensures accurate tracking even with frame losses and instance appearances.
base_tracker.py Defines a base class for tracking in the parent repository structure. Tracks IDs based on bounding box predictions with configurable settings. Facilitates building custom tracker heads for different tracking scenarios.
utils.py Generates pairs of predicted bounding boxes from consecutive frames based on IoU threshold. Key function in tracking module for detecting object motion.
iou_weighted_hungarian_bbox_iou_tracker.py Implements IOU-based Hungarian algorithm for bounding box tracking. Inherits from VanillaHungarianBBoxIOUTracker, utilizing IoU for cost matrix values. Allows for configurable parameters for accurate object tracking in videos.
RestructModelings.export
File Summary
c10.py The DemoVideo.py file in the CarInspectionDamage repository serves as a demonstration script showcasing the real-time detection capabilities of the inspection and damage assessment model. It enables visual validation of the models performance on video inputs, highlighting its effectiveness in identifying and analyzing car damages. This component plays a crucial role in illustrating the practical application of the underlying deep learning algorithms developed within the repositorys architecture.
caffe2_export.py Exports a model from PyTorch to ONNX format, then converts it to Caffe2 protobuf for Detectron2. Implements optimizations and runs the model for shape analysis and graph visualization.
flatten.py Defines Schema classes to flatten and reconstruct hierarchical objects for PyTorch tracing. TracingAdapter adapts model I/O to trace using tuple tensors, aiding model traceability.
caffe2_patch.py Implements a patching mechanism to modify module classes and update dependencies in a generalized RCNN model. Offers context managers for mocking inference functions in ROIHeads and its subclasses, facilitating flexible testing and integration within the repositorys architecture.
caffe2_modeling.py The Detect.py script in the RestructYolo directory of the parent repository CarInspectionDamage implements an object detection model using YOLO architecture. This script allows users to perform real-time object detection on images. It leverages the YOLO model for accurate detection and classification of objects in images. The script provides a simple interface for running detection on input images, making it a crucial component for image analysis and inspection tasks within the repositorys architecture.
shared.py The DemoVideo.py file in the CarInspectionDamage repository serves the purpose of showcasing a demo video related to car inspection and damage assessment. It plays a critical role in demonstrating the functionality and features of the underlying models and algorithms implemented in the repository, without delving into technical intricacies.
api.py Enables tracing and exporting of detectron2 models to Caffe2/ONNX/TorchScript formats.-Supports converting PyTorch models into a Caffe2-compatible version.-Facilitates deployment in different runtimes.-Simplifies exporting models with specific input/output requirements for various deployment environments.
caffe2_inference.py Implements a wrapper for a protobuf model to run Caffe2 with PyTorch-like behavior, catering to inference needs. Handles input/output formats and device compatibility seamlessly.
torchscript_patch.py Generates scriptable Instances class by patching with new features and methods to enable replacing Instances with the scripted class in a context. Additionally, patches the length function for specific modules to utilize len for tracing support.
torchscript.py Enables scripting of models using Instances class. Supports exporting models to torchscript in evaluation mode. Provides a function to dump IR for debugging purposes, including code and graph formats.
RestructModelings.engine
File Summary
hooks.py Car Inspection Damage Code SummaryThe Detect.py script in the RestructYolo directory of the repository serves the critical function of detecting and classifying damage in images of vehicles. By utilizing pre-trained models and custom training options, this script enables accurate identification and localization of various types of damage, crucial for thorough vehicle inspection processes.
train_loop.py The DemoVideo.py file in the CarInspectionDamage repository serves as a demonstration tool for showcasing the capabilities of the damage inspection model. It provides a visual representation of the models performance on car inspection tasks using video input. This feature enhances the user experience by offering a real-time view of the models detection and identification of damages on vehicles.
launch.py Enables launching multi-GPU or distributed training, spawning child processes on each machine. Handles setting up process groups, init methods, and timeouts for distributed workers. Supports connecting to a specified URL for distributed jobs.
defaults.py The DemoVideo.py script in the CarInspectionDamage repository serves the critical function of demonstrating the applications capabilities through video processing. This feature showcases the integration of advanced computer vision algorithms for real-time analysis of vehicle damage during inspections. By utilizing this script, users can visualize the efficiency and accuracy of the damage detection model in action without delving into technical intricacies.
datasets
File Summary
prepare_cocofied_lvis.py Transforms LVIS annotations to COCO format by filtering categories, ensuring compatibility for COCO AP evaluation. Maps LVIS categories to COCO IDs and modifies annotations accordingly, facilitating dataset alignment for downstream tasks.
prepare_panoptic_fpn.py Generates semantic segmentation annotations from panoptic segmentation data by mapping categories, creating labeled images for PanopticFPN, and facilitating quick dataset testing with downloadable subsets.
prepare_for_tests.sh Downloads and sets up a mini dataset for unittests & integration tests by fetching specific JSON annotations and images.
prepare_ade20k_sem_seg.py Converts ADE20K dataset annotations to a format compatible with Detectron2 by adjusting pixel values.
utils
File Summary
visualize_data.py Generates visual representations of defects in images based on COCO annotations. Identifies and displays damaged areas, aiding in inspection and analysis of car damages.
registerData.py Registers and visualizes COCO dataset instances for car images using Detectron2. Automatically loads training and validation annotations for further analysis and visualization.
util.py The DemoVideo.py file in the CarInspectionDamage repository serves as a demonstration script showcasing the usage of the underlying computer vision models for damage detection in videos. It provides a user-friendly interface for running the models on video data, contributing to the repositorys goal of enabling efficient inspection of car damages through AI technology.
RestructYolo
File Summary
requirements.txt Defines essential dependencies for YOLOv5, ensuring proper functionality with required versions for key libraries like Torch, OpenCV, and Matplotlib. Enables model training, evaluation, and deployment, promoting reliable performance and streamlined workflows.
val.py The DemoVideo.py file in the CarInspectionDamage repository is a crucial component responsible for demonstrating the applications real-time video processing capabilities. It showcases the core functionality of detecting and classifying car damage using computer vision algorithms. This file plays a significant role in highlighting the effectiveness and accuracy of the model in identifying various types of damage on vehicles, ultimately enhancing the inspection process.
export.py The DemoVideo.py file in the CarInspectionDamage repository serves the critical purpose of demonstrating the use of the damage inspection model on video data. By leveraging the functionalities provided in the repositorys RestructYolo and RestructModelings directories, this code file showcases how the model can be applied to analyze damage in videos, offering a practical visualization of the inspection process.
train.py This code file, DemoVideo.py, within the CarInspectionDamage repository, serves the critical function of demonstrating the applications real-time video processing capabilities for inspecting vehicle damage. It showcases how the underlying AI models can analyze video feeds to detect and classify damage accurately. This feature is essential for automating the inspection process, enabling swift and precise identification of vehicle issues.
hubconf.py Enables loading and creating YOLOv5 models with different sizes and pretrained configurations. Handles model initialization, device selection, and autoshaping. Supports custom models and batched inference on various input types.
detect.py The DemoVideo.py script in the CarInspectionDamage repository serves as a demonstration tool for showcasing the capabilities of the damage inspection model implemented within the projects architecture. It leverages the underlying deep learning models and processing pipelines to analyze and highlight vehicle damages in video footage, providing a visually compelling representation of the systems effectiveness in identifying and assessing car damages.
tutorial.ipynb The DemoVideo.py file in the CarInspectionDamage repository serves as a demonstration script showcasing the real-time video processing capabilities of the computer vision model. By leveraging the underlying model architecture and image processing functionalities, this script offers a seamless way to inspect and detect damages in vehicles through video analysis. The code efficiently integrates with the repositorys broader architecture, tapping into various modules for model configuration, data handling, evaluation, and other essential components to deliver a robust solution for vehicle inspection tasks.
RestructYolo.classify
File Summary
val.py Validates YOLOv5 classification models on datasets by running inference and calculating accuracy metrics. Implements model loading, dataset preparation, and inference processing. Manages device selection, metric calculation, and results display.
predict.py Runs YOLOv5 classification inference on various sources, supporting multiple model formats. Loads images, videos, directories, streams, and webcams. Displays and saves results, with options for augmentation and visualization. Updates models and handles different device configurations efficiently.
train.py The DemoVideo.py file in the CarInspectionDamage repository is designed to showcase a video demonstration of the car inspection damage detection system. It provides a visual representation of how the underlying model can accurately identify and classify different types of damage on vehicles. This feature serves to highlight the effectiveness and practical application of the projects machine learning capabilities in real-world scenarios.
RestructYolo.utils
File Summary
metrics.py The code file DemoVideo.py in the CarInspectionDamage repository is a key component that showcases the functionality of the inspection and damage assessment system for vehicles. It provides a demonstration of how the deep learning models are utilized to analyze car inspection videos, enabling identification of potential damages and issues. This code file plays a crucial role in highlighting the systems capability to automate the inspection process and improve the accuracy and efficiency of damage assessments for vehicles.
activations.py Implements various activation functions such as SiLU, Hardswish, Mish, and ACON for neural networks, enabling customizable and efficient nonlinear transformations for the YOLOv5 object detection model in the repositorys architecture.
autobatch.py Estimates optimal batch size for YOLOv5 training based on available CUDA memory. Automatically computes batch sizes and predicts actual memory usage, safeguarding against anomalies and suggesting restart if needed.
dataloaders.py The Detect.py file in the RestructYolo directory of the CarInspectionDamage repository is a critical component for object detection using YOLO (You Only Look Once) in the context of car inspection for damage assessment. This file enables the identification and localization of objects within car images, supporting the overall goal of automating the process of detecting damage during inspections.
downloads.py Facilitates downloading files from URLs or GitHub releases, ensuring integrity by checking file sizes and attempting alternative downloads. Supports Google Drive file downloads. Supports online file existence verification and management of incomplete downloads.
loss.py The DemoVideo.py file in the CarInspectionDamage repository is a critical component that showcases a demonstration video of the softwares capabilities. This file enables users to visualize the application in action, providing insight into how the software detects, analyzes, and processes images related to car inspection and damage assessment. The demo video serves as a high-level overview of the systems functionality, making it easier for stakeholders to understand the potential use cases and benefits of the software without delving into technical intricacies.
plots.py The code in DemoVideo.py within the CarInspectionDamage repository provides a demonstration of the vehicle damage inspection systems video processing capabilities. It showcases the integration of the PyTorch model for detection and classification tasks within the projects restructured modeling components. The script offers a clear illustration of the system's ability to analyze video footage, detect damage, and provide insights for inspection purposes, aligning with the repository's overarching goal of automating car inspection processes using advanced computer vision techniques.
callbacks.py Manages YOLOv5 Hooks registered callbacks for diverse training phases with features to add, list, and run callbacks on the main thread or in parallel threads, facilitating flexible extension and customization in the parent repositorys architecture.
autoanchor.py Optimize anchor fitting in YOLOv5 by dynamically adjusting anchor order and sizes according to dataset characteristics. Evolve anchors using genetic algorithm, enhancing model performance. Ensure proper anchor alignment for efficient object detection, promoting accurate results.
benchmarks.py Runs YOLOv5 benchmarks on various export formats to assess model performance and inference speed. Supports PyTorch, TorchScript, ONNX, OpenVINO, CoreML, TensorFlow formats, among others. Enables easy benchmarking and testing of YOLOv5 models.
torch_utils.py The DemoVideo.py file in the CarInspectionDamage repository provides a comprehensive demonstration of the damage inspection process for vehicles using deep learning models. It showcases the integration of various modules such as data processing, model evaluation, and result visualization. This code file plays a crucial role in illustrating the end-to-end functionality of the damage inspection system and its capabilities within the larger repository architecture.
general.py The DemoVideo.py file in the CarInspectionDamage repository provides a demonstration of a computer vision model for detecting and classifying damage in car inspection footage. This code showcases the core functionality of the model, highlighting its ability to analyze and identify damage accurately. This aligns with the repositorys architecture focused on restructuring modeling techniques for efficient damage assessment in the automotive industry.
augmentations.py The DemoVideo.py file in the CarInspectionDamage repository provides a script for generating demo videos showcasing the inspection and damage assessment capabilities of the project. It utilizes the underlying PyTorch-based computer vision models and tools stored in the RestructModelings directory. By running this script, users can quickly create visual demonstrations of the car inspection and damage detection processes, helping to showcase the projects functionality in a compelling and accessible manner.
RestructYolo.utils.docker
File Summary
Dockerfile-arm64 Provides an ARM64-compliant Dockerfile for YOLOv5 by Ultralytics. Fetches necessary assets, installs packages, and sets up the environment. Facilitates building and running YOLOv5 image on ARM architectures like Apple M1, Jetson Nano, and Raspberry Pi.
Dockerfile Defines a Dockerfile that optimizes NVIDIA PyTorch for YOLOv5 training and inference. Downloads assets, installs packages, sets up environment, clones the YOLOv5 repo, and provides usage examples for building, running, and managing images.
Dockerfile-cpu Builds optimized CPU image for YOLOv5 deployments. Downloads assets, installs packages, and sets up the environment. Clones YOLOv5 repository for usage. Can be built, pushed, pulled, and run with provided commands.
RestructYolo.utils.loggers.clearml
File Summary
clearml_utils.py Tracks and logs training progress, datasets, models, and predictions to ClearML platform. Automates dataset loading and provides visualization capabilities. Manages hyperparameters and enforces image logging limits.
hpo.py Connect with ClearML, optimize parameters such as learning rate and momentum, maximize mAP_0.5 metric, control concurrency, choose OptimizerOptuna, select top 5 tasks, limit total jobs, and run locally for 2 hours.
RestructYolo.utils.loggers.wandb
File Summary
log_dataset.py Generates dataset artifacts for logging using WandB in YOLOv5 project. Handles dataset creation job type with logging functionalities. Warns users to install WandB using pip install wandb if needed.
sweep.py Executes a sweep process using hyperparameters from WandB, preparing training for YOLOv5 model in the root directory. Key steps include initializing WandB, handling hyperparameters, setting necessary options, and triggering training with specific callbacks.