From 419383d2ed3082a4d37cd983915684b0b1b3d79e Mon Sep 17 00:00:00 2001 From: Takuya Takeuchi Date: Fri, 12 Jun 2020 07:23:06 +0900 Subject: [PATCH 1/6] feat: add FaceEncoding.GetRawEncoding method --- src/FaceRecognitionDotNet/FaceEncoding.cs | 11 +++++++++++ .../docs/FaceRecognitionDotNet.xml | 7 +++++++ .../docs/ja/FaceRecognitionDotNet.xml | 7 +++++++ .../FaceRecognitionTest.cs | 11 +++-------- .../{ImageText.cs => ImageTest.cs} | 0 5 files changed, 28 insertions(+), 8 deletions(-) rename test/FaceRecognitionDotNet.Tests/{ImageText.cs => ImageTest.cs} (100%) diff --git a/src/FaceRecognitionDotNet/FaceEncoding.cs b/src/FaceRecognitionDotNet/FaceEncoding.cs index 718bb33..0e9546f 100644 --- a/src/FaceRecognitionDotNet/FaceEncoding.cs +++ b/src/FaceRecognitionDotNet/FaceEncoding.cs @@ -59,6 +59,17 @@ public int Size #region Methods + /// + /// Gets a feature data of face as raw format. + /// + /// A array that represents a feature data. + /// class supports serialization. This method is for interoperability between FaceRecognitionDotNet and dlib. + public double[] GetRawEncoding() + { + this.ThrowIfDisposed(); + return this._Encoding.ToArray(); + } + #region Overrides /// diff --git a/src/FaceRecognitionDotNet/docs/FaceRecognitionDotNet.xml b/src/FaceRecognitionDotNet/docs/FaceRecognitionDotNet.xml index 97786f2..1f91fa7 100644 --- a/src/FaceRecognitionDotNet/docs/FaceRecognitionDotNet.xml +++ b/src/FaceRecognitionDotNet/docs/FaceRecognitionDotNet.xml @@ -375,6 +375,13 @@ Gets the size of feature data. + + + Gets a feature data of face as raw format. + + A array that represents a feature data. + class supports serialization. This method is for interoperability between FaceRecognitionDotNet and dlib. + Releases all unmanaged resources. diff --git a/src/FaceRecognitionDotNet/docs/ja/FaceRecognitionDotNet.xml b/src/FaceRecognitionDotNet/docs/ja/FaceRecognitionDotNet.xml index 077281d..b03ef23 100644 --- a/src/FaceRecognitionDotNet/docs/ja/FaceRecognitionDotNet.xml +++ b/src/FaceRecognitionDotNet/docs/ja/FaceRecognitionDotNet.xml @@ -375,6 +375,13 @@ 特徴データのサイズを取得します。 + + + 生のフォーマットで顔の特徴データを取得します。 + + 顔の特徴データを表現する の配列。 + クラスはシリアル化をサポートしています。このメソッドは FaceRecognitionDotNet と dlib の間の相互運用性のためです。 + アンマネージ リソースを解放します。 diff --git a/test/FaceRecognitionDotNet.Tests/FaceRecognitionTest.cs b/test/FaceRecognitionDotNet.Tests/FaceRecognitionTest.cs index 78ddb45..9701adf 100644 --- a/test/FaceRecognitionDotNet.Tests/FaceRecognitionTest.cs +++ b/test/FaceRecognitionDotNet.Tests/FaceRecognitionTest.cs @@ -663,8 +663,6 @@ public void LoadFaceEncoding() bool atLeast1Time = false; - var getMatrix = typeof(FaceEncoding).GetField("_Encoding", BindingFlags.Instance | BindingFlags.NonPublic); - foreach (var mode in new[] { Mode.Rgb, Mode.Greyscale }) { using (var image1 = FaceRecognition.LoadImageFile(path1, mode)) @@ -674,15 +672,12 @@ public void LoadFaceEncoding() { atLeast1Time = true; - var matrix = getMatrix.GetValue(e1) as Matrix; - Assert.NotNull(matrix); - - var fe = matrix.ToArray(); + var fe = e1.GetRawEncoding(); using (var e2 = FaceRecognition.LoadFaceEncoding(fe)) { var distance = FaceRecognition.FaceDistance(e1, e2); - Console.WriteLine($"Original: {distance}"); + this._TestOutputHelper.WriteLine($"Original: {distance}"); Assert.True(Math.Abs(distance) < double.Epsilon); } @@ -690,7 +685,7 @@ public void LoadFaceEncoding() using (var e2 = FaceRecognition.LoadFaceEncoding(fe)) { var distance = FaceRecognition.FaceDistance(e1, e2); - Console.WriteLine($"Modified: {distance}"); + this._TestOutputHelper.WriteLine($"Modified: {distance}"); Assert.True(Math.Abs(distance) > double.Epsilon); } } diff --git a/test/FaceRecognitionDotNet.Tests/ImageText.cs b/test/FaceRecognitionDotNet.Tests/ImageTest.cs similarity index 100% rename from test/FaceRecognitionDotNet.Tests/ImageText.cs rename to test/FaceRecognitionDotNet.Tests/ImageTest.cs From 65d830e939bfcca089606eafd90d50f407eb8f59 Mon Sep 17 00:00:00 2001 From: Takuya Takeuchi Date: Thu, 25 Jun 2020 13:16:40 +0900 Subject: [PATCH 2/6] fix: wrong dependency --- nuget/nuspec/FaceRecognitionDotNet.CUDA100.nuspec | 4 ++-- nuget/nuspec/FaceRecognitionDotNet.CUDA101.nuspec | 4 ++-- nuget/nuspec/FaceRecognitionDotNet.CUDA102.nuspec | 4 ++-- nuget/nuspec/FaceRecognitionDotNet.CUDA92.nuspec | 4 ++-- nuget/nuspec/FaceRecognitionDotNet.MKL.nuspec | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/nuget/nuspec/FaceRecognitionDotNet.CUDA100.nuspec b/nuget/nuspec/FaceRecognitionDotNet.CUDA100.nuspec index 8b9eecb..1e9820a 100644 --- a/nuget/nuspec/FaceRecognitionDotNet.CUDA100.nuspec +++ b/nuget/nuspec/FaceRecognitionDotNet.CUDA100.nuspec @@ -20,11 +20,11 @@ This library is ported from https://github.com/ageitgey/face_recognition by C#.< - + - + diff --git a/nuget/nuspec/FaceRecognitionDotNet.CUDA101.nuspec b/nuget/nuspec/FaceRecognitionDotNet.CUDA101.nuspec index b29c9d8..54f7a95 100644 --- a/nuget/nuspec/FaceRecognitionDotNet.CUDA101.nuspec +++ b/nuget/nuspec/FaceRecognitionDotNet.CUDA101.nuspec @@ -20,11 +20,11 @@ This library is ported from https://github.com/ageitgey/face_recognition by C#.< - + - + diff --git a/nuget/nuspec/FaceRecognitionDotNet.CUDA102.nuspec b/nuget/nuspec/FaceRecognitionDotNet.CUDA102.nuspec index c6813b3..a52114f 100644 --- a/nuget/nuspec/FaceRecognitionDotNet.CUDA102.nuspec +++ b/nuget/nuspec/FaceRecognitionDotNet.CUDA102.nuspec @@ -20,11 +20,11 @@ This library is ported from https://github.com/ageitgey/face_recognition by C#.< - + - + diff --git a/nuget/nuspec/FaceRecognitionDotNet.CUDA92.nuspec b/nuget/nuspec/FaceRecognitionDotNet.CUDA92.nuspec index a93fab2..feb3d5b 100644 --- a/nuget/nuspec/FaceRecognitionDotNet.CUDA92.nuspec +++ b/nuget/nuspec/FaceRecognitionDotNet.CUDA92.nuspec @@ -20,11 +20,11 @@ This library is ported from https://github.com/ageitgey/face_recognition by C#.< - + - + diff --git a/nuget/nuspec/FaceRecognitionDotNet.MKL.nuspec b/nuget/nuspec/FaceRecognitionDotNet.MKL.nuspec index 0de2590..8299bd2 100644 --- a/nuget/nuspec/FaceRecognitionDotNet.MKL.nuspec +++ b/nuget/nuspec/FaceRecognitionDotNet.MKL.nuspec @@ -20,11 +20,11 @@ This library is ported from https://github.com/ageitgey/face_recognition by C#.< - + - + From 40d39a6e1f0a6bb6106c62962653f473a74639b7 Mon Sep 17 00:00:00 2001 From: Takuya Takeuchi Date: Thu, 25 Jun 2020 13:45:20 +0900 Subject: [PATCH 3/6] fix: test data is not available on wikipedia fix: test data is not available on wikipedia --- .../FaceRecognitionDotNet.Tests.csproj | 6 + .../FaceRecognitionTest.cs | 224 ++++++------------ .../TestImages/480px-Biden_2013.jpg | Bin 0 -> 59659 bytes .../480px-President_Barack_Obama.jpg | Bin 0 -> 65904 bytes 4 files changed, 85 insertions(+), 145 deletions(-) create mode 100644 test/FaceRecognitionDotNet.Tests/TestImages/480px-Biden_2013.jpg create mode 100644 test/FaceRecognitionDotNet.Tests/TestImages/480px-President_Barack_Obama.jpg diff --git a/test/FaceRecognitionDotNet.Tests/FaceRecognitionDotNet.Tests.csproj b/test/FaceRecognitionDotNet.Tests/FaceRecognitionDotNet.Tests.csproj index 8f25ccc..91fbb8d 100644 --- a/test/FaceRecognitionDotNet.Tests/FaceRecognitionDotNet.Tests.csproj +++ b/test/FaceRecognitionDotNet.Tests/FaceRecognitionDotNet.Tests.csproj @@ -21,6 +21,12 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + PreserveNewest diff --git a/test/FaceRecognitionDotNet.Tests/FaceRecognitionTest.cs b/test/FaceRecognitionDotNet.Tests/FaceRecognitionTest.cs index 9701adf..8b16d56 100644 --- a/test/FaceRecognitionDotNet.Tests/FaceRecognitionTest.cs +++ b/test/FaceRecognitionDotNet.Tests/FaceRecognitionTest.cs @@ -26,6 +26,8 @@ public class FaceRecognitionTest : IDisposable private const string ImageDirectory = "Images"; + private const string TestImageDirectory = "TestImages"; + private readonly string ModelDirectory = "Models"; private const string ModelTempDirectory = "TempModels"; @@ -122,30 +124,11 @@ public FaceRecognitionTest(ITestOutputHelper testOutputHelper) [Fact] public void CompareFacesFalse() { - var bidenUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Biden_2013.jpg"; var bidenFile = "480px-Biden_2013.jpg"; - var obamaUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/President_Barack_Obama.jpg"; var obamaFile = "480px-President_Barack_Obama.jpg"; - var path1 = Path.Combine(ImageDirectory, bidenFile); - if (!File.Exists(path1)) - { - var url = $"{bidenUrl}/{bidenFile}"; - var binary = new HttpClient().GetByteArrayAsync(url).Result; - - Directory.CreateDirectory(ImageDirectory); - File.WriteAllBytes(path1, binary); - } - - var path2 = Path.Combine(ImageDirectory, obamaFile); - if (!File.Exists(path2)) - { - var url = $"{obamaUrl}/{obamaFile}"; - var binary = new HttpClient().GetByteArrayAsync(url).Result; - - Directory.CreateDirectory(ImageDirectory); - File.WriteAllBytes(path2, binary); - } + var path1 = Path.Combine(TestImageDirectory, bidenFile); + var path2 = Path.Combine(TestImageDirectory, obamaFile); bool atLeast1Time = false; @@ -369,30 +352,11 @@ public void EyeBlinkHelenDetect() [Fact] public void FaceDistance() { - var bidenUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Biden_2013.jpg"; var bidenFile = "480px-Biden_2013.jpg"; - var obamaUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/President_Barack_Obama.jpg"; var obamaFile = "480px-President_Barack_Obama.jpg"; - var path1 = Path.Combine(ImageDirectory, bidenFile); - if (!File.Exists(path1)) - { - var url = $"{bidenUrl}/{bidenFile}"; - var binary = new HttpClient().GetByteArrayAsync(url).Result; - - Directory.CreateDirectory(ImageDirectory); - File.WriteAllBytes(path1, binary); - } - - var path2 = Path.Combine(ImageDirectory, obamaFile); - if (!File.Exists(path2)) - { - var url = $"{obamaUrl}/{obamaFile}"; - var binary = new HttpClient().GetByteArrayAsync(url).Result; - - Directory.CreateDirectory(ImageDirectory); - File.WriteAllBytes(path2, binary); - } + var path1 = Path.Combine(TestImageDirectory, bidenFile); + var path2 = Path.Combine(TestImageDirectory, obamaFile); bool atLeast1Time = false; @@ -428,30 +392,11 @@ public void FaceDistance() [Fact] public void FaceDistanceDeserialized() { - var bidenUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Biden_2013.jpg"; var bidenFile = "480px-Biden_2013.jpg"; - var obamaUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/President_Barack_Obama.jpg"; var obamaFile = "480px-President_Barack_Obama.jpg"; - var path1 = Path.Combine(ImageDirectory, bidenFile); - if (!File.Exists(path1)) - { - var url = $"{bidenUrl}/{bidenFile}"; - var binary = new HttpClient().GetByteArrayAsync(url).Result; - - Directory.CreateDirectory(ImageDirectory); - File.WriteAllBytes(path1, binary); - } - - var path2 = Path.Combine(ImageDirectory, obamaFile); - if (!File.Exists(path2)) - { - var url = $"{obamaUrl}/{obamaFile}"; - var binary = new HttpClient().GetByteArrayAsync(url).Result; - - Directory.CreateDirectory(ImageDirectory); - File.WriteAllBytes(path2, binary); - } + var path1 = Path.Combine(TestImageDirectory, bidenFile); + var path2 = Path.Combine(TestImageDirectory, obamaFile); bool atLeast1Time = false; @@ -648,19 +593,8 @@ public void FaceLocationsException() [Fact] public void LoadFaceEncoding() { - var bidenUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Biden_2013.jpg"; var bidenFile = "480px-Biden_2013.jpg"; - - var path1 = Path.Combine(ImageDirectory, bidenFile); - if (!File.Exists(path1)) - { - var url = $"{bidenUrl}/{bidenFile}"; - var binary = new HttpClient().GetByteArrayAsync(url).Result; - - Directory.CreateDirectory(ImageDirectory); - File.WriteAllBytes(path1, binary); - } - + var path1 = Path.Combine(TestImageDirectory, bidenFile); bool atLeast1Time = false; foreach (var mode in new[] { Mode.Rgb, Mode.Greyscale }) @@ -1105,10 +1039,10 @@ public void PredictAge() // 7: (60, 100) var groundTruth = new[] { - new { Path = Path.Combine("TestImages", "Age", "NelsonMandela_2008_90.jpg"), Age = new uint[]{ 7 } }, - new { Path = Path.Combine("TestImages", "Age", "MacaulayCulkin_1991_11.jpg"), Age = new uint[]{ 2, 3 } }, - new { Path = Path.Combine("TestImages", "Age", "DianaPrincessOfWales_1997_36.jpg"), Age = new uint[]{ 4, 5 } }, - new { Path = Path.Combine("TestImages", "Age", "MaoAsada_2014_24.jpg"), Age = new uint[]{ 3, 4 } } + new { Path = Path.Combine(TestImageDirectory, "Age", "NelsonMandela_2008_90.jpg"), Age = new uint[]{ 7 } }, + new { Path = Path.Combine(TestImageDirectory, "Age", "MacaulayCulkin_1991_11.jpg"), Age = new uint[]{ 2, 3 } }, + new { Path = Path.Combine(TestImageDirectory, "Age", "DianaPrincessOfWales_1997_36.jpg"), Age = new uint[]{ 4, 5 } }, + new { Path = Path.Combine(TestImageDirectory, "Age", "MaoAsada_2014_24.jpg"), Age = new uint[]{ 3, 4 } } }; foreach (var gt in groundTruth) @@ -1140,11 +1074,11 @@ public void PredictGender() var groundTruth = new[] { - new { Path = Path.Combine("TestImages", "Gender", "BarackObama_male.jpg"), Gender = Gender.Male }, - new { Path = Path.Combine("TestImages", "Gender", "DianaPrincessOfWales_female.jpg"), Gender = Gender.Female }, - new { Path = Path.Combine("TestImages", "Gender", "MaoAsada_female.jpg"), Gender = Gender.Female }, - new { Path = Path.Combine("TestImages", "Gender", "ShinzoAbe_male.jpg"), Gender = Gender.Male }, - new { Path = Path.Combine("TestImages", "Gender", "WhitneyHouston_female.jpg"), Gender = Gender.Female }, + new { Path = Path.Combine(TestImageDirectory, "Gender", "BarackObama_male.jpg"), Gender = Gender.Male }, + new { Path = Path.Combine(TestImageDirectory, "Gender", "DianaPrincessOfWales_female.jpg"), Gender = Gender.Female }, + new { Path = Path.Combine(TestImageDirectory, "Gender", "MaoAsada_female.jpg"), Gender = Gender.Female }, + new { Path = Path.Combine(TestImageDirectory, "Gender", "ShinzoAbe_male.jpg"), Gender = Gender.Male }, + new { Path = Path.Combine(TestImageDirectory, "Gender", "WhitneyHouston_female.jpg"), Gender = Gender.Female }, }; foreach (var gt in groundTruth) @@ -1184,10 +1118,10 @@ public void PredictProbabilityAge() // 7: (60, 100) var groundTruth = new[] { - new {Path = Path.Combine("TestImages", "Age", "NelsonMandela_2008_90.jpg"), Age = new uint[] {7}}, - new {Path = Path.Combine("TestImages", "Age", "MacaulayCulkin_1991_11.jpg"), Age = new uint[] {2, 3}}, - new {Path = Path.Combine("TestImages", "Age", "DianaPrincessOfWales_1997_36.jpg"), Age = new uint[] {4, 5}}, - new {Path = Path.Combine("TestImages", "Age", "MaoAsada_2014_24.jpg"), Age = new uint[] {3, 4}} + new {Path = Path.Combine(TestImageDirectory, "Age", "NelsonMandela_2008_90.jpg"), Age = new uint[] {7}}, + new {Path = Path.Combine(TestImageDirectory, "Age", "MacaulayCulkin_1991_11.jpg"), Age = new uint[] {2, 3}}, + new {Path = Path.Combine(TestImageDirectory, "Age", "DianaPrincessOfWales_1997_36.jpg"), Age = new uint[] {4, 5}}, + new {Path = Path.Combine(TestImageDirectory, "Age", "MaoAsada_2014_24.jpg"), Age = new uint[] {3, 4}} }; foreach (var gt in groundTruth) @@ -1223,11 +1157,11 @@ public void PredictProbabilityGender() var groundTruth = new[] { - new {Path = Path.Combine("TestImages", "Gender", "BarackObama_male.jpg"), Gender = Gender.Male}, - new {Path = Path.Combine("TestImages", "Gender", "DianaPrincessOfWales_female.jpg"), Gender = Gender.Female}, - new {Path = Path.Combine("TestImages", "Gender", "MaoAsada_female.jpg"), Gender = Gender.Female}, - new {Path = Path.Combine("TestImages", "Gender", "ShinzoAbe_male.jpg"), Gender = Gender.Male}, - new {Path = Path.Combine("TestImages", "Gender", "WhitneyHouston_female.jpg"), Gender = Gender.Female}, + new {Path = Path.Combine(TestImageDirectory, "Gender", "BarackObama_male.jpg"), Gender = Gender.Male}, + new {Path = Path.Combine(TestImageDirectory, "Gender", "DianaPrincessOfWales_female.jpg"), Gender = Gender.Female}, + new {Path = Path.Combine(TestImageDirectory, "Gender", "MaoAsada_female.jpg"), Gender = Gender.Female}, + new {Path = Path.Combine(TestImageDirectory, "Gender", "ShinzoAbe_male.jpg"), Gender = Gender.Male}, + new {Path = Path.Combine(TestImageDirectory, "Gender", "WhitneyHouston_female.jpg"), Gender = Gender.Female}, }; foreach (var gt in groundTruth) @@ -1272,7 +1206,7 @@ public void PredictHeadPose() const double diff = 20.00; var groundTruth = new[] { - new { Path = Path.Combine("TestImages", "HeadPose", "AFW_134212_1_4.jpg"), Pose = new HeadPose(-12.5080101676021,-24.7073657941586, 46.8672622731993) }, + new { Path = Path.Combine(TestImageDirectory, "HeadPose", "AFW_134212_1_4.jpg"), Pose = new HeadPose(-12.5080101676021,-24.7073657941586, 46.8672622731993) }, }; foreach (var gt in groundTruth) @@ -1318,7 +1252,7 @@ public void PredictHeadPose() [Fact] public void TestBatchedFaceLocations() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) { var images = new[] { img, img, img }; var batchedDetectedFaces = this._FaceRecognition.BatchFaceLocations(images, 0).ToArray(); @@ -1336,7 +1270,7 @@ public void TestBatchedFaceLocations() [Fact] public void TestBatchedFaceLocationsException() { - using (var _ = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) + using (var _ = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) { var images = new Image[] { }; @@ -1363,7 +1297,7 @@ public void TestBatchedFaceLocationsException() [Fact] public void TestCnnFaceLocations() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) { var detectedFaces = this._FaceRecognition.FaceLocations(img, 1, Model.Cnn).ToArray(); Assert.True(detectedFaces.Length == 1); @@ -1377,7 +1311,7 @@ public void TestCnnFaceLocations() [Fact] public void TestCnnRawFaceLocations() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) { var detectedFaces = this.RawFaceLocations(img, 1, Model.Cnn).ToArray(); Assert.True(detectedFaces.Length == 1); @@ -1392,7 +1326,7 @@ public void TestCnnRawFaceLocations() [Fact] public void TestCnnRawFaceLocations32BitImage() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "32bit.png"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "32bit.png"))) { var detectedFaces = this.RawFaceLocations(img, 1, Model.Cnn).ToArray(); Assert.True(detectedFaces.Length == 1); @@ -1407,10 +1341,10 @@ public void TestCnnRawFaceLocations32BitImage() [Fact] public void TestCompareFaces() { - using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) - using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama2.jpg"))) - using (var imgA3 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama3.jpg"))) - using (var imgB1 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "biden.jpg"))) + using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) + using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama2.jpg"))) + using (var imgA3 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama3.jpg"))) + using (var imgB1 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "biden.jpg"))) { using (var faceEncodingA1 = this._FaceRecognition.FaceEncodings(imgA1).ToArray()[0]) using (var faceEncodingA2 = this._FaceRecognition.FaceEncodings(imgA2).ToArray()[0]) @@ -1436,8 +1370,8 @@ public void TestCompareFaces() [Fact] public void TestCompareFaceException() { - using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) - using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama2.jpg"))) + using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) + using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama2.jpg"))) { using (var faceEncodingA1 = this._FaceRecognition.FaceEncodings(imgA1).ToArray()[0]) using (var faceEncodingA2 = this._FaceRecognition.FaceEncodings(imgA2).ToArray()[0]) @@ -1466,10 +1400,10 @@ public void TestCompareFaceException() [Fact] public void TestCompareFacesException() { - using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) - using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama2.jpg"))) - using (var imgA3 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama3.jpg"))) - using (var imgB1 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "biden.jpg"))) + using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) + using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama2.jpg"))) + using (var imgA3 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama3.jpg"))) + using (var imgB1 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "biden.jpg"))) { using (var faceEncodingA1 = this._FaceRecognition.FaceEncodings(imgA1).ToArray()[0]) using (var faceEncodingA2 = this._FaceRecognition.FaceEncodings(imgA2).ToArray()[0]) @@ -1518,7 +1452,7 @@ public void TestCompareFacesException() [Fact] public void TestCompareFacesEmptyLists() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "biden.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "biden.jpg"))) { var encoding = this._FaceRecognition.FaceEncodings(img).ToArray()[0]; @@ -1535,10 +1469,10 @@ public void TestCompareFacesEmptyLists() [Fact] public void TestFaceDistance() { - using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) - using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama2.jpg"))) - using (var imgA3 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama3.jpg"))) - using (var imgB1 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "biden.jpg"))) + using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) + using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama2.jpg"))) + using (var imgA3 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama3.jpg"))) + using (var imgB1 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "biden.jpg"))) { using (var faceEncodingA1 = this._FaceRecognition.FaceEncodings(imgA1).ToArray()[0]) using (var faceEncodingA2 = this._FaceRecognition.FaceEncodings(imgA2).ToArray()[0]) @@ -1564,10 +1498,10 @@ public void TestFaceDistance() [Fact] public void TestFaceDistances() { - using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) - using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama2.jpg"))) - using (var imgA3 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama3.jpg"))) - using (var imgB1 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "biden.jpg"))) + using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) + using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama2.jpg"))) + using (var imgA3 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama3.jpg"))) + using (var imgB1 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "biden.jpg"))) { using (var faceEncodingA1 = this._FaceRecognition.FaceEncodings(imgA1).ToArray()[0]) using (var faceEncodingA2 = this._FaceRecognition.FaceEncodings(imgA2).ToArray()[0]) @@ -1599,8 +1533,8 @@ public void TestFaceDistances() [Fact] public void FaceDistanceException() { - using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) - using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama2.jpg"))) + using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) + using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama2.jpg"))) { using (var faceEncodingA1 = this._FaceRecognition.FaceEncodings(imgA1).ToArray()[0]) using (var faceEncodingA2 = this._FaceRecognition.FaceEncodings(imgA2).ToArray()[0]) @@ -1629,10 +1563,10 @@ public void FaceDistanceException() [Fact] public void FaceDistancesException() { - using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) - using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama2.jpg"))) - using (var imgA3 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama3.jpg"))) - using (var imgB1 = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "biden.jpg"))) + using (var imgA1 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) + using (var imgA2 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama2.jpg"))) + using (var imgA3 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama3.jpg"))) + using (var imgB1 = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "biden.jpg"))) { using (var faceEncodingA1 = this._FaceRecognition.FaceEncodings(imgA1).ToArray()[0]) using (var faceEncodingA2 = this._FaceRecognition.FaceEncodings(imgA2).ToArray()[0]) @@ -1681,7 +1615,7 @@ public void FaceDistancesException() [Fact] public void TestFaceDistanceEmptyLists() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "biden.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "biden.jpg"))) { var encoding = this._FaceRecognition.FaceEncodings(img).ToArray()[0]; @@ -1698,7 +1632,7 @@ public void TestFaceDistanceEmptyLists() [Fact] public void TestFaceEncodings() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) { var encodings = this._FaceRecognition.FaceEncodings(img).ToArray(); Assert.True(encodings.Length == 1); @@ -1712,7 +1646,7 @@ public void TestFaceEncodings() [Fact] public void TestFaceLandmarks() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) { var faceLandmarks = this._FaceRecognition.FaceLandmark(img).ToArray(); @@ -1763,7 +1697,7 @@ public void TestFaceLandmarks() [Fact] public void TestFaceLandmarksSmallModel() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) { var faceLandmarks = this._FaceRecognition.FaceLandmark(img, null, PredictorModel.Small).ToArray(); @@ -1792,7 +1726,7 @@ public void TestFaceLandmarksSmallModel() [Fact] public void TestFaceLocations() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) { var detectedFaces = this._FaceRecognition.FaceLocations(img).ToArray(); Assert.True(detectedFaces.Length == 1); @@ -1806,7 +1740,7 @@ public void TestFaceLocations() [Fact] public void TestLoadImageFile() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) { Assert.True(img.Height == 1137); Assert.True(img.Width == 910); @@ -1818,19 +1752,19 @@ public void TestLoadBitmap() { Location mono = null; Location color = null; - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama_8bppIndexed.bmp"), Mode.Greyscale)) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama_8bppIndexed.bmp"), Mode.Greyscale)) mono = this._FaceRecognition.FaceLocations(img).ToArray().FirstOrDefault(); - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama_24bppRgb.bmp"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama_24bppRgb.bmp"))) color = this._FaceRecognition.FaceLocations(img).ToArray().FirstOrDefault(); var targets = new[] { - new { Action = new Func(() => (Bitmap)System.Drawing.Image.FromFile(Path.Combine("TestImages", "obama_8bppIndexed.bmp"))), Format = PixelFormat.Format8bppIndexed, Expect = mono }, - new { Action = new Func(() => (Bitmap)System.Drawing.Image.FromFile(Path.Combine("TestImages", "obama_24bppRgb.bmp"))), Format = PixelFormat.Format24bppRgb, Expect = color }, - new { Action = new Func(() => (Bitmap)System.Drawing.Image.FromFile(Path.Combine("TestImages", "obama_32bppArgb.bmp"))), Format = PixelFormat.Format32bppArgb, Expect = color }, + new { Action = new Func(() => (Bitmap)System.Drawing.Image.FromFile(Path.Combine(TestImageDirectory, "obama_8bppIndexed.bmp"))), Format = PixelFormat.Format8bppIndexed, Expect = mono }, + new { Action = new Func(() => (Bitmap)System.Drawing.Image.FromFile(Path.Combine(TestImageDirectory, "obama_24bppRgb.bmp"))), Format = PixelFormat.Format24bppRgb, Expect = color }, + new { Action = new Func(() => (Bitmap)System.Drawing.Image.FromFile(Path.Combine(TestImageDirectory, "obama_32bppArgb.bmp"))), Format = PixelFormat.Format32bppArgb, Expect = color }, new { Action = new Func(() => { - using(var tmp = (Bitmap)System.Drawing.Image.FromFile(Path.Combine("TestImages", "obama_32bppArgb.bmp"))) + using(var tmp = (Bitmap)System.Drawing.Image.FromFile(Path.Combine(TestImageDirectory, "obama_32bppArgb.bmp"))) { var bitmap = new Bitmap(tmp.Width,tmp.Height,PixelFormat.Format32bppRgb ); var rect = new System.Drawing.Rectangle(System.Drawing.Point.Empty, tmp.Size); @@ -1863,7 +1797,7 @@ public void TestLoadBitmap() [Fact] public void TestLoadImageFile32Bit() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "32bit.png"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "32bit.png"))) { Assert.True(img.Height == 1200); Assert.True(img.Width == 626); @@ -1873,7 +1807,7 @@ public void TestLoadImageFile32Bit() [Fact] public void TestPartialFaceLocations() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama_partial_face.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama_partial_face.jpg"))) { var detectedFaces = this._FaceRecognition.FaceLocations(img).ToArray(); Assert.True(detectedFaces.Length == 1); @@ -1883,7 +1817,7 @@ public void TestPartialFaceLocations() Assert.True(detectedFaces[0].Left == 0); } - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama_partial_face2.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama_partial_face2.jpg"))) { var detectedFaces = this._FaceRecognition.FaceLocations(img).ToArray(); Assert.True(detectedFaces.Length == 1); @@ -1897,7 +1831,7 @@ public void TestPartialFaceLocations() [Fact] public void TestRawFaceLandmarks() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) { var faceLandmarks = this.RawFaceLandmarks(img).ToArray(); var exampleLandmark = faceLandmarks[0].GetPart(10); @@ -1915,7 +1849,7 @@ public void TestRawFaceLandmarks() [Fact] public void TestRawFaceLocations() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) { var detectedFaces = this.RawFaceLocations(img).ToArray(); Assert.True(detectedFaces.Length == 1); @@ -1930,7 +1864,7 @@ public void TestRawFaceLocations() [Fact] public void TestRawFaceLocations32BitImage() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "32bit.png"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "32bit.png"))) { var detectedFaces = this.RawFaceLocations(img).ToArray(); Assert.True(detectedFaces.Length == 1); @@ -1945,7 +1879,7 @@ public void TestRawFaceLocations32BitImage() [Fact] public void TestRawFaceLocationsBatched() { - using (var img = FaceRecognition.LoadImageFile(Path.Combine("TestImages", "obama.jpg"))) + using (var img = FaceRecognition.LoadImageFile(Path.Combine(TestImageDirectory, "obama.jpg"))) { var images = new[] { img, img, img }; var batchedDetectedFaces = this.RawFaceLocationsBatched(images, 0).ToArray(); @@ -2011,8 +1945,8 @@ private void EyeBlinkDetect(EyeBlinkDetector eyeBlinkDetector, PredictorModel mo var groundTruth = new[] { - new { Path = Path.Combine("TestImages", "EyeBlink", "Adele_Haenel_Cannes_2016.jpg"), Left = true, Right = false }, - new { Path = Path.Combine("TestImages", "EyeBlink", "Adele_Haenel_Cannes_2016_mirror.jpg"), Left = false, Right = true }, + new { Path = Path.Combine(TestImageDirectory, "EyeBlink", "Adele_Haenel_Cannes_2016.jpg"), Left = true, Right = false }, + new { Path = Path.Combine(TestImageDirectory, "EyeBlink", "Adele_Haenel_Cannes_2016_mirror.jpg"), Left = false, Right = true }, }; foreach (var gt in groundTruth) diff --git a/test/FaceRecognitionDotNet.Tests/TestImages/480px-Biden_2013.jpg b/test/FaceRecognitionDotNet.Tests/TestImages/480px-Biden_2013.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85a164506a395060bb8308eb13d5924395fe9918 GIT binary patch literal 59659 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%0DFQ*y4b=qV!LULf@}r)`zkz35ZX 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

kbb)4Sy(2 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