2022-01-28

App Improvements

Accept/Discard for "Find Similar Dataset Elements"

You can now right click on results in the "Find Similar Dataset Elements" to (a) add them to the seed issue or (b) discard them as bad results:

Skeleton Support using Keypoints

We now have support to show skeletons using keypoints. We also support polygons and both bounding box and polygon are optional.

Better Issue Searching

Can search through any of the attributes within an issue (and that includes custom attributes as well)

Collection Campaign Settings

Collection campaign settings now include a precision-recall slider that allows you to tune the results that you get back:

Custom Colors for Inference Contrast Coloring

You can now customize the colors shown when using inference contrast coloring. Note: these colors will also be used on the metrics tab as well.

Create/Delete/View Comments Outside of Issue UI

Can now create/delete/view issues outside of the issue UI by right clicking on the frame viewer.

Support for Image Padding

New option on project settings to enable and adjust image padding (vertical and horizontal). It will add padding to every image with a hatch pattern in the background and will render off image labels into the padded area.

Image Brightness and Contrast Controls

You can now control image brightness and contrast using the sliders in the Display Settings menu.

Object Level Metadata Schema

IOU/Confidence Controls for Comparison Inference Set

You can now control the IOU and Confidence thresholds for the comparison inference set independently from the original inference set.

Embedding Status for Streaming Uploads

We've added more information on embedding status in the Streaming Uploads page to provide more clarity on the state of your embeddings!

Embedding Info Page

We've added a section to Dataset Details to show embedding information, including frame and crop embedding dimensions and a few samples of each.

Python Client

Fetching LabeledFrames

Starting from v0.0.55, the methods get_frame and get_frames will return a rehydrated instance of LabeledFrame rather than a plain dictionary. This should make it easier to apply modifications on top of an existing frame. You can still access the plain dictionary that used to be returned by calling to_dict on LabeledFrame.

NB: The rehydrated LabeledFrames will include existing labels, but will not include their embeddings; the frames will instead be initialized with a flag to "reuse" already provided or generated embeddings from the previous uploads. Calling add_frame_embedding or add_crop_embedding will flip that flag to False, and new embeddings will be processed as expected.

Frame Deletion

We've added support for frame deletion in mutable datasets. To delete a frame from an existing dataset,

import aquariumlearning as al

al_client = al.Client()
al_client.set_credentials(api_key=API_KEY)

dataset = al.LabeledDataset()
dataset.delete_frame(FRAME_ID)

al_client.create_or_update_dataset(PROJECT_ID, DATASET_ID, dataset=dataset,...)

Queuing Inferences

Inference uploads to streaming datasets are now implicitly queued behind the latest upload to the base dataset. You no longer need to pass wait_until_finish=True to the inaugural upload of a streaming dataset in order to successfully kick off its inference uploading.

The Python client now exposes an API for the unlabeled similarity search (both to fetch existing results + the ability to rerun the search). See https://aquarium.gitbook.io/aquarium/concepts/collection-campaign-scripting for details.

Last updated