-
Notifications
You must be signed in to change notification settings - Fork 510
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
[FR] load annotations with specific status #4142
Comments
@mmoollllee this feature request makes sense to me 👍 In order to implement this, you'd need to update the download_annotations() interface to allow for the possibility of passing backend-specific Then, since the load_annotations() method is generic (supports multiple backends), you'd need to check its We have an extract_kwargs_for_function() utility that can do that 👍 Let me know if this makes sense and happy to provide additional guidance if I can be of assistance 🤗 |
Happy to hear the feature makes sense :)) Puhh I digged around the provided code parts and need to accept that I'm totally lost in this advanced coding architecture... I guess this is beyond my abilities :( |
I believe in you! If you're able to add your parameter only in this location, then we can help complete the feature for you 🤗 fiftyone/fiftyone/utils/cvat.py Line 4562 in 7853d08
|
Thanks for your pushing me!! :) See my current status in this commit
fou.extract_kwargs_for_function(foua.load_annotations, self.kwargs) but when I add a argument to
# If job_status is set and is one of CVAT's status'
frames_to_download = []
if job_status in ["annotation", "validation", "acceptance"]:
for job_id in job_ids[task_id]:
# Get job_status
job_url = self.taskless_job_url(job_id)
try:
job_resp = self.get(job_url).json()
except:
logger.warning(
"Couldn't fetch job information. Skipping"
)
continue
if not job_resp["status"] == job_status:
logger.info(
"Skipping job %s because of status mismatch",
job_id,
)
continue
frames_to_download += range(job_resp["start_frame"], job_resp["stop_frame"])
if frames_to_download:
all_shapes = [x for x in all_shapes if x['frame'] in frames_to_download]
all_tags = [x for x in all_tags if x['frame'] in frames_to_download]
all_tracks = [x for x in all_tracks if x['frame'] in frames_to_download] I have to say I'm not really confident in what I did. For example I never worked with videos in CVAT. Will this still work for videos? I'd be happy to get feedback and another hint on how to pass |
Proposal Summary
Adding an annotations job with segement_size to CVAT, makes me want to load those segments with e.g. CVAT Job Stage "validation" back into FiftyOne to validate the progress.
Motivation
What areas of FiftyOne does this feature affect?
fiftyone
Python libraryDetails
I'm adding annotation jobs to CVAT like this:
and I'd like to have a
filter_jobs
key forload_annotations
, e.g.:Willingness to contribute
The FiftyOne Community welcomes contributions! Would you or another member of your organization be willing to contribute an implementation of this feature?
The text was updated successfully, but these errors were encountered: