Roboflow's 12 Days of #Shipmas: 2023
Published Jan 10, 2024 • 7 min read

Toward the end of 2022, Roboflow started Shipmas, an event where our team shipped 12 features in 12 days. As the winter holidays approached in 2023, our team was motivated to make Shipmas a tradition, committing to 12 more days of shipping features for customers.

On December 25th, 2023, Roboflow launched Shipmas 2023 by announcing support for dynamic cropping in our data augmentation, a common feature request. We then proceeded to release a wide range of changes over the following days.

We shipped the ability for paid customers to share projects publicly in Roboflow Universe. We shipped augmentation helpers that help you avoid over-augmenting your dataset, improvements to the Inference command line interface, Grounding DINO support in Inference, and more.

You may be wondering: how can I check out all the features that were released? You are in the right place! Below, we have made a list of the 12 features we shipped as part of Shipmas. All of these features are ready to use in the Roboflow product today.

Day #1: Dynamic Crop

You can now apply a dynamic crop augmentation to a dataset in Roboflow. This feature is ideal for training two stage models.

For example, suppose you are building a manufacturing process where you need to:

  1. Check for the presence of a wheel on a car from a distance, and;
  2. Check for all the nuts on the wheel.

Once you have annotated a dataset with car wheels, you can train a model to identify car wheels. You can then apply a dynamic crop to your dataset to crop all wheels. Then, you can annotate the wheel nuts according to your ontology. You can then train a model with your cropped dataset.

After using dynamic crop, you would have two models:

  1. A model that identifies wheels, and;
  2. A model that identifies specific properties of a wheel (i.e. the presence or absence of wheel nuts).

By using dynamic crop, you can have two separate models that specialize in different parts of your vision task: wheel identification and wheel nut identification.

Day #2: Paid Customers Can Share Projects Publicly

Before Shipmas, all paid customers could only create private projects. Therein lay a limitation: for paid companies who wanted to share datasets with the computer vision community, there was no option.

As part of Shipmas, we have added support for paid customers to share projects publicly on Roboflow Universe, the world’s largest community of open source computer vision projects.

To share a project publicly as a paid user, click the “Public” option in the “Visibility” section when you create a new project.

Image

Day #3: Inference Kubernetes Helm Chart

Roboflow Inference is an open source inference server that you can use to deploy fine-tuned models like YOLOv8 models and state-of-the-art foundation models like CLIP and CogVLM. Inference can run on edge hardware like an NVIDIA Jetson or in the cloud using a platform like AWS EC2 or GCP Compute Engine.

On Day three of Shipmas, we released a Kubernetes Helm chart that you can use to deploy Inference in a Kubernetes cluster. You can use this Helm chart on CPU devices or CUDA GPU hardware. Read the Helm chart GitHub README for more information about how to use the chart for your production vision needs.

Day #4: Augmentation Helpers

Image augmentations do not always boost model performance. If you augment an image too much – for example, by adding too much blur – your model performance may be negatively affected.

We have added a warning dialog that pops up when you try to apply an augmentation outside of the most common range for that augmentation. If you see this warning, consider readjusting your augmentation. Your model will thank you!

Day #5: Inference Core Model Clients

Integrating foundation models like CLIP, CogVLM, and DocTR into your application just became easier. We have developed Python clients for using the foundation models supported in Roboflow Inference. You can use these clients to integrate models into your application without manually writing HTTP code to query your Roboflow Inference server.

Read the Inference foundation model references to learn how to start integrating these clients into your application.

Day #6: Inference CLI Improvements

You can manage Roboflow Inference servers with the Inference command line interface (CLI). 

On Day six of Shipmas, we added new features to expand the capabilities of the Inference CLI.

You can now use the inference server stop command to stop an Inference server. In addition, inference server start can now read configuration variables from a `.env` file . Finally, the inference server start command shows a progress bar that shows the stage of installing the Inference Docker container.

Read the Inference CLI documentation to get started.

Day #7: Inference Notebook Environment

Before Shipmas, you had to open up an IDE or install Jupyter and start a notebook session to work with your Inference server on your local machine.

Now, you can run Inference in a special “dev” mode which comes with a Notebook environment out of the box. You can use this Notebook environment to experiment with your server and start writing code for use in your production environment.

To run Inference in “dev” mode, start your server with the --dev flag like this:

inference server start --dev

Then, open your Inference server at http://localhost:9001. Click "Jump into an Inference enabled notebook" to open a development notebook.

Read the full instructions for more information.

For production use cases, you should not run Inference in “dev” mode.

Day #8: Apply for Research Credits

Are you a researcher who wants to use Roboflow for an academic project? You can now apply for academic credits directly in your Roboflow dashboard. If you have an academic email address, we can approve your request for credits immediately.

We offer two tiers of credits for researchers:

  1. Training Credits, which is ideal for training and optimizing models.
  2. Images, which is ideal for managing large vision datasets.

To apply for research credits, go to your Roboflow dashboard, click “Settings”, click your workspace name, then click “Plan & Billing”. From that page, you can apply for a research plan.

Image

Day #9: Search Workspace Images with an API

Before Shipmas, you could only search for images at the project level. On Day 9 of Shipmas, we launched the ability to search for images in your workspace.

You can now search for an image in your workspace using Roboflow’s advanced semantic search features. To learn about all of the search options available, refer to our Workspace Image Query API documentation.

Image

Day #10: Enhanced Universe Search Filters

Roboflow Universe is home to over 50,000 computer vision models with which you can experiment and use in your applications, as well as over 250,000 image datasets you can use to train computer vision models.

You may be wondering: how can I find a model or dataset that’s right for me? Our Day 10 ship is here to help! We added new filters that enable you to refine your search in the following ways:

  1. Search exclusively for models.
  2. Search by project type (detection, classification, instance and semantic segmentation).
  3. Search by model type (YOLOv5, YOLOv8, models that you can use with Snap Lens Studio).

With this feature, it is easier than ever before to find the right dataset or model for use in your next project.

0:00
/0:24

Day #11: Cancel Model Training Jobs, Training Time Estimates 

Before Shipmas, you could not cancel a training job. If you had started a training job, it would continue running until complete. Thus, if you started a job accidentally, or started a job on the wrong dataset version, you would lose a credit.

You can now cancel a training job. If you cancel a training job within 30 minutes of starting the job, your training credit will be refunded.

Furthermore, we have added a training time estimate to the training process which you can use as a guide to how long you will have to wait before you can start deploying your model.

Image

Day #12: Command Line Additions

On the twelfth day of Shipmas, Roboflow released a series of additions to the Roboflow Python command line. We plan on replacing the Node CLI with this Python CLI in the future. When we do, we will announce the deprecation in our documentation and make the requisite updates to ensure you have all the resources you need to migrate over to the new CLI.

You can now perform the following tasks using the Roboflow Python command line:

  • Download a dataset version from a workspace.
  • Retrieve information about your workspace.
  • List projects.
  • And more!

To learn how to use the new Python CLI, refer to the Roboflow Python CLI commands documentation.

Conclusion

With the 12 ships above, Roboflow ended 2023 on a high note and started 2024 with a bang. Our commitment to making it easier to develop computer vision models never tires: when we see opportunities for improvement, we strive to do our best to improve.

Over Shipmas, we released 12 features that you can now use. These features cover the Roboflow product, our open source Inference server, our new Python CLI, and more. We look forward to your using our newly-released features!

Cite this Post

Use the following entry to cite this post in your research:

James Gallagher. (Jan 10, 2024). Roboflow's 12 Days of #Shipmas: 2023. Roboflow Blog: https://blog.roboflow.com/12-days-of-shipmas-2023/

Discuss this Post

If you have any questions about this blog post, start a discussion on the Roboflow Forum.

Written by

James Gallagher
James is a technical writer at Roboflow, with experience writing documentation on how to train and use state-of-the-art computer vision models.