Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to generate superpixels and label each superpixel #772

Open
rsnk96 opened this issue Oct 14, 2019 · 10 comments
Open

Add ability to generate superpixels and label each superpixel #772

rsnk96 opened this issue Oct 14, 2019 · 10 comments
Labels
enhancement New feature or request

Comments

@rsnk96
Copy link
Contributor

rsnk96 commented Oct 14, 2019

It would be nice to have a feature to generate superpixels, and label superpixels in one mouse-click (sort of like a brush, but it labels the superpixel if the mouse has hovered over with the Mouse Button pressed down). An easy idea for this is to run K-means in RGB+(x,y) space, like the SLIC/SLIC-zero algorithm does

A sample implementation of SLIC in C++ is available here, this can be ported to OpenCV.js

@nmanovic
Copy link
Contributor

@rsnk96 , did you try to annotate data using the approach? What is the annotation speed in the case? I like new features but I need some information how to prioritize them. Does the approach give better quality or better speed than traditional methods?

@nmanovic nmanovic added the enhancement New feature or request label Oct 14, 2019
@nmanovic nmanovic added this to the Backlog milestone Oct 14, 2019
@rsnk96
Copy link
Contributor Author

rsnk96 commented Oct 14, 2019

This is a feature that is available in LabelBox, sample usage:
superpixel-annotation-in-labelbox

I believe this would give better speed in the following cases:

  1. Where the objects do not have clear boundaries (hence creating problems in DEXTR/grabcut(not implemented yet)/traditional approaches )
  2. When the object has a very non-smooth error (hence drawing a polygon would be painful)
  3. In cases where an object has enclaves in between which belong to a different class/no-class

@jrreyes29
Copy link

here

How do you can port this to opencvjs because opencvjs don't support this method createSuperpixelLSC()

@rsnk96
Copy link
Contributor Author

rsnk96 commented Dec 6, 2019

I'm not quite sure I followed you @jrreyes29. Where is that method being called?

@rsnk96
Copy link
Contributor Author

rsnk96 commented Dec 9, 2019

Ah, didn't know that it comes as a part of ximgproc now.

I guess that leaves us with no option but to implement the superpixel method in JS from scratch...

@jrreyes29
Copy link

but implement that in js from scratch take long time hahahaha that is the idea about opencvjs

@luiztauffer
Copy link

superpixel annotation would be awesome!

@patzhang
Copy link

Here is an implementation in javascript for Superpixels using SLIC. It has a nice demo that you can try online.

@nmanovic Is the demo good enough to compare?

Also, the COCO-Stuff dataset used superpixels (shown in the paper) in their annotation tool.

@nmanovic nmanovic removed this from the Backlog milestone Nov 28, 2021
@Hommus
Copy link

Hommus commented May 3, 2022

@nmanovic
Any ETA on this feature?

How would one go about implementing a new tool / feature like this? I have created it in Python, I'm just struggling to re-implement it in javascript.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants