diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a4f12c6a..07bbd918 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -48,11 +48,11 @@ To allow your work to be integrated as seamlessly as possible, we advise you to: - ✅ Verify your PR is **up-to-date** with `ultralytics/ultralytics` `main` branch. If your PR is behind you can update your code by clicking the 'Update branch' button or by running `git pull` and `git merge main` locally. -

Screenshot 2022-08-29 at 22 47 15

+

PR recommendation 1

- ✅ Verify all YOLOv8 Continuous Integration (CI) **checks are passing**. -

Screenshot 2022-08-29 at 22 47 03

+

PR recommendation 2

- ✅ Reduce changes to the absolute **minimum** required for your bug fix or feature addition. _"It is not daily increase but daily decrease, hack away the unessential. The closer to the source, the less wastage there is."_ — Bruce Lee diff --git a/docs/datasets/detect/index.md b/docs/datasets/detect/index.md index 4eb729ea..20dcaac1 100644 --- a/docs/datasets/detect/index.md +++ b/docs/datasets/detect/index.md @@ -34,15 +34,15 @@ names: Labels for this format should be exported to YOLO format with one `*.txt` file per image. If there are no objects in an image, no `*.txt` file is required. The `*.txt` file should be formatted with one row per object in `class x_center y_center width height` format. Box coordinates must be in **normalized xywh** format (from 0 to 1). If your boxes are in pixels, you should divide `x_center` and `width` by image width, and `y_center` and `height` by image height. Class numbers should be zero-indexed (start with 0). -

+

Example labelled image

The label file corresponding to the above image contains 2 persons (class `0`) and a tie (class `27`): -

+

Example label file

When using the Ultralytics YOLO format, organize your training and validation images and labels as shown in the example below. -

+

Example dataset directory structure

## Usage diff --git a/docs/datasets/obb/index.md b/docs/datasets/obb/index.md index 38c92388..c6f973b9 100644 --- a/docs/datasets/obb/index.md +++ b/docs/datasets/obb/index.md @@ -20,7 +20,7 @@ class_index, x1, y1, x2, y2, x3, y3, x4, y4 Internally, YOLO processes losses and outputs in the `xywhr` format, which represents the bounding box's center point (xy), width, height, and rotation. -

+

OBB format examples

An example of a `*.txt` label file for the above image, which contains an object of class `0` in OBB format, could look like: diff --git a/docs/help/CI.md b/docs/help/CI.md index 7c5525b6..890665ac 100644 --- a/docs/help/CI.md +++ b/docs/help/CI.md @@ -28,7 +28,7 @@ Below is the table showing the status of these CI tests for our main repositorie | [yolov5](https://github.com/ultralytics/yolov5) | [![YOLOv5 CI](https://github.com/ultralytics/yolov5/actions/workflows/ci-testing.yml/badge.svg)](https://github.com/ultralytics/yolov5/actions/workflows/ci-testing.yml) | [![Publish Docker Images](https://github.com/ultralytics/yolov5/actions/workflows/docker.yml/badge.svg)](https://github.com/ultralytics/yolov5/actions/workflows/docker.yml) | [![Check Broken links](https://github.com/ultralytics/yolov5/actions/workflows/links.yml/badge.svg)](https://github.com/ultralytics/yolov5/actions/workflows/links.yml) | [![CodeQL](https://github.com/ultralytics/yolov5/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/ultralytics/yolov5/actions/workflows/codeql-analysis.yml) | | | [ultralytics](https://github.com/ultralytics/ultralytics) | [![ultralytics CI](https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml/badge.svg)](https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml) | [![Publish Docker Images](https://github.com/ultralytics/ultralytics/actions/workflows/docker.yaml/badge.svg)](https://github.com/ultralytics/ultralytics/actions/workflows/docker.yaml) | [![Check Broken links](https://github.com/ultralytics/ultralytics/actions/workflows/links.yml/badge.svg)](https://github.com/ultralytics/ultralytics/actions/workflows/links.yml) | [![CodeQL](https://github.com/ultralytics/ultralytics/actions/workflows/codeql.yaml/badge.svg)](https://github.com/ultralytics/ultralytics/actions/workflows/codeql.yaml) | [![Publish to PyPI and Deploy Docs](https://github.com/ultralytics/ultralytics/actions/workflows/publish.yml/badge.svg)](https://github.com/ultralytics/ultralytics/actions/workflows/publish.yml) | | [hub](https://github.com/ultralytics/hub) | [![HUB CI](https://github.com/ultralytics/hub/actions/workflows/ci.yaml/badge.svg)](https://github.com/ultralytics/hub/actions/workflows/ci.yaml) | | [![Check Broken links](https://github.com/ultralytics/hub/actions/workflows/links.yml/badge.svg)](https://github.com/ultralytics/hub/actions/workflows/links.yml) | | | -| [docs](https://github.com/ultralytics/docs) | | | | | [![pages-build-deployment](https://github.com/ultralytics/docs/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/ultralytics/docs/actions/workflows/pages/pages-build-deployment) [![Check Broken links](https://github.com/ultralytics/docs/actions/workflows/links.yml/badge.svg?branch=gh-pages)](https://github.com/ultralytics/docs/actions/workflows/links.yml) | +| [docs](https://github.com/ultralytics/docs) | | | | | [![pages-build-deployment](https://github.com/ultralytics/docs/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/ultralytics/docs/actions/workflows/pages/pages-build-deployment) [![Check Broken links](https://github.com/ultralytics/docs/actions/workflows/links.yml/badge.svg)](https://github.com/ultralytics/docs/actions/workflows/links.yml) | Each badge shows the status of the last run of the corresponding CI test on the `main` branch of the respective repository. If a test fails, the badge will display a "failing" status, and if it passes, it will display a "passing" status. diff --git a/docs/index.md b/docs/index.md index 77e463f7..f38aa026 100644 --- a/docs/index.md +++ b/docs/index.md @@ -7,7 +7,7 @@ keywords: Ultralytics, YOLOv8, object detection, image segmentation, machine lea

- + Ultralytics YOLO banner

Ultralytics CI Ultralytics Code Coverage diff --git a/docs/modes/track.md b/docs/modes/track.md index b2a40d05..3e7597b6 100644 --- a/docs/modes/track.md +++ b/docs/modes/track.md @@ -6,7 +6,7 @@ keywords: Ultralytics, YOLO, object tracking, video streams, BoT-SORT, ByteTrack # Multi-Object Tracking with Ultralytics YOLO - +Multi-object tracking examples Object tracking in the realm of video analytics is a critical task that not only identifies the location and class of objects within the frame but also maintains a unique ID for each detected object as the video progresses. The applications are limitless—ranging from surveillance and security to real-time sports analytics. diff --git a/docs/tasks/classify.md b/docs/tasks/classify.md index ab1e9af4..92857409 100644 --- a/docs/tasks/classify.md +++ b/docs/tasks/classify.md @@ -6,7 +6,7 @@ keywords: Ultralytics, YOLOv8, Image Classification, Pretrained Models, YOLOv8n- # Image Classification - +Image classification examples Image classification is the simplest of the three tasks and involves classifying an entire image into one of a set of predefined classes. diff --git a/docs/tasks/detect.md b/docs/tasks/detect.md index de617948..40c52ba1 100644 --- a/docs/tasks/detect.md +++ b/docs/tasks/detect.md @@ -6,7 +6,7 @@ keywords: YOLOv8, Ultralytics, object detection, pretrained models, training, va # Object Detection - +Object detection examples Object detection is a task that involves identifying the location and class of objects in an image or video stream. diff --git a/docs/tasks/pose.md b/docs/tasks/pose.md index 4dc4e022..3c3a5c3c 100644 --- a/docs/tasks/pose.md +++ b/docs/tasks/pose.md @@ -6,7 +6,7 @@ keywords: Ultralytics, YOLO, YOLOv8, pose estimation, keypoints detection, objec # Pose Estimation - +Pose estimation examples Pose estimation is a task that involves identifying the location of specific points in an image, usually referred to as keypoints. The keypoints can represent various parts of the object such as joints, landmarks, or other distinctive features. The locations of the keypoints are usually represented as a set of 2D `[x, y]` or 3D `[x, y, visible]` coordinates. diff --git a/docs/tasks/segment.md b/docs/tasks/segment.md index 93622a82..fc52b052 100644 --- a/docs/tasks/segment.md +++ b/docs/tasks/segment.md @@ -6,7 +6,7 @@ keywords: yolov8, instance segmentation, Ultralytics, COCO dataset, image segmen # Instance Segmentation - +Instance segmentation examples Instance segmentation goes a step further than object detection and involves identifying individual objects in an image and segmenting them from the rest of the image. diff --git a/docs/yolov5/index.md b/docs/yolov5/index.md index 1b943cfb..d612d51d 100644 --- a/docs/yolov5/index.md +++ b/docs/yolov5/index.md @@ -9,7 +9,7 @@ keywords: Ultralytics, YOLOv5, Deep Learning, Object detection, PyTorch, Tutoria

- + Ultralytics YOLOv5 v7.0 banner

YOLOv5 CI diff --git a/docs/yolov5/quickstart_tutorial.md b/docs/yolov5/quickstart_tutorial.md index 35648b5d..90167c8d 100644 --- a/docs/yolov5/quickstart_tutorial.md +++ b/docs/yolov5/quickstart_tutorial.md @@ -71,4 +71,4 @@ python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5n.yaml - yolov5x 16 ``` - +YOLO training curves diff --git a/docs/zh/index.md b/docs/zh/index.md index e4ed42f1..82db8274 100644 --- a/docs/zh/index.md +++ b/docs/zh/index.md @@ -9,7 +9,7 @@ keywords: Ultralytics, YOLOv8, 目标检测, 图像分割, 机器学习, 深度

- + Ultralytics YOLO banner

Ultralytics CI Ultralytics Code Coverage diff --git a/mkdocs.yml b/mkdocs.yml index 12a352ab..fd360be9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -17,9 +17,10 @@ theme: favicon: assets/favicon.ico icon: repo: fontawesome/brands/github - font: - text: Helvetica - code: Roboto Mono + # Fonts disabled for faster page load times + # font: + # text: Helvetica + # code: Roboto Mono palette: # Palette toggle for light mode diff --git a/ultralytics/__init__.py b/ultralytics/__init__.py index 1d67da98..cbe68206 100644 --- a/ultralytics/__init__.py +++ b/ultralytics/__init__.py @@ -1,6 +1,6 @@ # Ultralytics YOLO 🚀, AGPL-3.0 license -__version__ = '8.0.200' +__version__ = '8.0.201' from ultralytics.models import RTDETR, SAM, YOLO from ultralytics.models.fastsam import FastSAM diff --git a/ultralytics/data/loaders.py b/ultralytics/data/loaders.py index 0541f712..bcf4fbef 100644 --- a/ultralytics/data/loaders.py +++ b/ultralytics/data/loaders.py @@ -451,7 +451,7 @@ class LoadTensor: im = im.unsqueeze(0) if im.shape[2] % stride or im.shape[3] % stride: raise ValueError(s) - if im.max() > 1.0: + if im.max() > 1.0 + torch.finfo(im.dtype).eps: # torch.float32 eps is 1.2e-07 LOGGER.warning(f'WARNING ⚠️ torch.Tensor inputs should be normalized 0.0-1.0 but max value is {im.max()}. ' f'Dividing input by 255.') im = im.float() / 255.0