averageFeatures static method

List<double> averageFeatures(
  1. List<List<double>> vectors
)

Average multiple feature vectors element-wise.

Used during enrollment to create a stable template from multiple samples.

Implementation

static List<double> averageFeatures(List<List<double>> vectors) {
  if (vectors.isEmpty) return [];
  if (vectors.length == 1) return List.of(vectors.first);

  final length = vectors.first.length;
  final averaged = List<double>.filled(length, 0.0);

  for (final vec in vectors) {
    for (var i = 0; i < length; i++) {
      averaged[i] += vec[i];
    }
  }

  final count = vectors.length.toDouble();
  for (var i = 0; i < length; i++) {
    averaged[i] /= count;
  }

  return averaged;
}