Version 2.1.0
Version Info
Release date: 19.07.2021
Release info: Feature Release
General
This is a minor feature release for VisionLib which adds:
- Texture Color Model Tracking, which enables to use texture information of models to enrich tracking with color edges extracted from the textures. This is useful if the geometry of a tracking target isn't ideal to derive good contour information. Have a look at the
TextureColorModelTracking
example scene in Unity to see how to control this feature via the textureColorSensitivity
parameter. For more details, see Optional Tracking Parameters.
- The synchronization of tracking and displaying while using ARFoundation together with VisionLib has been improved. Therefore, the augmentation will appear smoother during tracking.
- Introduced the new parameter
enableEdgeFilter
, which allows to disable edge filtering. This increases execution times but might reduce the tracking performance of objects with repetitive patterns.
- Improved performance of MultiModelTracking.
- Several bug fixes and enhancements.
Thank you to all our users for giving feedback.
Features
General
- Added the possibility to use textures of models for enriching the tracking information with color edges. This is disabled by default. The
textureColorSensitivity
parameter controls the amount of edges extracted from the texture (see also Optional Tracking Parameters).
Unity
- Added a new example scene (
TextureColorModelTracking
) to show the usage of the new texture color model tracking.
- Added the possibility to set an init pose via the transform of a tracking anchor via the public
SetInitPose
or SetInitPoseAsync
method of the TrackingAnchor
.
Enhancements / Bugfixes
General
- Device type
ImageSequence
: Fixed a bug where images have been reloaded every frame, even if the path did not change.
- Improved performance of MultiModelTracking by eliminating unnecessary image copies.
- Fixed a bug that lead to crashes through uncaught std::bad_function_call exceptions when activating parallel execution of the graph API.
- Updated version Eigen to 3.3.9. This changes the list of used software and licenses (see Used Software and Licenses).
- Fixed a bug where the AutoInit cache was kept even though the focal length of the camera changed.
- Fixed a bug where applying a rotation to a model lead to only using parts of the model for tracking.
- Fixed a bug where using a tracking resolution larger then 1.25 times the render resolution lead to only using parts of the model for tracking.
Unity
- Fixed a bug that prevented auto-starting the tracking when using Dynamic Model Tracking.
- Fixed a bug in the file system management that prevented loading of vl-files directly inside the
StreamingAssets
directory.
iOS
- Fixed a bug that lead to a timeout of 6 seconds when restarting tracking with ARKit.
- No longer exporting internal symbols or symbols of external dependencies in the binary module.
- Improved synchronization if ARFoundation is used.
Android
- Improved synchronization if ARFoundation is used.
macOS
- The LicenseTool binary is now notarized.
- No longer exporting internal symbols or symbols of external dependencies in the binary module.
Interface Changes
General
- Removed obsolete parameter "device" from the imageSource data object in tracking configurations.
- Removed obsolete parameter "lineModelOcclusionTest" from the modelTracker data object in tracking configurations. Simply leave
modelURI
undefined, if you don't want to perform the occlusion test when using the lineModelURI
.
- Edge filtering can now be disabled to reduce memory consumption when using a large render resolution. To disable Edge filtering, set the parameter
enableEdgeFilter
to false
in the ModelTracker's parameter section of the Tracking Configuration. Be aware that this leads to adverse edges being generated on places where repeating patterns occur within small distances.
- To improve performance, this is set to
false
by default on HoloLens.
Unity
- Removed permission request of
WRITE_EXTERNAL_STORAGE
for Android application, which is no longer necessary to access files associated to the application.
- Methods to control the calibration process via the
CameraCalibration
component are now public.
- Removed fields
deviceID
and calibrated
from CameraCalibrationResult.CameraIntrinsics
. Please use the corresponding fields in CameraCalibrationResult
instead.
Native
Others
Documentation Changes