From a07475e43c24c0d3a0d39173229e8cd9a9cdab51 Mon Sep 17 00:00:00 2001 From: Antoine Simoulin Date: Tue, 9 Sep 2025 06:51:50 -0700 Subject: [PATCH 1/7] Skeleton for keypoints tutorial --- docs/source/conf.py | 1 + gallery/assets/pottery.jpg | Bin 0 -> 91964 bytes gallery/transforms/helpers.py | 7 +- .../transforms/plot_keypoints_transforms.py | 114 ++++++++++++++++++ 4 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 gallery/assets/pottery.jpg create mode 100644 gallery/transforms/plot_keypoints_transforms.py diff --git a/docs/source/conf.py b/docs/source/conf.py index 26771a7b711..f486c560fb8 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -88,6 +88,7 @@ def __init__(self, src_dir): "plot_transforms_e2e.py", "plot_cutmix_mixup.py", "plot_rotated_box_transforms.py", + "plot_keypoints_transforms.py", "plot_custom_transforms.py", "plot_tv_tensors.py", "plot_custom_tv_tensors.py", diff --git a/gallery/assets/pottery.jpg b/gallery/assets/pottery.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4437298f164eeb8e3914ec4e9f38e5f58e0b88f3 GIT binary patch literal 91964 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�=d36!GW?is4Vu!F*c1<*nW{rlUi~ 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 Date: Wed, 10 Sep 2025 08:04:17 -0500 Subject: [PATCH 2/7] Update gallery/transforms/plot_keypoints_transforms.py Co-authored-by: Nicolas Hug --- gallery/transforms/plot_keypoints_transforms.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gallery/transforms/plot_keypoints_transforms.py b/gallery/transforms/plot_keypoints_transforms.py index 489090f7d75..579206e04eb 100644 --- a/gallery/transforms/plot_keypoints_transforms.py +++ b/gallery/transforms/plot_keypoints_transforms.py @@ -28,8 +28,8 @@ plt.rcParams["figure.figsize"] = [10, 5] plt.rcParams["savefig.bbox"] = "tight" -# if you change the seed, make sure that the randomly-applied transforms -# properly show that the image can be both transformed and *not* transformed! +# if you change the seed, make sure that the transformed output +# still make sense torch.manual_seed(0) # If you're trying to run that on Colab, you can download the assets and the From b812a994542a5185f9db7b425a16adba69f1225d Mon Sep 17 00:00:00 2001 From: Antoine Simoulin Date: Wed, 10 Sep 2025 06:06:09 -0700 Subject: [PATCH 3/7] remove mention to bounding boxes --- gallery/transforms/plot_keypoints_transforms.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gallery/transforms/plot_keypoints_transforms.py b/gallery/transforms/plot_keypoints_transforms.py index 579206e04eb..185ebe070d6 100644 --- a/gallery/transforms/plot_keypoints_transforms.py +++ b/gallery/transforms/plot_keypoints_transforms.py @@ -1,12 +1,12 @@ """ =============================================================== -Transforms on Rotated Bounding Boxes +Transforms on KeyPoints =============================================================== This example illustrates how to define and use rotated bounding boxes. .. note:: - Support for rotated bounding boxes was released in TorchVision 0.23 and is + Support for keypoints was released in TorchVision 0.23 and is currently a BETA feature. We don't expect the API to change, but there may be some rare edge-cases. If you find any issues, please report them on our bug tracker: https://github.com/pytorch/vision/issues?q=is:open+is:issue From 6e7b15f71cb3e38cd7a27f5e825cd5e6004cff08 Mon Sep 17 00:00:00 2001 From: Antoine Simoulin Date: Wed, 10 Sep 2025 06:07:20 -0700 Subject: [PATCH 4/7] remove box parameters --- gallery/transforms/plot_keypoints_transforms.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gallery/transforms/plot_keypoints_transforms.py b/gallery/transforms/plot_keypoints_transforms.py index 185ebe070d6..ab52efa1e42 100644 --- a/gallery/transforms/plot_keypoints_transforms.py +++ b/gallery/transforms/plot_keypoints_transforms.py @@ -3,7 +3,7 @@ Transforms on KeyPoints =============================================================== -This example illustrates how to define and use rotated bounding boxes. +This example illustrates how to define and use keypoints. .. note:: Support for keypoints was released in TorchVision 0.23 and is @@ -75,7 +75,7 @@ # Using :class:`~torchvision.transforms.RandomRotation`: rotater = v2.RandomRotation(degrees=(0, 180), expand=True) rotated_imgs = [rotater((orig_img, orig_pts)) for _ in range(4)] -plot([(orig_img, orig_pts)] + rotated_imgs, bbox_width=10) +plot([(orig_img, orig_pts)] + rotated_imgs) # %% # Using :class:`~torchvision.transforms.Pad`: @@ -83,7 +83,7 @@ v2.Pad(padding=padding)(orig_img, orig_pts) for padding in (30, 50, 100, 200) ] -plot([(orig_img, orig_pts)] + padded_imgs_and_points, bbox_width=10) +plot([(orig_img, orig_pts)] + padded_imgs_and_points) # %% # Using :class:`~torchvision.transforms.Resize`: @@ -91,13 +91,13 @@ v2.Resize(size=size)(orig_img, orig_pts) for size in (300, 500, 1000, orig_img.size) ] -plot([(orig_img, orig_pts)] + resized_imgs, bbox_width=5) +plot([(orig_img, orig_pts)] + resized_imgs) # %% # Using :class:`~torchvision.transforms.RandomPerspective`: perspective_transformer = v2.RandomPerspective(distortion_scale=0.6, p=1.0) perspective_imgs = [perspective_transformer(orig_img, orig_pts) for _ in range(4)] -plot([(orig_img, orig_pts)] + perspective_imgs, bbox_width=10) +plot([(orig_img, orig_pts)] + perspective_imgs) # %% # Using :class:`~torchvision.transforms.CenterCrop`: From 84cdfb35e5b0d12286cc1688d1e083d6e1b43d24 Mon Sep 17 00:00:00 2001 From: Antoine Simoulin Date: Wed, 10 Sep 2025 06:15:09 -0700 Subject: [PATCH 5/7] lint --- gallery/transforms/plot_keypoints_transforms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gallery/transforms/plot_keypoints_transforms.py b/gallery/transforms/plot_keypoints_transforms.py index ab52efa1e42..2a5a08ba6d5 100644 --- a/gallery/transforms/plot_keypoints_transforms.py +++ b/gallery/transforms/plot_keypoints_transforms.py @@ -111,4 +111,4 @@ # Using :class:`~torchvision.transforms.RandomRotation`: rotater = v2.RandomRotation(degrees=(0, 180)) rotated_imgs = [rotater((orig_img, orig_pts)) for _ in range(4)] -plot([(orig_img, orig_pts)] + rotated_imgs) \ No newline at end of file +plot([(orig_img, orig_pts)] + rotated_imgs) From e43c6170b84531f853bff1fe8a110f1b50cf62c8 Mon Sep 17 00:00:00 2001 From: Antoine Simoulin Date: Wed, 10 Sep 2025 10:36:01 -0700 Subject: [PATCH 6/7] add reference to image --- gallery/transforms/plot_keypoints_transforms.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gallery/transforms/plot_keypoints_transforms.py b/gallery/transforms/plot_keypoints_transforms.py index 2a5a08ba6d5..0c854f6330b 100644 --- a/gallery/transforms/plot_keypoints_transforms.py +++ b/gallery/transforms/plot_keypoints_transforms.py @@ -3,7 +3,9 @@ Transforms on KeyPoints =============================================================== -This example illustrates how to define and use keypoints. +This example illustrates how to define and use keypoints. +For this tutorial, we use this picture of a ceramic figure from the pre-columbian period. +The image is specified "public domain" (https://www.metmuseum.org/art/collection/search/502727). .. note:: Support for keypoints was released in TorchVision 0.23 and is From 28605ad1b754be0c364a56b45247aa7408df4940 Mon Sep 17 00:00:00 2001 From: Antoine Simoulin Date: Wed, 10 Sep 2025 11:53:47 -0700 Subject: [PATCH 7/7] lint --- gallery/transforms/plot_keypoints_transforms.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gallery/transforms/plot_keypoints_transforms.py b/gallery/transforms/plot_keypoints_transforms.py index 0c854f6330b..2da8b5b18f6 100644 --- a/gallery/transforms/plot_keypoints_transforms.py +++ b/gallery/transforms/plot_keypoints_transforms.py @@ -3,8 +3,8 @@ Transforms on KeyPoints =============================================================== -This example illustrates how to define and use keypoints. -For this tutorial, we use this picture of a ceramic figure from the pre-columbian period. +This example illustrates how to define and use keypoints. +For this tutorial, we use this picture of a ceramic figure from the pre-columbian period. The image is specified "public domain" (https://www.metmuseum.org/art/collection/search/502727). .. note::