trueface_liveness 0.3.2
trueface_liveness: ^0.3.2 copied to clipboard
Camera-based face liveness detection with Google MediaPipe 3D face landmarker, randomized active challenges, and passive anti-spoofing.
0.3.2 #
- Face Luminance Sampling & Threshold:
- Implemented rotation-invariant $16 \times 16$ normalized grid sampling to measure luminance directly across the detected face bounding box on Android.
- Raised minimum face luminance threshold to
85.0to reliably detect dim/low-light environments matching iOS behavior. - Paused challenge progression and excluded candidate selfie frame storage while lighting is insufficient, preventing dark/noisy captures from triggering spoof rejections.
0.3.1 #
- Attentive & Centered Selfie Selection:
- Added face centering constraints ($\le 18%$ horizontal, $\le 20%$ vertical offset from frame center) with centering score bonus.
- Heavily prioritized direct frontal camera gaze
- Aspect Ratio Preservation:
- Fixed iOS
AVAssetWritervideo encoder dimensions to dynamically downscale maintaining the exact $9:16$ portrait camera aspect ratio, preventing squished/stretched video uploads. - Synchronized
AVCaptureVideoPreviewLayerbounds with Flutter platform view layout inCameraPreviewView.layoutSubviews(). - Preserved full-frame upright selfie image without head clipping.
- Fixed iOS
- Lighting & Warmup Gating:
- Added camera warmup threshold ($\ge 8$ frames) to prevent premature
"Too dark"prompts while camera hardware auto-exposure stabilizes. - Fixed ambient luma fallback and ensured direct environmental hint dispatching on Android and iOS platform views.
- Added camera warmup threshold ($\ge 8$ frames) to prevent premature
- Life-Cycle & Event Coverage:
- Added
LivenessInstructionEventfor real-time instruction display (e.g. during spectral color flash analysis). - Expanded
LivenessFailureReasonandVerificationStatusenums with human-readable descriptions and full wire parsing. - Prevented general framing events (
FaceDetectedEvent,FaceLostEvent) from overwriting active challenge instructions in the UI.
- Added
0.3.0 #
-
Open Mouth Challenge Implementation: Enabled ML Kit contour and landmark detection (
CONTOUR_MODE_ALLand inner/outer lip ratio analysis) to accurately detect and satisfy theopenMouthchallenge on Android and iOS. -
Native SDK Upgrades: Upgraded underlying native dependencies to
dev.trueface:trueface-liveness:0.3.1on Android and0.3.1on iOS. -
Dynamic Luminance & Gating Checks: Integrated dynamic camera frame luminance (luma) calculation to detect low-light/dark room environments as well as excessive glare/overexposure, preventing challenges from running until lighting conditions are optimal.
-
Native SDK Upgrades: Upgraded underlying native dependencies to
dev.trueface:trueface-liveness:0.3.0on Android andv0.3.0on iOS. -
Video Encoding & Buffer Pipeline: Realigned native Android and iOS media recording pipelines with clean surface encoding and synchronized frame acquisition.
-
Human-Friendly Gating & Challenge Hints: Updated challenge and positioning hint prompts for natural user instructions.
0.2.9 #
- Attentive-Only Video Recording: Refactored the native recording sessions on both iOS and Android to only begin capturing/storing video frames once the user has become attentive and the first liveness challenge has officially started.
- Native Dependency Upgrade: Upgraded native underlying
TrueFaceLivenessdependencies to versionv0.2.9on iOS and0.2.8on Android.
0.2.8 #
- Open-Eyes Upload Enforcement: Implemented logic to ensure that the uploaded face frame has the user's eyes open (alert check). The system now tracks and scores the frame with the widest open eyes as a baseline fallback instead of blindly uploading the final frame of the camera feed (which could catch the user mid-blink or looking away).
- Native Dependency Upgrade: Upgraded native underlying
TrueFaceLivenessdependencies to versionv0.2.8on iOS and updated build configurations on Android.
0.2.7 #
- iOS Framework Fix: Updated the underlying
TrueFaceLivenessiOS framework dependency tov0.2.7, which restores the missingInfo.plistinsideTrueFaceLiveness.frameworkto prevent compiler and bundling errors on iOS devices and simulators. - SPM & CocoaPods Target Alignment: Refactored the internal podspec and SwiftPM
Package.swifttargets to download and resolvev0.2.7of the public iOS binary distribution.
0.2.6 #
- Custom Color Themes: Added
TrueFaceColorsfor configuring UI colors (primaryColor,backgroundColor,textColor,accentColor,cardBackgroundColor) natively on both iOS and Android. - Upload Progress & Events: Exposed
LivenessUploadingEvent(0–100% upload progress) andLivenessVerifyingEventinLivenessEvent.fromMapfor real-time loading UI overlays. - Video Quality & Bitrate Optimization: Optimized video recording resolution to SD (480p) and capped bitrate to 500 kbps, significantly reducing uploaded MP4 file sizes (~300–400 KB) and accelerating uploads.
- SDK Version Alignment: Updated underlying native dependencies to
dev.trueface:trueface-liveness:0.2.6on Android and0.2.6on iOS.
0.1.0 #
- Initial release of the TrueFace Flutter liveness SDK.
- Add configurable randomized blink, smile, turn, and nod challenges.
- Add passive anti-spoof scoring and captured-face image results.
- Support hosted verification sessions with encrypted media uploads.
- Support Android with CameraX and ML Kit Face Detection.
- Support iOS 15 and later with AVFoundation and Apple Vision.
- Add Swift Package Manager support while retaining CocoaPods compatibility.
- Distribute the native iOS SDK through the public
ios-artifactpackage.