Face SDK  1.14.1 Mozart release
Face Recognition Software Development Kit
CSharpExample.cs
using FaceSDK.Base;
using System;
using System.Linq;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
// make face detector, alignment, builder and matcher
var faceDetector =
new FaceDetector(
version: 200,
batch_size: 1,
compute_device: -1);
var alignment =
new Alignment(
version: 103,
batch_size: 1,
compute_device: -1);
var builder =
new Builder(
version: 104,
batch_size: 1,
compute_device: -1);
var firMatcherFactory = new FirMatcherFactory(FaceSDK.ArchitectureType.Common);
var firMatcher = firMatcherFactory.MakeFirMatcher(
builderVersion: 104,
tableCode: "gn");
// load images from file
var image1 = new Image(args[0]);
var image2 = new Image(args[1]);
// detect faces on images
var faceSets = faceDetector.DetectFaces(new[] { image1, image2 }, confidence: 0.9f);
// check for there is only 1 face on each image
var count = faceSets[0].Count;
if (count != 1)
{
Console.WriteLine($"There are {count} detected faces on image {args[0]}.");
return;
}
count = faceSets[1].Count;
if (count != 1)
{
Console.WriteLine($"There are {count} detected faces on image {args[0]}.");
return;
}
// align faces
var alignmentInfoSet = alignment.Calc(faceSets.Select(faceSet => faceSet.First()));
// extract templates
var firs = builder.Build(alignmentInfoSet);
// match templates
var score = firMatcher.Match(firs[0], firs[1]);
// print result
Console.WriteLine($"{args[0]} <=> {args[1]} = {score}");
}
}
}