Skip to main content

What's New

Version history for the SFE Toolkit. The most recent release is at the top.

Changelog​

All notable changes to this project are documented in this file.

[4.2.1] - 2026-03-16​

Fixed​

  • Documentation missing in the package [BSDK-545]
  • Fix minor documentation inconsistencies

[4.2.0] - 2026-03-09​

Fixed​

  • Fixed incorrect Face extraction preprocessing that affected accuracy. [BSDK-486]

Breaking Changes​

  • Face templates extracted using prior v4.x toolkit must be re-extracted.

[4.1.0] - 2026-02-18​

Added​

  • Optional Palm landmarks on detection: palm detections can now carry attached landmarks, so you can skip calling palm landmark extraction when the detector already provides them.
  • C API: SFEPalmLandmarks and SFEPalmDetectionData with has_landmarks and landmarks.
  • UniFFI: PalmLandmarks dictionary and Modality::Palm with optional landmarks.

Fixed​

  • Palm landmark extraction reuses landmarks already on the detection when present. Fixes [BSDK-484].

[4.0.4] - 2026-02-12​

Added​

  • Face template export/import support [BSDK-463]
  • C API: sfeFaceTemplateExport(), sfeFaceTemplateImport()
  • UniFFI: template_export, template_import

[4.0.3] - 2026-02-09​

Fixed​

  • Fixed incorrect score normalization in Face match/identification [BSDK-479]

[4.0.2] - 2026-02-04​

Fixed​

  • Updated Android NDK to r28c to fix 16k page size issues [BSDK-459]
  • Updated SFEImageFormat definition to match implementation
  • More predictable identification performance on various platforms

[4.0.1] - 2026-01-30​

Added​

  • Support for TFLite and TensorFlow models

Changed​

  • Fixed missing mutli-detection models in all packages
  • Fixed missing models in Ambarella packages

[4.0.0] - 2026-01-29​

Breaking Changes​

Unified Detection API​

All modality-specific detection types and functions have been replaced with a unified detection system:

  • New SFEDetection struct replaces all modality-specific detection types (SFEFaceDetect, SFEIrisDetect, SFEPalmDetect, SFEObjectDetect, SFETattooDetection, SFEPersonDetectOriented)
  • New sfeDetect() function replaces modality-specific detection functions (sfeFaceDetect, sfeIrisDetect, sfePalmDetect, sfeObjectDetect, sfeTattooDetect)
  • Detection modality is indicated by SFEModality enum field in SFEDetection
  • Field names standardized: bbox → bounding_box, bbox_confidence → confidence
Unified Tracker API​

All modality-specific tracker functions have been replaced with unified tracker functions:

  • sfeDetectionTrackerCreate(), sfeDetectionTrackerUpdate(), sfeDetectionTrackerFree(), sfeDetectionTrackerLost(), sfeDetectionTrackerRemoved()
  • Tracker creation now requires 5 parameters with new new_track_thresh parameter for minimum confidence to initialize a new track
  • max_time_lost parameter type changed from size_t to uint64_t
Core API Changes​
  • Type renames:
    • SFELicenseSource → SFELicenseType
    • SFE_LICENSE_SOURCE_* → SFE_LICENSE_TYPE_*
    • SFEBbox → SFEBoundingBox
    • SFEOrientedBbox → SFEOrientedBoundingBox
  • Function renames:
    • sfeImageLoad() → sfeImageDecode()
    • sfeImageSave() → sfeImageEncode()
    • sfeSolverCreateWithParameters() → sfeSolverCreate()
  • Signature changes:
    • sfeImageInfo(): Now returns SFEImageInfo struct instead of separate output pointers
    • sfeImageColorTranspose(): Now returns new image via out_image parameter instead of in-place modification
    • sfeLicenseValidate(): No longer returns license source; use new sfeLicenseType() function instead
Face API Changes​
  • SFEFaceDetectAccuracyType → SFEFaceDetectionAccuracyType
  • sfeFaceLandmarks(): Now accepts const SFEDetection * instead of SFEBbox
  • sfeFaceTemplateExtract(): Now requires const SFEDetection * parameter
  • sfeFaceLivenessPassive(): Now returns SFEFaceLiveness struct instead of float
  • sfeFaceDetectInputSize(): Now returns SFEDetectionInputSize struct
  • sfeFaceCrop(): face_size_extension parameter changed from uint32_t to float
Palm API Changes​
  • New SFEPalmLandmarks struct and sfePalmLandmarks() function for palm landmark extraction
  • sfePalmTemplateExtract(): Now accepts const SFEPalmLandmarks * instead of detection
  • sfePalmAttributes(): Now accepts const SFEPalmLandmarks * instead of detection
  • sfePalmLivenessPassive(): Now accepts const SFEDetection *
Person API Changes​
  • sfePersonAttributes(), sfePersonPose(), sfePersonTemplateExtract(): Now accept const SFEDetection * instead of SFEBbox
Iris API Changes​
  • sfeIrisTemplateExtract(): Now accepts const SFEDetection *
Tattoo API Changes​
  • sfeTattooTemplateExtract(): Now accepts const SFEDetection *
  • sfeTattooTemplateVersion(): Now returns SFETattooTemplateVersion struct
Other Breaking Changes​
  • SFEEntityIdentificationCandidate struct now includes index field

Added​

  • Unified detection API with sfeDetect() supporting all modalities
  • New multi_detect_bb detection solver for Face, Person, Palm and QR detection
  • Unified tracker API with sfeDetectionTracker*() functions
  • SFEDetection struct with SFEModality discriminator for type-safe detection results
  • SFEImageInfo struct for image metadata
  • SFEDetectionInputSize struct for detection input size calculation
  • SFEPalmLandmarks struct and sfePalmLandmarks() function
  • SFEFaceLiveness struct for liveness results
  • sfeLicenseType() function to query current license type

Changed​

  • Improved error messages with more detailed explanations
  • Solvers are now validated for compatibility on load
  • New face extraction models: balanced, fast, accurate (replacing legacy models)
  • Updated person_detect_fisheye solver

Removed​

  • Modality-specific detection structs: SFEFaceDetect, SFEIrisDetect, SFEPalmDetect, SFEObjectDetect, SFETattooDetection, SFEPersonDetectOriented
  • Modality-specific detection functions: sfeFaceDetect(), sfeIrisDetect(), sfePalmDetect(), sfeObjectDetect(), sfeTattooDetect()
  • Modality-specific tracker functions: sfeFaceTracker*(), sfeIrisTracker*(), sfePalmTracker*(), sfeObjectTracker*()
  • Deprecated type aliases: SFEFaceEntity, SFEIrisEntity, SFEPalmEntity, SFEPersonEntity, SFEObjectEntity, SFETattooEntity (use SFEEntity)
  • Deprecated type aliases: SFEIdentificationResult, SFE*TemplateIdentificationCandidate (use SFETemplateIdentificationCandidate)
  • Deprecated type aliases: SFE*EntityIdentificationCandidate (use SFEEntityIdentificationCandidate)
  • SFEPalmQualityAttributes and sfePalmQualityAttributes() (use SFEPalmAttributes and sfePalmAttributes())
  • Legacy face extraction models

[3.4.0] - 2026-01-19​

Added​

  • Added support for fast evaluation of demographic attributes (BSDK-412)

[3.3.1] - 2026-01-13​

Added​

  • Added sfeLicenseType function to get the license type (BSD-302)

Changed​

  • Python module now searches for native libraries also in system directories and LD_LIBRARY_PATH (BSDK-303)

Fixed​

  • Fixed an issue where Python examples from the Conan package could not be run without a prior pip installation (BSDK-303)
  • Tattoo detection bounding box is clamped to the 0,1 range (BSDK-385)
  • Empty tattoo detection bounding box is not propagated (BSDK-385)

[3.3.0] - 2025-12-10​

Added​

  • Added demographic attributes (BSDK-229, BSDK-384)

Fixed​

  • Missing tattoo solvers are added into conan package (BSDK-383)

[3.2.4] - 2025-12-03​

Changed​

  • Implementation of tattoo extraction uses real solver (BSDK-282)

[3.2.3] - 2025-11-28​

Changed​

  • Implementation of tattoo detection uses real solver (BSDK-284)

[3.2.2] - 2025-11-05​

Fixed​

  • Minor documentation fixes.

[3.2.1] - 2025-10-29​

Changed​

  • All android libraries now use 16 kB page sizes, as mandated by Google for architectures x86_64 and arm64-v8a (BSDK-279)

[3.2.0] - 2025-10-14​

Breaking Change​

  • Fixed Palm template extraction for palm.extraction.resnet50; template now reports version v1.1.0 and invalidates older templates. [BSDK-291]

[3.1.5] - 2025-10-10​

Added​

  • Added new face_detect_fast model [BSDK-26]

[3.1.4] - 2025-10-06​

Added​

  • Publishing aarch64-unknown-linux-gnu and aarch64-apple-darwin Conan packages to Artifactory [BSDK-238]

Changed​

  • Updated palm extraction model palm.extraction.resnet50 [BSDK-269]
    • Improved performance on Intel CPUs
    • Updated onnxruntime_solver to version 0.10.25

Fixed​

  • Revised outdated documentation and fixed run issues in code examples. [BSDK-251]

[3.1.3] - 2025-09-29​

Fixed​

  • Added missing tattoo extraction methods into UniFFI API [BSDK-245]

[3.1.2] - 2024-09-25​

Changed​

  • Updated face_liveness_passive_nearby_fast.tflite.solver with better accuracy on NXP NPUs [BSDK-234]
  • tflite_solver updated to v0.10.11 [BSDK-234]

[3.1.1] - 2025-09-18​

Added​

  • Added package for aarch64-unknown-linux-gnu [BSDK-238]
  • Added package for aarch64-apple-darwin [BSDK-237]
  • Added tattoo module to Kotlin

Changed​

  • Improved accuracy of face_liveness_passive_nearby_fast preprocessing [BSDK-268]
  • Updated palm extraction model to palm.extraction.resnet50 (by upgrade onnxruntime_solver to version 0.10.24) [BSDK-262]

Fixed​

  • Missing sfeImageFree in example_face_identify.cpp

[3.1.0] - 2025-09-12​

Added​

  • Added detection API for new tattoo modality [BSDK-244]
  • Added extraction API for new tattoo modality [BSDK-245]

Changed​

  • Updated face_liveness_passive_nearby_fast [BSDK-233]
  • Updated Person fisheye detection model
  • Updated ilicense to v3.4.3 [BSDK-259]
  • Updated onnxruntime_solver to version 0.10.22 [BSDK-245]

[3.0.2] - 2025-08-21​

Breaking Change​

  • Removed deprecated palm::metrix functionality

Added​

  • New core::OrientedBondingBox type for oriented detectors (BSDK-213)
  • Added person::detect_oriented (BSDK-213)

[3.0.1] - 2025-08-18​

Added​

  • Added palm_liveness_fast model for Rockchip RKNN2 (BSDK-121)

Changed​

  • Updated Rockchip RKNN2 solver version to 0.10.7 (BSDK-121)

Fixed​

  • YoloX square padding preventing unnecesary upscales and errors with fixed shape solvers

[3.0.0] - 2025-08-12​

Breaking Change​

  • The AttributesResult.quality is now in range <0,1> instead of <0-100>.

Changed​

  • Updated palm attributes model (BSDK-204)
  • Updated palm liveness accurate model (BSDK-197)
  • Updated palm liveness fast model (BSDK-198)
  • Updated onnxruntime_solver to version 0.10.18
  • Updated ILicense to version 3.4.2

[2.0.2] - 2025-07-18​

Changed​

  • Updated Rockchip RKNN2 solver version to 0.10.6 (BFO-51)
    • Updated rknn_api_v2 to version 2.3.2
    • Fixed palm_template_extract_accurate model output name
    • palm_template_extract_accurate and palm_detect_accurate model converted with latest rknn_toolkit_2.3.2 to be compatible with rknn librknnrt 2.3.2

[2.0.1] - 2025-07-08​

Changed​

  • The palm accurate detector performance for rockchip RKNNv2 is improved

[2.0.0] - 2025-07-04​

Breaking Change​

  • To ensure consistent terminology across SDKs
    • in C
      • Renamed enum SFEHandSide to SFEHandPosition
      • Renamed hand_side in SFEPalmDetect to hand_position
    • other languages
      • Renamed enum HandSide to HandPosition
      • Renamed hand_side in palm Detection to hand_position

Deprecated​

  • sfePalmQualityAttributes is deprecated and will be removed soon. Please use sfePalmAttributes instead.

Fixed​

  • Added missing palm solvers in Rockchip RKNN2 packages

Added​

  • Added new function sfePalmAttributes that provides SFEPalmAttributes with (BSDK-123):
    • hand_orientation
    • hand_position
    • quality

[1.15.7] - 2025-06-25​

Added​

  • Updated Rockchip RKNN2 solver version to 0.10.4 (BFO-80):
  • Added Rockchip RKNN2 palm accurate detector support
  • Added Rockchip RKNN2 palm accurate extractor support
  • Added logging support to ONNX solvers with configurable log level and log file output
  • Added parameter log_level (empty for no log, or set to verbose, info, warning, error, fatal)
  • Added parameter log_file (empty for stdout, or specify file path)
  • Added parameter profile_prefix to dump JSON stats from inference
  • Added session_config parameter to support advanced session settings in ONNX solvers

Changed​

  • Updated onnxruntime_solver to v0.10.14
  • Updated fast palm detector model and postprocessing (BSDK-146)

Fixed​

  • Inference performance on Intel CPUs due to subnormal numbers (BSDK-182)
  • Fixed NNAPI FP16 flag logic in ONNX solvers by correcting inverted condition

[1.15.6] - 2025-06-18​

Fixed​

  • Upload conan packages into artifactory (BSDK-174)

[1.15.5] - 2025-06-17​

Added​

  • Upload kotlin binding into maven releases repository (BSDK-174)
  • Upload conan packages into artifactory (BSDK-174)

Fixed​

  • Python binding performance regression

[1.15.4] - 2025-06-13​

  • sfePalmQualityAttributes - Implementation of palm quality attributes (BSDK-157)

[1.15.3] - 2025-06-06​

Added​

  • sfePalmQualityAttributes - API for Palm quality attributes (BSDK-168)
  • Optional JVM bindings with Kotlin examples (BSDK-149)

Fixed​

  • Missing generated Python bindings

[1.15.2] - 2025-06-04​

Fixed​

  • Solvers are now loaded on Android using loadLibrary (BSDK-152)

[1.15.1] - 2025-06-03​

Added​

  • Licensing based on Android ID has been added for devices running Android 10 and older (i.e., below Android 11) (BSDK-152)

Fixed​

  • Removed unnecessary image resize before sfePalmDetect in example_palm_* and benchmark_palm applications

[1.15.0] - 2025-05-15​

Added​

  • New palm modality detection, extraction and liveness models:
    • palm_detect_accurate - High-accuracy palm detection model
    • palm_detect_fast - Optimized for real-time palm detection
    • palm_template_extract_accurate - High-accuracy palm template extraction
    • palm_liveness_accurate - Enhanced palm liveness verification

Changed​

  • Palm template format improvements:
    • Reduced template size to 522B for improved efficiency
    • Enhanced palm detection with 8 keypoints (previously 4)
    • Added SFEHandOrientation and SFEHandSide enums for better hand position tracking
  • Updated sfePalmTemplateExtract API to require solver parameter for improved flexibility

Fixed​

  • Corrected const qualifier in tracking API parameters for better type safety
  • Fixed parameter passing consistency in sfePalmLivenessPassive function [BSDK-133]

Breaking Changes​

  • Removed backward compatibility with palm templates from versions 1.13.0 through 1.14.6
    • This change is required due to the implementation of a new palm template algorithm
    • Users must re-extract palm templates with version 1.15.0 or later

[1.14.6] - 2025-04-25​

Added​

  • rknn2 face_detect_accurate_mask solvers for w480h640, w720h960 and w960h1280 images (rknn2 0.10.3)

Changed​

  • Updated face passive liveness threshold in example_face_liveness according to documentation
  • Updated Rockchip RKNN2 solver version to 0.10.3

[1.14.5] - 2025-04-11​

Fixed​

  • A bug in reported version string

[1.14.4] - 2025-04-10​

Added​

  • Added support for Palm liveness with examples and benchmark

Changed​

  • Reported version string in FFI/UniFFI APIs will now match the package version

[1.14.3] - 2025-03-28​

Fixed​

  • Fixed C API definition of SFEFaceTracked, SFEIrisTracked, SFEObjectTracked, SFEPalmTracked
    • Removed unused "entity" field, use "uuid" field instead
    • Added "state" field and enum to indicate the tracking state
  • Updated tracking to be more readable with terminal output

[1.14.2] - 2025-03-13​

Changed​

  • TFLite library and solvers skipped in Kotlin packages build for Android
  • TFLite solver updated to v0.10.9 [BFO-21]
    • Added face detectors with portrait input sizes 720x1280 and 1080x1920

[1.14.1] - 2025-03-05​

Added​

  • Added Tracking API in C API and bindings [SE-333]
  • Added Android ID based licensing [SE-255]

Changed​

  • Entity, SFETemplateIdentificationCandidate, SFEEntityIdentificationCandidate are now a Core types. Modality specific types are deprecated and will be removed in next major release. [SE-333]
  • onnxruntime_solver updated to v0.10.6 [SE-255]
  • tflite_solver updated to v0.10.7 [SE-255]

Fixed​

  • License with MAC address range HWID (IM0*-IM0*) is now checked against multiple MAC addresses if available.

[1.13.5] - 2025-02-18​

Changed​

  • Updated Kotlin UniFFI bindings for better Java compatibility
    • API types change: ULong => Long, UInt => Int, UByte => Byte
  • Cleaned up Kotlin and Java imports
  • Android in ONNXRT configuration uses Float16 solvers to reduce package size [SE-510]
  • Android packages are built with opt-level = "s" [SE-510]

[1.13.4] - 2025-01-21​

Added​

  • Add support for Android armeabi-v7a
  • Add suppurt for Android arm64-v8a GPU

Changed​

  • Updated onnxruntime solver to v0.10.4 (fixed qr/palm keypoints calculation [SE-507])
  • Update Liveness thresholds documentation

[1.13.3] - 2024-12-04​

Added​

  • Add suport for palm modality in Kotlin for Android [SE-447]

Fixed​

  • Ambarella face detector post processing had wrong relative coordinates calculation
  • Fixed licensing impact on identification performance

[1.13.2] - 2024-11-28​

Changed​

  • TFLite solver updated to version 0.10.6 [SE-470]
    • New passive liveness NEARBY FAST model

[1.13.1] - 2024-11-19​

Added​

  • Added support for dynamic input shape palm detection [SE-479]
    • new palm_qrcode_detect.onnxrt.solver with dynamic input shape support
    • old solver renamed to palm_qrcode_detect_w640h480.onnxrt.solver

Changed​

  • TFLite solver updated to version 0.10.5 [SE-431]
    • Improved face_detector_accurate_mask* model performance
    • Default delegate is now correctly set to vx for NXP build, gpu for Android build

Fixed​

  • Jpeg encoding has wrong color order, BGR instead of RGB

Removed​

[1.13.0] - 2024-11-07​

Added​

  • Introduced new Palm modality:
    • sfePalmDetect
    • sfePalmTemplateExtract
    • sfePalmTemplateMatch
    • sfePalmTemplateVersion
    • sfePalmTemplateIdentify
    • sfePalmEntityIdentify
  • Added assets, example and benchmark for palm modality

Changed​

Fixed​

Removed​

[1.12.1] - 2024-11-06​

Added​

  • Added C++ examples for face entity identification, liveness and iris identification

Changed​

  • Separated examples from benchmarks

Fixed​

  • sfeHwidGet now returns required buffer length when called with null buffer pointer.

Removed​

[1.12.0] - 2024-10-25​

Added​

  • Added new passive liveness NEARBY FAST model with significantly improved accuracy
    • ONNX Runtime solver
    • Updated documentation for new liveness solvers

Changed​

  • TFLite solver updated to 0.10.4
    • New passive liveness DISTANT FAST model with significantly improved accuracy.
    • TFLite VX delegate caching is enabled by default, and there is preset cache file path specific for each model

Fixed​

  • Iris matching score after normalization was wrongly mapped to [0.0, 1.0] range
  • Fixed QualityAttributes to return zero values when an error occurs instead of returning a Result type

Removed​

  • Removed old passive liveness DISTANT and NEARBY model

[1.11.2] - 2024-10-04​

Added​

Changed​

  • TFLite solver update to 0.10.2 with default delegate vx for NXP build and gpu for Android build

Fixed​

  • Fixed sfeFaceSize mismatched output parameter type from size_t to float

Removed​

[1.11.1] - 2024-08-05​

Added​

Changed​

  • Ambarella solver updated to v0.10.1 with a static EazyAI based implementation
  • Ambarella vproc.bin location is now first searched for in current working directoryd Solver API version is now v0.10.x

Fixed​

Removed​

[1.11.0] - 2024-07-26​

Added​

  • Integrated new passive liveness DISTANT FAST model with significantly improved accuracy.
    • Ambarella solver SDK2.5.8 cv22 and SDK3.0.6 - cv2, cv22, cv28

Changed​

  • Supported Solver API version is now v0.10.x
  • Update of solver version because of major fix in generic_solver [SE-399]
  • Improved documentation design

Fixed​

Removed​

[1.10.3] - 2024-06-12​

Added​

  • Added reference to bindings API on documentation

Changed​

  • Fixed missing tensorflow_lite.so in Android AAR package

Fixed​

Removed​

[1.10.2] - 2024-05-28​

Added​

  • Added TFLite GPU solvers to Android Kotlin package
  • Added Python connector for Linux and Windows

Changed​

Fixed​

Removed​

[1.10.1] - 2024-05-24​

Added​

  • Added support for new passive liveness DISTANT FAST on Rockchip RKNNv1 (rockchip solver v0.9.1)

Changed​

Fixed​

Removed​

[1.10.0] - 2024-05-20​

Added​

  • Integrated new passive liveness DISTANT FAST model with significantly improved accuracy.
    • ONNX Runtime solver only
  • Integrated new face detector ACCURATE model
    • ONNX Runtime solver only
  • Add support for NN model acceleration on Android GPU via TensorFlow Lite GPU delegate

Changed​

  • Supported Solver API version is now v0.9.x
  • Deprecating passive liveness DISTANT model. It will be removed in next major release.

Fixed​

Removed​

[1.9.1] - 2024-03-05​

Added​

  • sfePersonTemplateType()

Changed​

Fixed​

Removed​

[1.9.0] - 2024-02-29​

Added​

  • Person template extract modality
    • Person template extraction
    • Person template matching
    • Person matching
  • Uniffi API for Swift (iOS and macOS) and Kotlin (Android)
  • Face solvers for Rockchip with RKNNv2

Changed​

Fixed​

Removed​

[1.8.3] - 2024-02-23​

Added​

Changed​

Fixed​

  • More robust solver dll loading on Windows

Removed​

[1.8.0] - 2024-01-31​

Added​

  • Added a new modality - Iris:
    • sfeIrisDetect
    • sfeIrisTemplateExtract
    • sfeIrisTemplateMatch
    • sfeIrisTemplateQuality
    • sfeIrisTemplateVersion
    • sfeIrisTemplateIdentify
    • sfeIrisEntityIdentify
  • Added support for Ambarella cv28 architecture

Changed​

  • Deprecating SFEBBox in favor of SFEBoundingBox, field names will be changed in next major release
  • Ambarella solvers unified for cv2, cv22, cv25 and cv28 - version 0.8.6
    • same accuracy on each architecture
  • New licensing for solvers based on modalities: face, face_liveness, iris, person, object
    • old licenses won't work

Fixed​

Removed​

[1.7.2] - 2023-11-29​

Added​

Changed​

Fixed​

  • Fixed padding in sfeLicenseSet

Removed​

[1.7.1] - 2023-11-27​

Added​

Changed​

Fixed​

  • Fix in identification API

Removed​

[1.7.0] - 2023-11-17​

Added​

  • Added licensing API to the sfe_core library:
    • sfeHwidGet
    • sfeLicenseValidate
    • sfeLicenseSet

Changed​

Fixed​

  • Fixed error formatting on Windows - charset changed to Ascii, color disabled [SE-259]
  • Fixed path to user specific license file location (~/AppData/Local/Innovatrics) on Windows

Removed​

[1.6.0] - 2023-11-07​

Added​

  • sfeFaceEntityIdentify function - Identify entities with multiple templates.

Changed​

  • SFEIdentificationResult - Is now deprecated and will be removed in next major release. Use SFEFaceTemplateIdentificationCandidate instead.

Fixed​

Removed​

[1.5.3] - 2023-10-27​

Added​

Changed​

Fixed​

  • Sharpness calculation was fixed
  • Affine transformation for rectangular images was fixed

Removed​

[1.5.2] - 2023-09-14​

Added​

Changed​

  • Solver for Ambarella SDK v2.5.8 updated to later version (v0.8.6) with improved performance.

Fixed​

Removed​

[1.5.1] - 2023-09-07​

Added​

  • Ambarella SDK v2.5.8 is now supported:
    • Added new package containing special solvers that enable Ambarella SDK v2.5.8 support.

Changed​

Fixed​

Removed​

[1.5.0] - 2023-08-25​

Added​

  • Added new function sfeFaceCrop that returns face crop with its bounding box according given landmarks and face size extension.

Changed​

Fixed​

Removed​

[1.4.2] - 2023-08-14​

Added​

Changed​

  • Integrated new passive liveness DISTANT model with significantly imporved accuracy
    • ONNX Runtime solver updated to v0.8.3
      • face_liveness_passive_distant.onnxrt.solver
    • Rockchip solver updated to v0.8.0
      • face_liveness_passive_distant_quant.rockchip.solver
    • Ambarella solver updated to v0.8.3
      • updated face_liveness_passive_distant_acc.ambarella.solver
      • New face_liveness_passive_distant_perf_dra3.ambarella.solver with better accuracy and comparable performance replaces face_liveness_passive_distant_perf.ambarella.solver

Fixed​

Removed​

[1.4.1] - 2023-07-10​

Added​

Changed​

  • Ambarella solvers updated to v0.8.1
    • New BALANCED template extraction model with improved accuracy - face_template_extract_balanced_perf_dra3.ambarella.solver
  • Android JNI wrapper now uses android::util::Base64 class instead of java::util::Base64 class to encode license data.

Fixed​

  • Fixed detection solvers in Android packages
  • Fixed alignment issue on 32bit systems in sfe_face library function sfeFaceHeadPose
  • Fixed SFESolverParameter ownership of name and value

Removed​

[1.4.0] - 2023-06-23​

Added​

  • Added new function sfeSolverCreateWithParameters which accepts collection of solver specific parameters (SFESolverParameter) on input. Supported solver parameters are documented in Solver documentation.
  • Added support for TensorflowLite solver enabling NN acceleration on NXP iMX8M Plus chip with VX delegate support

Changed​

  • Ambarella solvers updated to v0.8.0
    • improved accuracy of BALANCED template extraction - face_template_extract_balanced_perf.ambarella.solver
  • function sfeSolverCreate is deprecated and will be replaced by sfeSolverCreateWithParameters in next major release version
  • ONNX Runtime execution provider can be configured using solver parameter "runtime_provider", so on Linux x86, Windows x86 and Jetson platforms the same ONNX Runtime solver binary can be used for CPU, CUDA and TensorRT.

Fixed​

Removed​

  • Removed onnxrt_cuda and onnxrt_tensorrt solvers.

[1.3.4] - 2023-06-06​

Added​

Changed​

  • Rockchip solver to v0.7.5 with faster input preprocessing (no channel swap, no CHW/HWC swap)

Fixed​

Removed​

[1.3.3] - 2023-06-02​

Added​

  • Added support for passive liveness on Rockchip
  • New documentation in HTML and PDF added to the package
  • License Manager app added to the package

Changed​

  • Faster image resize
  • Performance improvements (fast image resize, parallel warp) in all solvers

Fixed​

Removed​

[1.3.2] - 2023-05-18​

Added​

  • New function sfeVersion() added into the sfe_core library

Fixed​

  • Fixed swapped roll and pitch calculation

[1.3.1] - 2023-05-09​

Added​

  • Added support for passive liveness on Ambarella
  • Added Android Java connector with sample application

Fixed​

  • Fixed missing liveness solvers in Android package

[1.3.0] - 2023-04-23​

Added​

  • DISTANT and NEARBY passive liveness integrated into sfe_face library
  • Face areas computation support (relative area, relative area in image)
  • Added face quality attributes (sharpness, brightness, contrast, unique_intensity_levels) to sfe_face library
  • Added support for calculating headpose angles

[1.2.4] - 2023-04-18​

Added​

  • Added support for Ambarella CV22 and CV25 (armv8 CPU) with CVFlow support. Ambarella SDK 3.0.6 and newer is required.

[1.2.3] - 2023-04-14​

Added​

  • Calculate detection input dimension based on face size
  • Added support for ILICENSE and ILICENSE_DATA environment variables

[1.2.2] - 2023-04-03​

Fixed​

  • Debugging symbols are now stripped

[1.2.1] - 2023-03-21​

Added​

  • Face size api request to sfe_face lib

[1.2.0] - 2023-03-09​

Added​

  • Introduced support for Android (armv7, armv8)
  • Added pose estimation to sfe_person library

Changed​

  • The library sfe_person_attribute renamed to sfe_person
  • sfe_face_detect, sfe_face_landmarks and sfe_face_template libraries merged into single sfe_face library
  • The library sfe_object_detect renamed to sfe_object

[1.1.0] - 2023-02-20​

Added​

  • Added license check to identification
  • Added object detection for 80 object types including person, animals and vehicles
  • Added 3 ONNX Runtime solvers for object detection
    • object_detect_fast
    • object_detect_balanced
    • object_detect_accurate

Changed​

  • SFEBBox parameter added into sfeGetPersonAttributes function

[1.0.3] - 2023-02-13​

Added​

  • Support for older NVIDIA Jetson Jetpacks:
    • Jetpack 4.4: ONNX Runtime version 1.7.2
    • Jetpack 4.6: ONNX Runtime version 1.12.2

Fixed​

  • Undefined symbols in ONNX Runtime solvers related to licensing were fixed

[1.0.2] - 2023-01-30​

Added​

  • Added Windows x86_64, Linux x86_64 and Jetson ARM64 support
    • ONNX Runtime solvers (CPU, CUDA and TensorRT)
  • Added environment variables for threading optimization
    • ONNXRUNTIME_SOLVER_INTER_THREADS
    • ONNXRUNTIME_SOLVER_INTRA_THREADS
  • Added person attributes detection
    • supported in ONNX Runtime solvers only

Changed​

  • SFEBBox structure moved to libsfe_core

[1.0.1] - 2023-01-23​

Added​

  • Added face template identification
  • Added SFEFaceLandmarkType enumeration

[1.0.0] - 2023-01-09​

  • First version for Rockchip RV1109 armv7 CPU with RKNN support