edgeIQ Release Notes

Release 1.8.1

Released April 21, 2022

Enhancements

  • 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.

Bug Fixes

  • 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.

Release 1.8.0

Released March 9, 2022

New Features

  • 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).

Enhancements

  • Support for parsing tags in analytics files loaded by load_analytics_results().

  • Offload JPEG encoding to hardware encoder on NVIDIA Jetson devices in the Streamer datapath.

  • Enable updates to predictions list of ObjectDetectionsResults.

Release 1.7.0

Released January 31, 2022

New Features

  • Add functionality for incorporating regions of interest into applications. This includes the ability to ingest JSON configuration files generated with the Zone Creator Tool and the addition of ZoneList and Zone classes, 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.

  • Add BarcodeDetection and QRCodeDetection features.

  • Add opencv_bbox() utility to BoundingBox, for getting the bounding box in OpenCV format.

Enhancements

  • Upgrade OpenCV to 4.5.4.

Release 1.6.0

Released December 6, 2021

Enhancements

  • Improve the RealSense API.

  • Reduce the memory footprint of import edgeiq. As a result, realsense, oak, and eyecloud modules must be explicitly imported before usage. For example:

import edgeiq
from edgeiq import realsense

rs = edgeiq.realsense.RealSense()

Bug Fixes

  • Add check for valid inputs in BoundingBox to prevent divide by 0 error.

  • Fix incorrect logs in RtspVideoWriter.

Release 1.5.0

Released November 8, 2021

New Features

  • Add analytics publishing features.

  • Add RtspVideoWriter to host an RTSP server with a variable number of H264-encoded streams.

  • Add GStreamerCustomVideoStream to enable custom GStreamer pipelines as input to your application.

Enhancements

  • Add non-blocking frame read to all video streams.

  • Add min_inertia to Object Tracking to reduce tracking false detections.

Release 1.4.0

Released August 23, 2021

New Features

  • Introduce MOG2 background subtraction utility

  • Add contours utility functions

  • Add serialization utility function for core CV services

Bug Fixes

  • Fix image rotation utility

Release 1.3.2

Released June 24, 2021

Enhancements

  • Add enter and exit callbacks to KalmanTracker.

Release 1.3.1

Released June 8, 2021

Enhancements

  • Added type annotations for edgeIQ as described in PEP 561.

Bug Fixes

  • Resolved an issue where FileVideoStream.read would occasionally return None.

Release 1.3.0

Released May 10, 2021

New Features

  • Add Kalman Tracker to track objects between frames using a Kalman filter-based tracker.

Bug Fixes

  • Resolved an issue where the model ID is not correctly displayed on Windows.

Release 1.2.2

Released May 4, 2021

New Features

Enhancements

  • 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.

Release 1.2.1

Released April 6, 2021

Enhancements

  • Improve OAK camera API (OAK API).

Bug Fixes

  • Resolve an issue with restarting camera video streams.

Release 1.2.0

Released March 12, 2021

New Features

  • Add support for OAK-D camera (OAK API).

  • Replace existing CorrelationTracker that provides a dictionary of objects organized by ID. The interface has changed so any code utilizing CorrelationTracker will need to be updated. See additional details in the Object Tracking Section.

Enhancements

  • Improve mode selection for JetsonVideoStream with JetsonCameraMode.

Release 1.1.0

Released February 24, 2021

New Features

  • Add Oak to capture frames and to execute models on Oak cameras.

Release 1.0.1

Released February 19, 2021

Bug Fixes

  • Fix an issue where Object Detection on Tensor RT would fail due to incorrect resize of input image.

Release 1.0.0

Released February 15, 2021

New Features

  • Support for production mode deployment.

  • Support for YOLO on TensorRT.

Release 0.17.1

Released December 16, 2020

Bug Fixes

  • Resolve an issue where the Streamer would crash due to mismatching socketIO versions.

Release 0.17.0

Released December 10, 2020

New Features

  • Add MjpgVideoWriter to host a MJPG video streaming server on the device.

  • Add EyeCloud to capture frames and to execute models on a EyeCloud cameras.

Enhancements

  • Update RealSense API to improve usability. This is a breaking change so users should update their applications to match the new API.

Known Issues

  • EyeCloud: delay in the video feed when running on the Raspberry Pi 4.

  • EyeCloud.get_model_result: the sequence_index of the image that comes with the result objects may be inaccurate. Use the sequence_index attribute of the result object directly.

Release 0.16.1

Released October 5, 2020

New Features

  • Add ObjectDetection support for TensorRT.

Bug Fixes

  • Resolve an issue where FileVideoStream fails to exit on crash.

Release 0.16.0

Released September 9, 2020

New Features

  • 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.

Enhancements

  • Improve performance of PoseEstimation on edge devices.

Release 0.15.1

Released August 21, 2020

New Features

  • Add tools for working on Jetson devices: is_jetson(), is_jetson_nano(), and is_jetson_tx2().

Release 0.15.0

Released August 6, 2020

New Features

  • 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 FROM line for a specific architecture. Here are the changes:

    • arm -> armv7hf

    • arm64 -> aarch64

Enhancements

  • FileVideoStream now restarts when start() is called a second time.

  • Support for OPENVINO engine on CPU dropped due to uneven support across devices.

Known Issues

  • OpenCV + OpenVINO on armv7hf docker image still at 4.1.2 + 2019_R3.1 due to issues with OpenVINO on 32 bit systems.

Release 0.14.2

Released June 10, 2020

New Features

  • Enable RealSense cameras for Mac OSX and Windows.

Release 0.14.1

Released June 5, 2020

New Features

  • Add RealSense.compute_distance_between_objects to compute the distance between two detected objects in 3D space.

Bug Fixes

  • Fix TensorRT memory leak.

Release 0.14.0

Released May 19, 2020

New Features

  • Pose Estimation on all platforms.

  • RealSense depth camera support.

  • Pose Estimation using TensorRT Engine, optimization for NVIDIA GPUs.

  • Support OPENVINO engine on Intel CPUs.

Bug Fixes

  • Fix windows DLL import error

Known Issues

  • The Intel Neural Compute Stick is not supported running directly on Mac OSX or Windows.

Release 0.13.0

Released April 28, 2020

New Features

  • Add edgeiq.overlay_image to combine foreground and background images based on an input mask.

  • Support for NVIDIA Jetson TX2. Docker containers are tagged as alwaysai/edgeiq:tx2-x.x.x.

  • NVIDIA Jetson Nano containers upgraded to Jetpack 4.3/L4T 32.3.1.

  • Mac OSX installer for Mojave and Catalina.

Enhancements

  • Added debug logs to EventVideoWriter.

  • Reduced network load when using Streamer.

  • Improved Streamer shutdown process.

  • Jetson CSI cameras are now supported by the CLI.

  • Improved exception handling for cameras.

Bug Fixes

  • Fix a bug in VideoWriter where a None object is called and throws an exception.

  • Fix a bug in FileVideoStream to handle no frame exception.

Known Issues

  • The Intel Neural Compute Stick is not supported running directly on Mac OSX.

Release 0.12.0

Released March 13, 2020

New Features

  • Add filtering by class to Semantic Segmentation (SemanticSegmentation.build_object_map(self, class_map, class_list)).

  • Add 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.

Enhancements

  • Add edgeiq.Accelerator.NVIDIA_FP16 to run models on an NVIDIA GPU compressed to 16 bit floating point.

  • Detect when NCS devices are not attached when using edgeiq.Accelerator.MYRIAD.

Known Issues

  • The alwaysai/enet model is currently not supported on edgeiq.Accelerator.NVIDIA_FP16.

Release 0.11.1

Released February 13, 2020

Enhancements

  • Install OpenCV C++ headers so that 3rd party libraries can use them.

  • Usability and performance improvements in Pose Estimation.


                       .-.
        .-""`""-.    |(@ @)
     _/`oOoOoOoOo`\_ \ \-/
    '.-=-=-=-=-=-=-.' \/ \
      `-=.=-.-=.=-'    \ /\
         ^  ^  ^       _H_ \

Release 0.11.0

Released January 29, 2020

New Features

  • 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.0 docker image, and using edgeiq.engine.DNN_CUDA as the engine and edgeiq.accelerator.NVIDIA as the accelerator.

Enhancements

  • Split off GStreamerVideoStream from WebcamVideoStream to enable more flexibility on gstreamer inputs. The gstreamer parameter is no longer available in WebcamVideoStream.

  • Add repr to 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.

Known Issues

  • The Intel Neural Compute Stick is not supported running directly on Windows.

Release 0.10.0

Released January 14, 2020

New Features

  • Add SemanticSegmentation to classify and label each individual pixel in an image. Try out this new feature with one of the following starter apps:

    • semantic_segmentation_cityscape

    • semantic_segmentation_voc.

  • Add IPVideoStream to capture data from cameras and videos streaming over the internet.

Enhancements

  • Update FileVideoStream to support simulating real time video playback.

Release 0.9.0

Released December 5, 2019

New Features

  • Add support for CSI cameras with GStreamer. Set the gstreamer flag to True when instantiating a WebcamVideoStream object to use this feature.

Enhancements

  • Host Web Streamer libraries locally to enable using the Streamer without an internet connection.

Release 0.8.0

Released November 8, 2019

New Features

  • Add PoseEstimation for characterizing human poses in images and video. Try it out with the realtime_pose_estimator starter app. Currently, PoseEstimation is only supported on Linux using MYRIAD accelerators (NCS1/NCS2).

  • Add blur_objects() utility to blur a list of detected objects in an image.

  • Add transparent_overlay_boxes() utility to overlay colored boxes on detected objects in an image.

  • Add detect_simple_camera_blockage() to detect camera blockages in some simplistic cases.

Bug Fixes

  • Fix issue with installing edgeIQ autocomplete helper on Raspberry Pi.

Release 0.7.20

Released October 17, 2019

Enhancements

  • Improve bash prompt styling when using aai app shell.

  • Improve error logs for FileVideoStream.

Bug Fixes

  • Resolve pip install failure on Raspberry Pi when using requirements.txt.

Release 0.7.0

Released September 17, 2019.

New Features

  • Add EventVideoWriter to 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.

    • The obsolete EventWriter class 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.

  • Add g++ and cmake to edgeIQ Docker image to enable building wheels from requirements.txt.

Enhancements

  • Update FPS interface to better reflect function action:

    • elapsed() changed to get_elapsed_seconds().

    • fps() changed to compute_fps().

Release 0.6.3

Released September 10, 2019.

Enhancements

  • Pass exceptions that occur in Streamer up to the top level app using the send_data() function.

  • Improve FPS class to compute an approximate FPS value without calling the fps.stop() function.

  • Visual improvements to Streamer, including expanding the output text box width and displaying the current edgeIQ version.

Bug Fixes

  • Resolve issue with displaying a single image on the Streamer in slideshow mode.

Release 0.6.2

Released August 27, 2019.

Enhancements

  • Add additional console logs and Streamer text data to Starter Applications.

Bug Fixes

  • Resolve “divide by 0” error seen when using cutout_image() with ObjectDetection.detect_objects() output.

Release 0.6.0

Released August 13, 2019.

New Features

  • 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.

Enhancements

  • Improve Streamer performance in poor network conditions.