namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
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");
var image1 = new Image(args[0]);
var image2 = new Image(args[1]);
var faceSets = faceDetector.DetectFaces(new[] { image1, image2 }, confidence: 0.9f);
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;
}
var alignmentInfoSet = alignment.Calc(faceSets.Select(faceSet => faceSet.First()));
var firs = builder.Build(alignmentInfoSet);
var score = firMatcher.Match(firs[0], firs[1]);
Console.WriteLine($"{args[0]} <=> {args[1]} = {score}");
}
}
}