Skip to content

Releases: roboflow/inference

v0.41.0

07 Mar 19:07
5602d23
Compare
Choose a tag to compare

🚀 Added

🔥 Batch Processing Released ✨

We've released Roboflow Batch Processing - a fully managed solution powered by Workflows that allows you to process large volumes of videos and images without writing code. It offers an easy-to-use UI for quick tasks and a comprehensive API for automating data processing—fitting both small and large workloads.

This service is suitable for use cases that do not require real-time responses, such as:

  • Analysing pre-recorded video files
  • Making predictions from a large pool of images stored in your storage
  • Automatic data labeling

Visit our docs 📖 to learn more.

batch_processing_ga_demo.mp4

💪 Other changes

Full Changelog: v0.40.0...v0.41.0

v0.40.0

26 Feb 16:37
2cebcb1
Compare
Choose a tag to compare

🚀 Added

  • Camera calibration block

This block uses the OpenCV calibrateCamera function to remove lens distortions from an image.

This block expands workflows capabilities in the area of taking measurements with camera. With distortions removed measurements performed by size measurement block are more accurate.

Block added by @grzegorz-roboflow in #1053

💪 Improved

Other changes

Full Changelog: v0.39.0...v0.40.0

v0.39.0

21 Feb 14:01
d3ce056
Compare
Choose a tag to compare

🚀 Added

💪 Improved

Other changes

Full Changelog: v0.38.0...v0.39.0

v0.38.0

18 Feb 12:29
506ff7f
Compare
Choose a tag to compare

🚀 Added

Qwen2.5-VL 🤝 Workflows

Thanks to @Matvezy, we’ve enabled Qwen2.5-VL model in inference and the Workflows ecosystem, making it easier than ever to utilise its powerful vision-language capabilities. 🎉

💡 About Qwen2.5-VL

Qwen2.5-VL is a Visual Language model which understands both images and text, allowing it to analyze documents, detect objects, and interpret videos with human-like comprehension. All of those advancements are now available in Workflows 🤯

image

Take a look at docs 📖 to find more details.

🚗 Speed improvements in inference 🏁

@isaacrob-roboflow is not slowing down - and with him, literally whole inference is moving faster. In this release, he added few important changes:

  • 🎯 Torch-base images pre-processing: ability to run pre-processing on GPU using pytorch to utilise underlying hardware more efficiently.
  • 💡 ONNX IO bindings enabled: technique which minimise data round-trip time to and from memory (especially helpful when pre-processing can happen directly on GPU)
  • 🕵️ Details of the change: #941

Want to hear about results?

  • 🏍️ For big images (for instance of size 2048 x 2048) we observe substantial drop in inference latency - in example case latency dropped from 130-140ms 👉 50-60ms - that's nearly 3x speedup 🤯

We can't wait future optimisations 💪

💻 New home page for inference docs

You may have already noticed, but just to be sure, let's take a look at the new design of inference home page prepared by @isoceles.

Check out here

image

🚨 Deprecated

Caution

We needed to take immediate actions. Vulnerability was detected in transformers library forced us to introduce changes into inference dependencies, effectively removing part of the components which we could not prepare security patches for. Vulnerability description CVE-2024-11393:

Hugging Face Transformers MaskFormer Model Deserialization of Untrusted Data Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of Hugging Face Transformers. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file. The specific flaw exists within the parsing of model files. The issue results from the lack of proper validation of user-supplied data, which can result in deserialization of untrusted data. An attacker can leverage this vulnerability to execute code in the context of the current user.

We advise all clients to migrate into inference 0.38.0 and stop using old builds in production.

🐳 CogVLM was removed

First of the implication of CVE-2024-11393 was upgrade to newest transformers version which was conflicting with CogVLM model requirements - as a result we decided to end of support of the model in inference.

As far as we are concerned, CogVLM turned out not to be the most popular model in the ecosystem, but if anyone is looking for alternatives - we can suggest other models existing in inference and Workflows ecosystem - like newly introduced Qwen2.5-VL.

Effective immediately, model was removed from the library, we left usage examples and and stub Workflow block which would fire an error if one tries to run it in Execution Engine providing the information about deprecation.

🐍 Python 3.8 no longer supported

Python 3.8 has already reached End Of Life and as a result - many libraries dropped support for this version of the interpreter. We tried to keep our codebase compatible as long as possible, but we were not able to apply security patch (as newer version of dependencies related to transformers already dropped support). As a result - inference will no longer support Python 3.8.

🥡 End Of Life - Jetson with Jetpack 4.5

As a result of Python 3.8 deprecation, we also needed to abandon builds for Jetson with Jetpack 4.5 which were bounded into this Python version.

📗 Other changes

🏅 New Contributors

Full Changelog: v0.37.1...v0.38.0

v0.37.1

11 Feb 08:15
c1493a6
Compare
Choose a tag to compare

🚀 Added

🪄 Workflows AI Assistant is ready to help you

The Workflows UI keeps improving, but we know navigating the ecosystem can still be challenging - whether it's understanding errors or getting up to speed with a growing number of blocks.

That’s why we’re launching the Workflows AI Assistant! 🤖 Now, you can ask any question about your Workflow and get context-aware guidance tailored to your setup.

Say goodbye to guesswork and hello to smarter, faster problem-solving! Try it out today. 🔥

ai_assistant_video.mp4

✂️ SAHI - Image Slicer v2

We've noticed that Image Slicer block was producing inconsistent crops when dimensions of the crop weren't matching the original image. We've introduced new version of the block to fix the problem.

image

If you are interested, take look at Image Slicer v2 docs 📝 and PR with change #1001

⚙️ Roboflow Batch Processing

We are actively working on Roboflow Batch Processing - new feature that we've presented in last release. This time we are adding bunch of improvements and extensions to make the processing more efficient.

Details of the changes: #1002, #1004, #1006

Stay tuned for future updates.

Features added to Workflows Blocks

🔧 Fixed

💪 Improved

📝 Docs are changing

We are continuously improving our documentation to make it more helpful, but we know this is an ongoing challenge. Enhancing clarity and coverage takes time, and we’re committed to making it better every day. Here are the recent changes: #1000, #1012, #1013, #999, #995

📗 Other changes

Full Changelog: v0.36.1...v0.37.1

v0.36.1

31 Jan 16:17
36780c7
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.36.0...v0.36.1

v0.36.0

31 Jan 11:46
59aa9f9
Compare
Choose a tag to compare

🚀 Added

🏋 Workflows Batch Processing in Roboflow cloud

We’re thrilled to introduce early access for Workflows Batch Processing in Roboflow Cloud! Now, you can process entire directories of images or video files using your Workflows - no coding required!

⚡ Feature characteristics

  • Asynchronous batch processing – You kick of a job that run in the background, and you can retrieve results later
  • High throughput - Feature is designed to process a lot of data - so if your machine is not capable enough to process the data you have - this solution may be for you 🎯
  • Fully managed – Runs on our cloud, so you don’t have to worry about infrastructure.
  • No UI yet, but CLI ready – Use the updated inference-cli to access the feature.

📺 Check out the demo to see it in action!

This is an alpha release, and we’re inviting a small group of early adopters to test it out. Let us know if you’d like to be among the first to try it! 🚀

batch_processing_short_demo.mp4

🔍 Select Bounding Boxes Contained Within a Specific Class

We’ve heard your feedback! A common challenge in object detection is distinguishing objects contained within another object - and we’ve got you covered.

For example:

  • 🚗 People inside a car vs. standing on the street
  • 📦 Products on a store shelf vs. misplaced items
  • 🔍 Defects within a specific component vs. background noise

We’re excited to announce a new Workflows operation that lets you filter bounding boxes based on spatial containment within a selected class. This makes it easier than ever to refine detections and extract the insights that matter most!

new_detections_filter.mp4

Check the details here

Auto mode in Stitch OCR Detections Block

Previously, users needed to manually specify the direction of text (e.g., left-to-right, top-to-bottom) before stitching. With the new "auto" mode, text direction is automatically detected as either left-to-right or top-to-bottom.

image

Check the details of @chandlersupple change here

💪 Improved

Full Changelog: v0.35.0...v0.36.0

v0.35.0

24 Jan 20:58
adfca01
Compare
Choose a tag to compare

🚀 Added

PLC Modbus TCP Block

This new block brings Modbus TCP communication to Workflows. The block uses the pymodbus library to read from and write to PLC registers over Modbus TCP. It supports three modes of operation:

read: Reads specified registers from a PLC.
write: Writes specified values to PLC registers.
read_and_write: Performs both reading and writing operations in one execution.

Adding Modbus TCP support allows workflows to interact with a broader range of PLCs and industrial devices that use the Modbus protocol.

Velocity block

New analytics block was added to Workflows to calculate and embed velocities and speeds of tracked objects across video frames.

Key Features:

  • Velocity Calculation: Computes raw and smoothed velocities based on object movements between frames.
  • Speed Calculation: Determines the magnitude of velocity vectors to obtain speed.

This block supports smoothing of velocity measurements using an exponential moving average with configurable smoothing_alpha.
Incorporated unit conversion from pixels to meters via the pixels_per_meter parameter

Add support to run ResNet Classification Model in Inference

The recent update to the Roboflow Inference repository introduces support for ResNet classification models, as described in the seminal paper "Deep Residual Learning for Image Recognition" (He et al., 2015, [arXiv:1512.03385](https://arxiv.org/abs/1512.03385)). This integration enables users to leverage the powerful ResNet architecture for image classification tasks, enhancing the model options available within the inference engine and expanding its utility for diverse computer vision applications.

💪 Improved

Multiple changes enhancing Inference documentation!

Improvements to Workflows Blocks

Security improvements

Improvements to webcam workflow preview

Other changes

Full Changelog: v0.34.0...v0.35.0

v0.34.0

17 Jan 17:19
6b987a7
Compare
Choose a tag to compare

🚀 Added

Introducing Stability AI Image Generation Block v1 🖌️✨

Your gateway to limitless creativity with Stability AI! Block leverages Stability AI’s robust API with an easy-to-use interface. Just plug in your Stability AI API key, and you’re ready to go!

Main features:

  • Text-to-Image Magic - Generate entirely new images from text prompts in seconds.
  • Image Variations Made Easy - Start with an image and let the block transform it into captivating variations. Adjust the influence of your input image with precise control (strength parameter).
  • Positive Prompts: Describe what you want to see.
  • Negative Prompts: Specify what you don’t want to include.
  • Model Selection: Choose from cutting-edge models (core, ultra, sd3) to best suit your creative needs.

💪 Improved

@hansent contributions enhancing Inference documentation!

⚡ Support for Roboflow Instant Models

Roboflow Instant Models are now supported in Inference! While this feature is part of the broader Roboflow Instant Models initiative, Inference now includes the ability to load these models seamlessly.
Roboflow Instant Models leverage the power of box prompting, utilizing your entire dataset as prompts during inference for enhanced performance and smarter predictions.

Other changes

New Contributors

Full Changelog: v0.33.0...v0.34.0

v0.33.0

10 Jan 22:35
46621f8
Compare
Choose a tag to compare

🚀 Added

Llama Vision 3.2 🤝 other VLMs supported in Workflows

We welcome new block bringing Llama Vision 3.2 to workflows ecosystem!

Llama 3.2 is a new generation of vision and lightweight models that fit on edge devices, tailored for use cases that require more private and personalized AI experiences.

Brought by @AHB102 in #866

Related changes:

MQTT Writer Enterprise Workflow Block (added in #930)

This block enables our enterprise users to publish messages to an MQTT broker through Workflows.

MQTT (Message Queuing Telemetry Transport) is a lightweight messaging protocol designed for low-bandwidth, high-latency, or unreliable networks. It's widely used in applications where devices need to communicate with minimal overhead, such as the Internet of Things (IoT).

With this change workflows can communicate with the world through MQTT!

Change introduced by @chandlersupple

Plc EthernetIP Enterprise Workflow Block (added in #905)

This block enables our enterprise users to interface with PLC.
A Programmable Logic Controller (PLC) is an industrial computer specifically designed to automate machinery and processes in manufacturing and other industries. It monitors inputs (e.g., sensors), processes data based on a programmed logic, and controls outputs (e.g., actuators) to perform tasks.
This block is utilizing pylogix library over Ethernet/IP. Block supports three modes of operation:

  • read: Reads specified tags from the PLC.
  • write: Writes specified values to the PLC tags.
  • read_and_write: Performs both read and write operations in a single execution.

This change brings vision capabilities into real-world industrial plants!

Change introduced by @reedajohns

💪 Improved

Documentation improvements

@yeldarby transforms Inference docs with streamlined navigation, styling, and instant rendering!

More contributions enhancing Inference documentation:

Improvements to CI by @alexnorell

Other changes

New Contributors

Full Changelog: v0.32.0...v0.33.0