edgeIQ Release Notes¶
Released April 5, 2023
Connects to the alwaysAI Device Agent for Remote Deployment functionality. New behavior includes:
Guaranteed cloud connection when enabled: When cloud connection is enabled and the connection fails, edgeIQ will crash.
Quality of service considerations for analytics data:
publish_analytics()will throw exceptions when error conditions hit, including rate limiting, going beyond the packet size limit, and message queue overloads.
Build an HTTP inference server and client with
Improve zone interface and usability
Improve performance of zone drawing
Enable per-zone color selection
Tensor RT support for Image Classification
Released February 13, 2023
Add support for Qualcomm’s cloud AI 100 accelerator card.
Add functionality to validate model configuration.
Add support for Jetpack 4.6.1.
compute_prediction_overlap_with_zoneto compute the fraction of prediction box overlapped by the zone.
Released January 11, 2023
Batch support for Tensor RT models.
TimingProfileradded to make timing analysis easier.
GStreamerCustomVideoWriterto enable fully customizable GStreamer video writers. The
GStreamerUdpVideoWriterwas removed by this change and documentation describes how to write a GStreamer pipeline for a UDP stream.
Enable restarting video streams by calling
start()a second time.
Improve type hints for Object Tracking and Base Service results.
Raise exception if analytics packet publish fails.
Resolved an issue where MJPG Streamer did not close properly.
Released August 18, 2022
Publish Instance Segmentation results with
Set FPS as property and override the default fps of the video file in
Provide the list of models installed for the application in the edgeIQ API:
Publish wheel files for Python3.8 in addition to Python3.7
Numpy version upgraded from 1.18.1 to 1.21.0
Resolved an issue with framework checks for eyecloud
Released June 27, 2022
Enable use of CUDA on amd64.
Perform Instance Segmentation with
Analyze the real-world performance of your object tracker with
Expose estimated position and velocity in
Automatically serialize dictionaries and lists in
Save converted TensorRT model after conversion from ONNX.
Remove a tracked object from an object tracker.
Track the history of an object with an object tracker.
Access the full model configuration from a base service. e.g.
Resolved an issue with loading custom analytics packets.
Resolved an issue where a Jetson device would appear unsupported if the YOLO plugin wasn’t present but YOLO was not being used.
Released April 21, 2022
Validate TensorRT models are run on the correct device.
Make DLIB an optional dependency. This won’t effect most users, but will make the manual installation of edgeIQ wheels much quicker since DLIB will no longer need to be built.
Lock Flask version to 2.1.0 and Werkzeug,a requirement of Flask, to version prior to 2.1 for compatibility
Strip leading and trailing whitespaces from labels of the models.
Released March 9, 2022
Upgrade to JetPack 4.6 for NVIDIA Jetson devices. Follow the instructions on the Working with edge devices page to flash your Jetson device with JetPack 4.6.
Support production analytics on host machines (the device that is running the CLI).
Support for parsing tags in analytics files loaded by
Offload JPEG encoding to hardware encoder on NVIDIA Jetson devices in the Streamer datapath.
Enable updates to
Released January 31, 2022
Add functionality for incorporating regions of interest into applications. This includes the ability to ingest JSON configuration files generated with the
Zone Creator Tooland the addition of
Zoneclasses, as well as associated utility functions.
Add device support for Jetson AGX Xavier, and add
is_jetson_agx_xavier()tool to check if running on AGX Xavier.
BoundingBox, for getting the bounding box in OpenCV format.
Upgrade OpenCV to 4.5.4.
Released December 6, 2021
Reduce the memory footprint of
import edgeiq. As a result,
eyecloudmodules must be explicitly imported before usage. For example:
import edgeiq from edgeiq import realsense rs = edgeiq.realsense.RealSense()
Add check for valid inputs in
BoundingBoxto prevent divide by 0 error.
Fix incorrect logs in
Released November 8, 2021
Add analytics publishing features.
RtspVideoWriterto host an RTSP server with a variable number of H264-encoded streams.
GStreamerCustomVideoStreamto enable custom GStreamer pipelines as input to your application.
Add non-blocking frame read to all video streams.
min_inertiato Object Tracking to reduce tracking false detections.
Released August 23, 2021
Introduce MOG2 background subtraction utility
Add contours utility functions
Add serialization utility function for core CV services
Fix image rotation utility
Released June 8, 2021
Resolved an issue where
FileVideoStream.readwould occasionally return None.
Released May 10, 2021
Kalman Trackerto track objects between frames using a Kalman filter-based tracker.
Resolved an issue where the model ID is not correctly displayed on Windows.
Released May 4, 2021
Add April Tag Detector to detect april tags.
Upgrade OpenCV to 4.5.1 and OpenVINO to 2021.2.
Upgrade to Python 3.7 across the platform.
Speedup of YOLOv3 post processing on DNN backend.
Released April 6, 2021
Resolve an issue with restarting camera video streams.
Released March 12, 2021
Add support for OAK-D camera (OAK API).
CorrelationTrackerthat provides a dictionary of objects organized by ID. The interface has changed so any code utilizing
CorrelationTrackerwill need to be updated. See additional details in the Object Tracking Section.
Improve mode selection for
Released February 24, 2021
Oakto capture frames and to execute models on Oak cameras.
Released February 19, 2021
Fix an issue where
Object Detectionon Tensor RT would fail due to incorrect resize of input image.
Released February 15, 2021
Support for production mode deployment.
Support for YOLO on TensorRT.
Released December 16, 2020
Resolve an issue where the
Streamerwould crash due to mismatching socketIO versions.
Released December 10, 2020
MjpgVideoWriterto host a MJPG video streaming server on the device.
EyeCloudto capture frames and to execute models on a EyeCloud cameras.
RealSenseAPI to improve usability. This is a breaking change so users should update their applications to match the new API.
EyeCloud: delay in the video feed when running on the Raspberry Pi 4.
sequence_indexof the image that comes with the result objects may be inaccurate. Use the
sequence_indexattribute of the result object directly.
Released October 5, 2020
ObjectDetectionsupport for TensorRT.
Resolve an issue where
FileVideoStreamfails to exit on crash.
Released September 9, 2020
Upgrade JetPack to 4.4 for NVIDIA Jetson devices. The base docker image works on all Jetson devices and is tagged
alwaysai/edgeiq:jetson-0.16.0. The image requires JetPack 4.4 to run. Make sure to reconfigure (
aai app configure) your app after you upgrade your Jetson device.
Add support for NVIDIA Jetson Xavier NX, and add
is_jetson_xavier_nx()tool to check if running on Xavier NX.
Improve performance of
PoseEstimationon edge devices.
Released August 21, 2020
Add tools for working on Jetson devices:
Released August 6, 2020
Upgrade OpenCV version to 4.4.0 and OpenVINO version to 2020.4. OpenVINO version 2020.4 has dropped support for NCS1, therefore NCS1 is no longer supported on alwaysAI. The
find_ncs1()tool is no longer available.
Update Dockerfile naming to be more specific. This only impacts users who have hardcoded their docker image
FROMline for a specific architecture. Here are the changes:
arm -> armv7hf
arm64 -> aarch64
FileVideoStreamnow restarts when
start()is called a second time.
Support for OPENVINO engine on CPU dropped due to uneven support across devices.
OpenCV + OpenVINO on armv7hf docker image still at 4.1.2 + 2019_R3.1 due to issues with OpenVINO on 32 bit systems.
Released June 10, 2020
Enable RealSense cameras for Mac OSX and Windows.
Released June 5, 2020
RealSense.compute_distance_between_objectsto compute the distance between two detected objects in 3D space.
Fix TensorRT memory leak.
Released May 19, 2020
Pose Estimation on all platforms.
RealSense depth camera support.
Pose Estimation using TensorRT Engine, optimization for NVIDIA GPUs.
Support OPENVINO engine on Intel CPUs.
Fix windows DLL import error
The Intel Neural Compute Stick is not supported running directly on Mac OSX or Windows.
Released April 28, 2020
edgeiq.overlay_imageto combine foreground and background images based on an input mask.
Support for NVIDIA Jetson TX2. Docker containers are tagged as
NVIDIA Jetson Nano containers upgraded to Jetpack 4.3/L4T 32.3.1.
Mac OSX installer for Mojave and Catalina.
Added debug logs to
Reduced network load when using
Jetson CSI cameras are now supported by the CLI.
Improved exception handling for cameras.
Fix a bug in
VideoWriterwhere a None object is called and throws an exception.
Fix a bug in
FileVideoStreamto handle no frame exception.
The Intel Neural Compute Stick is not supported running directly on Mac OSX.
Released March 13, 2020
Add filtering by class to Semantic Segmentation (
SemanticSegmentation.build_object_map(self, class_map, class_list)).
JetsonVideoStream()for Jetson Nano CSI camera support. Note that the alwaysAI CLI does not support the Jetson Nano CSI camera at the time of this release.
edgeiq.Accelerator.NVIDIA_FP16to run models on an NVIDIA GPU compressed to 16 bit floating point.
Detect when NCS devices are not attached when using
alwaysai/enetmodel is currently not supported on
Released February 13, 2020
Install OpenCV C++ headers so that 3rd party libraries can use them.
Usability and performance improvements in Pose Estimation.
.-. .-""`""-. |(@ @) _/`oOoOoOoOo`\_ \ \-/ '.-=-=-=-=-=-=-.' \/ \ `-=.=-.-=.=-' \ /\ ^ ^ ^ _H_ \
Released January 29, 2020
Add support for the NVIDIA Jetson Nano. The GPU on the Jetson Nano can be used by starting your Dockerfile with
FROM alwaysai/edgeiq:nano-0.11.0docker image, and using
edgeiq.engine.DNN_CUDAas the engine and
edgeiq.accelerator.NVIDIAas the accelerator.
WebcamVideoStreamto enable more flexibility on gstreamer inputs. The
gstreamerparameter is no longer available in
reprto results objects to easily print the contents.
Updated to Python 3.6 in Docker images and Windows native.
Update OpenCV to version 4.1.2 in Linux docker images and Windows native.
Update OpenVINO to version 2019 R3.1 in Linux docker images.
The Intel Neural Compute Stick is not supported running directly on Windows.
Released January 14, 2020
SemanticSegmentationto classify and label each individual pixel in an image. Try out this new feature with one of the following starter apps:
IPVideoStreamto capture data from cameras and videos streaming over the internet.
FileVideoStreamto support simulating real time video playback.
Released December 5, 2019
Add support for CSI cameras with GStreamer. Set the
Truewhen instantiating a
WebcamVideoStreamobject to use this feature.
Host Web Streamer libraries locally to enable using the Streamer without an internet connection.
Released November 8, 2019
PoseEstimationfor characterizing human poses in images and video. Try it out with the
realtime_pose_estimatorstarter app. Currently,
PoseEstimationis only supported on Linux using MYRIAD accelerators (NCS1/NCS2).
blur_objects()utility to blur a list of detected objects in an image.
transparent_overlay_boxes()utility to overlay colored boxes on detected objects in an image.
detect_simple_camera_blockage()to detect camera blockages in some simplistic cases.
Fix issue with installing edgeIQ autocomplete helper on Raspberry Pi.
Released October 17, 2019
Improve bash prompt styling when using
aai app shell.
Improve error logs for
Resolve pip install failure on Raspberry Pi when using requirements.txt.
Released September 17, 2019.
EventVideoWriterto enable recording video clips based on event triggers. The class supports pre-roll and post-roll recording to capture video before and after the event occurs.
EventWriterclass was removed.
Add button on Streamer to stop a running app. For realtime apps, use the
check_exit()function to break out of your main loop.
cmaketo edgeIQ Docker image to enable building wheels from requirements.txt.
FPSinterface to better reflect function action:
Released September 10, 2019.
Pass exceptions that occur in Streamer up to the top level app using the
FPSclass to compute an approximate FPS value without calling the
Visual improvements to Streamer, including expanding the output text box width and displaying the current edgeIQ version.
Resolve issue with displaying a single image on the Streamer in slideshow mode.
Released August 27, 2019.
Add additional console logs and Streamer text data to Starter Applications.
Resolve “divide by 0” error seen when using
Released August 13, 2019.
Add Correlation Tracker for tracking objects across frames between detections
Add Centroid Tracker for tracking unique objects between two detections.
Add MYRIAD support across arm32, arm64, and amd64 architectures.
Add utilities to work with bounding boxes, including computing overlap and intersection between boxes as well as cutting out image segments.
Add edgeIQ abstract package for desktop autocomplete support.
Improve Streamer performance in poor network conditions.