From 0f4a4fdf5fe95efcfd700f537af2f684bf17f26a Mon Sep 17 00:00:00 2001 From: Muhammad Rizwan Munawar Date: Sat, 13 Apr 2024 20:22:52 +0500 Subject: [PATCH] Add https://youtu.be/SArFQs6CHwk to docs (#10014) Co-authored-by: UltralyticsAssistant --- docs/en/models/rtdetr.md | 11 +++++++++++ ultralytics/data/augment.py | 1 + ultralytics/data/base.py | 1 + ultralytics/data/build.py | 1 + ultralytics/data/dataset.py | 1 + ultralytics/data/explorer/explorer.py | 3 ++- ultralytics/models/fastsam/model.py | 1 + ultralytics/models/nas/model.py | 1 + ultralytics/models/rtdetr/train.py | 1 + ultralytics/models/sam/build.py | 1 + ultralytics/models/sam/model.py | 1 + ultralytics/models/sam/predict.py | 1 + ultralytics/models/utils/loss.py | 1 + ultralytics/nn/modules/head.py | 1 + ultralytics/trackers/byte_tracker.py | 4 ++-- ultralytics/trackers/track.py | 1 + ultralytics/utils/callbacks/base.py | 1 - ultralytics/utils/loss.py | 1 + ultralytics/utils/plotting.py | 1 + 19 files changed, 30 insertions(+), 4 deletions(-) diff --git a/docs/en/models/rtdetr.md b/docs/en/models/rtdetr.md index 844356e2..6cc2b656 100644 --- a/docs/en/models/rtdetr.md +++ b/docs/en/models/rtdetr.md @@ -10,6 +10,17 @@ keywords: RT-DETR, Baidu, Vision Transformers, object detection, real-time perfo Real-Time Detection Transformer (RT-DETR), developed by Baidu, is a cutting-edge end-to-end object detector that provides real-time performance while maintaining high accuracy. It leverages the power of Vision Transformers (ViT) to efficiently process multiscale features by decoupling intra-scale interaction and cross-scale fusion. RT-DETR is highly adaptable, supporting flexible adjustment of inference speed using different decoder layers without retraining. The model excels on accelerated backends like CUDA with TensorRT, outperforming many other real-time object detectors. +

+
+ +
+ Watch: Real-Time Detection Transformer (RT-DETR) +

+ ![Model example image](https://user-images.githubusercontent.com/26833433/238963168-90e8483f-90aa-4eb6-a5e1-0d408b23dd33.png) **Overview of Baidu's RT-DETR.** The RT-DETR model architecture diagram shows the last three stages of the backbone {S3, S4, S5} as the input to the encoder. The efficient hybrid encoder transforms multiscale features into a sequence of image features through intrascale feature interaction (AIFI) and cross-scale feature-fusion module (CCFM). The IoU-aware query selection is employed to select a fixed number of image features to serve as initial object queries for the decoder. Finally, the decoder with auxiliary prediction heads iteratively optimizes object queries to generate boxes and confidence scores ([source](https://arxiv.org/pdf/2304.08069.pdf)). ### Key Features diff --git a/ultralytics/data/augment.py b/ultralytics/data/augment.py index 9cf1e127..6b6e35a4 100644 --- a/ultralytics/data/augment.py +++ b/ultralytics/data/augment.py @@ -16,6 +16,7 @@ from ultralytics.utils.instance import Instances from ultralytics.utils.metrics import bbox_ioa from ultralytics.utils.ops import segment2box, xyxyxyxy2xywhr from ultralytics.utils.torch_utils import TORCHVISION_0_10, TORCHVISION_0_11, TORCHVISION_0_13 + from .utils import polygons2masks, polygons2masks_overlap DEFAULT_MEAN = (0.0, 0.0, 0.0) diff --git a/ultralytics/data/base.py b/ultralytics/data/base.py index 7ffad595..6f0ca7fe 100644 --- a/ultralytics/data/base.py +++ b/ultralytics/data/base.py @@ -15,6 +15,7 @@ import psutil from torch.utils.data import Dataset from ultralytics.utils import DEFAULT_CFG, LOCAL_RANK, LOGGER, NUM_THREADS, TQDM + from .utils import FORMATS_HELP_MSG, HELP_URL, IMG_FORMATS diff --git a/ultralytics/data/build.py b/ultralytics/data/build.py index 59e23f6c..ce8785d6 100644 --- a/ultralytics/data/build.py +++ b/ultralytics/data/build.py @@ -22,6 +22,7 @@ from ultralytics.data.loaders import ( from ultralytics.data.utils import IMG_FORMATS, VID_FORMATS from ultralytics.utils import RANK, colorstr from ultralytics.utils.checks import check_file + from .dataset import GroundingDataset, YOLODataset, YOLOMultiModalDataset from .utils import PIN_MEMORY diff --git a/ultralytics/data/dataset.py b/ultralytics/data/dataset.py index fed360ce..8bbb08f8 100644 --- a/ultralytics/data/dataset.py +++ b/ultralytics/data/dataset.py @@ -15,6 +15,7 @@ from torch.utils.data import ConcatDataset from ultralytics.utils import LOCAL_RANK, NUM_THREADS, TQDM, colorstr from ultralytics.utils.ops import resample_segments + from .augment import ( Compose, Format, diff --git a/ultralytics/data/explorer/explorer.py b/ultralytics/data/explorer/explorer.py index 551b267b..1982ca03 100644 --- a/ultralytics/data/explorer/explorer.py +++ b/ultralytics/data/explorer/explorer.py @@ -7,8 +7,8 @@ from typing import Any, List, Tuple, Union import cv2 import numpy as np import torch -from PIL import Image from matplotlib import pyplot as plt +from PIL import Image from tqdm import tqdm from ultralytics.data.augment import Format @@ -16,6 +16,7 @@ from ultralytics.data.dataset import YOLODataset from ultralytics.data.utils import check_det_dataset from ultralytics.models.yolo.model import YOLO from ultralytics.utils import LOGGER, USER_CONFIG_DIR, IterableSimpleNamespace, checks + from .utils import get_sim_index_schema, get_table_schema, plot_query_result, prompt_sql_query, sanitize_batch diff --git a/ultralytics/models/fastsam/model.py b/ultralytics/models/fastsam/model.py index 226b43d1..4cc88686 100644 --- a/ultralytics/models/fastsam/model.py +++ b/ultralytics/models/fastsam/model.py @@ -3,6 +3,7 @@ from pathlib import Path from ultralytics.engine.model import Model + from .predict import FastSAMPredictor from .val import FastSAMValidator diff --git a/ultralytics/models/nas/model.py b/ultralytics/models/nas/model.py index c94e2d81..9b75c60a 100644 --- a/ultralytics/models/nas/model.py +++ b/ultralytics/models/nas/model.py @@ -17,6 +17,7 @@ import torch from ultralytics.engine.model import Model from ultralytics.utils.torch_utils import model_info, smart_inference_mode + from .predict import NASPredictor from .val import NASValidator diff --git a/ultralytics/models/rtdetr/train.py b/ultralytics/models/rtdetr/train.py index 10a8f9ba..973af649 100644 --- a/ultralytics/models/rtdetr/train.py +++ b/ultralytics/models/rtdetr/train.py @@ -7,6 +7,7 @@ import torch from ultralytics.models.yolo.detect import DetectionTrainer from ultralytics.nn.tasks import RTDETRDetectionModel from ultralytics.utils import RANK, colorstr + from .val import RTDETRDataset, RTDETRValidator diff --git a/ultralytics/models/sam/build.py b/ultralytics/models/sam/build.py index 266587ec..cb3a7c68 100644 --- a/ultralytics/models/sam/build.py +++ b/ultralytics/models/sam/build.py @@ -11,6 +11,7 @@ from functools import partial import torch from ultralytics.utils.downloads import attempt_download_asset + from .modules.decoders import MaskDecoder from .modules.encoders import ImageEncoderViT, PromptEncoder from .modules.sam import Sam diff --git a/ultralytics/models/sam/model.py b/ultralytics/models/sam/model.py index b931da83..feaeb551 100644 --- a/ultralytics/models/sam/model.py +++ b/ultralytics/models/sam/model.py @@ -18,6 +18,7 @@ from pathlib import Path from ultralytics.engine.model import Model from ultralytics.utils.torch_utils import model_info + from .build import build_sam from .predict import Predictor diff --git a/ultralytics/models/sam/predict.py b/ultralytics/models/sam/predict.py index 6e55368d..4980fda3 100644 --- a/ultralytics/models/sam/predict.py +++ b/ultralytics/models/sam/predict.py @@ -17,6 +17,7 @@ from ultralytics.engine.predictor import BasePredictor from ultralytics.engine.results import Results from ultralytics.utils import DEFAULT_CFG, ops from ultralytics.utils.torch_utils import select_device + from .amg import ( batch_iterator, batched_mask_to_box, diff --git a/ultralytics/models/utils/loss.py b/ultralytics/models/utils/loss.py index ac487758..41870fd3 100644 --- a/ultralytics/models/utils/loss.py +++ b/ultralytics/models/utils/loss.py @@ -6,6 +6,7 @@ import torch.nn.functional as F from ultralytics.utils.loss import FocalLoss, VarifocalLoss from ultralytics.utils.metrics import bbox_iou + from .ops import HungarianMatcher diff --git a/ultralytics/nn/modules/head.py b/ultralytics/nn/modules/head.py index abf9e062..87c6417b 100644 --- a/ultralytics/nn/modules/head.py +++ b/ultralytics/nn/modules/head.py @@ -8,6 +8,7 @@ import torch.nn as nn from torch.nn.init import constant_, xavier_uniform_ from ultralytics.utils.tal import TORCH_1_10, dist2bbox, dist2rbox, make_anchors + from .block import DFL, BNContrastiveHead, ContrastiveHead, Proto from .conv import Conv from .transformer import MLP, DeformableTransformerDecoder, DeformableTransformerDecoderLayer diff --git a/ultralytics/trackers/byte_tracker.py b/ultralytics/trackers/byte_tracker.py index dbb23217..61d788bd 100644 --- a/ultralytics/trackers/byte_tracker.py +++ b/ultralytics/trackers/byte_tracker.py @@ -2,11 +2,11 @@ import numpy as np +from ..utils import LOGGER +from ..utils.ops import xywh2ltwh from .basetrack import BaseTrack, TrackState from .utils import matching from .utils.kalman_filter import KalmanFilterXYAH -from ..utils import LOGGER -from ..utils.ops import xywh2ltwh class STrack(BaseTrack): diff --git a/ultralytics/trackers/track.py b/ultralytics/trackers/track.py index d8d1d0ef..de256716 100644 --- a/ultralytics/trackers/track.py +++ b/ultralytics/trackers/track.py @@ -7,6 +7,7 @@ import torch from ultralytics.utils import IterableSimpleNamespace, yaml_load from ultralytics.utils.checks import check_yaml + from .bot_sort import BOTSORT from .byte_tracker import BYTETracker diff --git a/ultralytics/utils/callbacks/base.py b/ultralytics/utils/callbacks/base.py index d0154574..e1e9b42b 100644 --- a/ultralytics/utils/callbacks/base.py +++ b/ultralytics/utils/callbacks/base.py @@ -4,7 +4,6 @@ from collections import defaultdict from copy import deepcopy - # Trainer callbacks ---------------------------------------------------------------------------------------------------- diff --git a/ultralytics/utils/loss.py b/ultralytics/utils/loss.py index 74848589..ee4df19b 100644 --- a/ultralytics/utils/loss.py +++ b/ultralytics/utils/loss.py @@ -7,6 +7,7 @@ import torch.nn.functional as F from ultralytics.utils.metrics import OKS_SIGMA from ultralytics.utils.ops import crop_mask, xywh2xyxy, xyxy2xywh from ultralytics.utils.tal import RotatedTaskAlignedAssigner, TaskAlignedAssigner, dist2bbox, dist2rbox, make_anchors + from .metrics import bbox_iou, probiou from .tal import bbox2dist diff --git a/ultralytics/utils/plotting.py b/ultralytics/utils/plotting.py index 946425b3..2ba19ac5 100644 --- a/ultralytics/utils/plotting.py +++ b/ultralytics/utils/plotting.py @@ -13,6 +13,7 @@ from PIL import Image, ImageDraw, ImageFont from PIL import __version__ as pil_version from ultralytics.utils import LOGGER, TryExcept, ops, plt_settings, threaded + from .checks import check_font, check_version, is_ascii from .files import increment_path