pytorch / pytorch/vision

Enhance torchvision's draw_keypoint method

Open
#4,903 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement module: utils needs discussion
Dominant language
Python
Stars
17.9k
Forks
7.3k
Avg merge
1d 15h
Merged PRs (30d)
13

Description

🚀 The feature

Follow up of #4216 . The current utility works fine, but we can make it better :)

Motivation, pitch

I think the following can be added.

  • Support multiple colors

There were 2 proposals one by @fmassa and one by me. The problem was handling excess colors.
I think that in fmassa's version we can broadcast to bigger dimensions and make it work?

  • Support specifying line color.

In my opinion, we shouldn't complicate this and just allow a single string.
Happy to hear thoughts though.

  • Plot the circle above the line or vice versa?

We currently plot the line above the circle. So at places I see that the line comes above the circle, somehow it looks like the line cuts / bisects the circle. I feel we should do the opposite.

  • Don't use default white for all colors. Use either a random palette / better default one.

I guess we should extend this functionality to all plotting utils, by default both draw_bounding_boxes and draw_keypoints plot with white color. While segmentation masks uses a fixed color palette.
Either we could use random colors / just have a nice fixed default palette.
(Also see #4658 )

cc @fmassa @datumbox @NicolasHug

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating torchvision's draw_keypoint method and the related draw_bounding_boxes and segmentation-mask plotting utilities. Read the discussion in #4216 and #4658, including the proposals about color handling. Done means an agreed subset of the listed enhancements is implemented with its behavior clearly defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.