create static method

Future<FaceDetector> create({
  1. FaceDetectionModel model = FaceDetectionModel.backCamera,
  2. PerformanceConfig performanceConfig = const PerformanceConfig(),
  3. int meshPoolSize = 3,
  4. bool withSegmentation = false,
  5. SegmentationConfig? segmentationConfig,
  6. bool useCompiledModel = false,
  7. Set<Accelerator> accelerators = const {Accelerator.gpu, Accelerator.cpu},
  8. Precision precision = Precision.fp16,
  9. double minScore = 0.0,
  10. double minFaceSize = 0.0,
  11. bool useLiteRt = false,
  12. String liteRtAccelerator = 'auto',
})

Creates and initializes a face detector in one step.

Convenience factory that combines FaceDetector.new and initialize. Accepts the same parameters as initialize.

Example:

final detector = await FaceDetector.create();

// Equivalent to:
final detector = FaceDetector();
await detector.initialize();

Implementation

static Future<FaceDetector> create({
  FaceDetectionModel model = FaceDetectionModel.backCamera,
  PerformanceConfig performanceConfig = const PerformanceConfig(),
  int meshPoolSize = 3,
  bool withSegmentation = false,
  SegmentationConfig? segmentationConfig,
  bool useCompiledModel = false,
  Set<Accelerator> accelerators = const {Accelerator.gpu, Accelerator.cpu},
  Precision precision = Precision.fp16,
  double minScore = 0.0,
  double minFaceSize = 0.0,
  // Web-only knobs; accepted here for API parity but ignored on native.
  bool useLiteRt = false,
  String liteRtAccelerator = 'auto',
}) async {
  final detector = FaceDetector();
  await detector.initialize(
    model: model,
    performanceConfig: performanceConfig,
    meshPoolSize: meshPoolSize,
    withSegmentation: withSegmentation,
    segmentationConfig: segmentationConfig,
    useCompiledModel: useCompiledModel,
    accelerators: accelerators,
    precision: precision,
    minScore: minScore,
    minFaceSize: minFaceSize,
  );
  return detector;
}