documentation

Release 19.1.1 + 19.2.1

Version Info

Release date: 01.02.2019 Release info: New Year Pre-Release

Summary

  • Various optimizations within the visionLib lead to much more performance.
  • Totally dynamic models. Add, Remove, Change models to be tracked during runtime.
  • Directly use models from within Unity for tracking (BETA).
  • Use a PosterTracker for the HoloLens.
  • Manny optimizations and bug fixes.

General

  • The first frame of image sequences and videos was accidentally skipped. This has been fixed and the tracking should now actually start with the first frame.
  • Setting the lineSearchLengthTracking and lineSearchLengthTrackingRelative value of a model-based tracking configuration at runtime didn't work since version 18.9.1. Changing them should now work properly again.
  • BREAKING CHANGE: We have generally rotated iOS and Android images by default now to landscape mode. This should not have any general implications, if you are NOT using recorded images. If yes, you will need to add a -portrait to the deviceID. The calibrationDB has been bumped to v2 therefore while it still has its old format. When loading an 'old' (version 1) camera calibration data base, all intrinsics having an aspect < 1 will be saved twice interally (rotated CCW) and with deviceID-portrait.
  • Missing material (*.mtl) files of 3D models will no longer lead to an error, but will output a warning. This will not affect the tracking quality.
  • Fixed an issue, where on slower CPUs all cores will be stressed resulting in stumbling image processing.
  • A default camera calibration computed from the image resolution will now be used for videos and image sequences, if no further details (device, deviceID, calibration or calibrationURI) were specified (the "camera" image source already behaved like this). Previously some arbitrary other camera calibration was used in this case, which would cause big problems, if the aspect ratio of the camera image was different from this calibration.

iOS

HoloLens

  • Added a speech recognition module for Windows and HoloLens (WindowsSpeechRecognitionBehaviour.cs). It is included in the HoloLens example. Saying change model will switch the tracking model (and the displayed content).
  • Added the first HoloLensPosterTracker. It enables the use of a poster tracker in combination with the HoloLens tracking. For more details look in the according section in the HoloLens deployment tutorial (HoloLens Model and Poster Tracker Tutorial)

Enhancements/Features

  • It is now possible to change the keyFrameRotation parameter of the model-tracker at runtime.
  • Several camera parameters (focus, exposure, ...) can now be set for a "camera" image source on Windows systems. See the "Controlling Camera Parameters" section of Handling Input Sources for further details.

    Platform specific changes

Tracking

Android

  • Android images are now processed internally in landscape format - also the image aquisition in general has been optimized.

Interfaces

Native

  • The asynchronous Worker now only delivers the latest event data per vlWorker_PollEvents / vlWorker_WaitEvents call. Previously the events of up to 5 frames were buffered and the registered listeners were notified in rapid succession. This could cause performance issues.
  • Events of a single frame are now fired together in vlWorker_PollEvents / vlWorker_WaitEvents. Previously a slow event listener could cause a displacement between the different event types (e.g. the camera pose is newer than the camera image).
  • Added two examples using the native C-API of the vlSDK to perform the tracking under Windows. There is also a tutorial (Building the Windows Examples) explaining how to build the examples.
  • The enum vlScreenOrientation in vlSDK.h was renamed to vlRenderRotation. Existing code using this enum can be updated through the following replacements:
VL_SCREEN_ORIENTATION_PORTRAIT => VL_RENDER_ROTATION_CCW_0
VL_SCREEN_ORIENTATION_PORTRAIT_UPSIDE_DOWN => VL_RENDER_ROTATION_CCW_180
VL_SCREEN_ORIENTATION_LANDSCAPE_LEFT => VL_RENDER_ROTATION_CCW_90
VL_SCREEN_ORIENTATION_LANDSCAPE_RIGHT => VL_RENDER_ROTATION_CCW_270

Unity

  • The VLRuntimeParameterBehaviour didn't work correctly on Windows systems with certain region settings. The VLRuntimeParameterBehaviour should now be independent from the region setting.
  • The AdvancedModelTrackerExample scene used an unexpected license file name. Now all example scenes use the same license file name "license.xml".
  • Added the keyFrameRotation parameter to the VLRuntimeParameters_ModelTracker_v1 prefab.
  • Added a slider for the keyFrameRotation parameter to the AdvancedModelTrackerExample scene.
  • It is now possible to use the local_storage_dir scheme in the filename given to the VLWorkerBehaviour.StartTracking function. Since the directory pointed to by local_storage_dir is writeable, one can update the vl-file without having to re-deploy the whole application. Take a look at the "Integrated Schemes" section in Configuration File Reference to find out to which directory the local_storage_dir scheme points for each platform.
  • A specific VLModelTracker_v1 behaviour has been added, which will encapsulate all relevant functions for the ModelTracker pipeline.
  • Added setModelURI function to VLWorkerBehaviour.cs. With this function, the URI of the model used for tracking can be changed during runtime.
  • Added ChaneModelBehaviour.cs. This behaviour enables the user to exclusively switch between several models in both displaying and tracking.
  • Added button for changing model in the AdvancedModelTrackerExample scene. With this button, one can switch between different models.

Tools

License Tool

Licensing Changes

Documentation Changes

Organizational Changes