After
(637967784888423594)-2,042.zip (637969699845057599)-548.zip
This commit is contained in:
@ -664,13 +664,12 @@ public class DlibDotNet
|
||||
foreach (string outputResolution in _Configuration.OutputResolutions)
|
||||
{
|
||||
(aResultsFullGroupDirectory, bResultsFullGroupDirectory, cResultsFullGroupDirectory, dResultsFullGroupDirectory, d2ResultsFullGroupDirectory, eResultsFullGroupDirectory, zResultsFullGroupDirectory) = GetResultsFullGroupDirectories(configuration, model, predictorModel, outputResolution);
|
||||
if (_ArgZeroIsConfigurationRootDirectory && _Exceptions.Count == 0 && outputResolution == _Configuration.OutputResolutions[0] && (mapLogic.NamedFaceInfoDeterministicHashCodeKeyValuePairs.Any() || mapLogic.NamedDeterministicHashCodeKeyValuePairs.Any()))
|
||||
if (_ArgZeroIsConfigurationRootDirectory && _Exceptions.Count == 0 && outputResolution == _Configuration.OutputResolutions[0])
|
||||
{
|
||||
if (!string.IsNullOrEmpty(mapLogic.DeterministicHashCodeRootDirectory) && !mapLogic.IncorrectDeterministicHashCodeKeyValuePairs.Any())
|
||||
mapLogic.UpdateKeyValuePairs(containers);
|
||||
mapLogic.UseKeyValuePairsSaveFaceEncoding(containers);
|
||||
foreach (Container container in containers)
|
||||
{
|
||||
Map.Models.MapLogic.AddToNamed(mapLogic, container.Items);
|
||||
mapLogic.AddToNamed(container.Items);
|
||||
if (_Configuration.SaveShortcutsForOutputResolutions.Contains(outputResolution))
|
||||
D_Face.SaveShortcuts(_Configuration.JuliePhares, dResultsFullGroupDirectory, ticks, peopleCollection, mapLogic, container.Items);
|
||||
}
|
||||
|
@ -182,20 +182,19 @@ public class D_Face
|
||||
results.Add(new(property, outputResolutionWidth, outputResolutionHeight, outputResolutionOrientation, item.RelativePath, i: null, location: null));
|
||||
else
|
||||
{
|
||||
List<(Location Location, FaceRecognitionDotNet.FaceEncoding? FaceEncoding, Dictionary<FacePart, FacePoint[]>? FaceParts)> collection;
|
||||
List<(int, Location Location, FaceRecognitionDotNet.FaceEncoding? FaceEncoding, Dictionary<FacePart, FacePoint[]>? FaceParts)> collection;
|
||||
FaceRecognition faceRecognition = new(_Configuration.NumberOfTimesToUpsample, _Configuration.NumberOfJitters, _PredictorModel, _Model, _ModelParameter);
|
||||
collection = faceRecognition.GetCollection(unknownImage, includeFaceEncoding: true, includeFaceParts: true, sortByNormalizedPixelPercentage: true);
|
||||
if (!collection.Any())
|
||||
results.Add(new(property, outputResolutionWidth, outputResolutionHeight, outputResolutionOrientation, item.RelativePath, i: null, location: null));
|
||||
else
|
||||
{
|
||||
int i = 0;
|
||||
Face face;
|
||||
double[] rawEncoding;
|
||||
Shared.Models.FaceEncoding convertedFaceEncoding;
|
||||
foreach ((Location location, FaceRecognitionDotNet.FaceEncoding? faceEncoding, Dictionary<FacePart, FacePoint[]>? faceParts) in collection)
|
||||
foreach ((int locationIndex, Location location, FaceRecognitionDotNet.FaceEncoding? faceEncoding, Dictionary<FacePart, FacePoint[]>? faceParts) in collection)
|
||||
{
|
||||
face = new(property, outputResolutionWidth, outputResolutionHeight, outputResolutionOrientation, item.RelativePath, i, location);
|
||||
face = new(property, outputResolutionWidth, outputResolutionHeight, outputResolutionOrientation, item.RelativePath, locationIndex, location);
|
||||
if (faceEncoding is not null)
|
||||
{
|
||||
rawEncoding = faceEncoding.GetRawEncoding();
|
||||
@ -205,7 +204,6 @@ public class D_Face
|
||||
if (faceParts is not null)
|
||||
face.SetFaceParts(faceParts);
|
||||
results.Add(face);
|
||||
i += 1;
|
||||
}
|
||||
}
|
||||
unknownImage.Dispose();
|
||||
@ -379,7 +377,7 @@ public class D_Face
|
||||
WindowsShortcut windowsShortcut;
|
||||
const string pattern = @"[\\,\/,\:,\*,\?,\"",\<,\>,\|]";
|
||||
string dFacesContentDirectory = Path.Combine(dResultsFullGroupDirectory, $"({ticks})");
|
||||
List<(Item, (string, Face?, (string, string, string, string))[])> collections = Map.Models.MapLogic.GetCollection(mapLogic, items, dFacesContentDirectory);
|
||||
List<(Item, (string, Face?, (string, string, string, string))[])> collections = mapLogic.GetCollection(items, dFacesContentDirectory);
|
||||
foreach ((Item item, (string personKey, Face? _, (string, string, string, string))[] collection) in collections)
|
||||
{
|
||||
if (collection.Length != 1)
|
||||
|
@ -541,7 +541,7 @@ internal class E_Distance
|
||||
{
|
||||
List<double> faceDistances = FaceRecognition.FaceDistances(tuple.FaceEncodings, faceEncoding);
|
||||
result = new(face.Location?.NormalizedPixelPercentage, tuple.MinimumDateTime, tuple.IsWrongYear, tuple.PersonBirthday, faceDistances);
|
||||
if (result.Minimum > Shared.Models.Stateless.Methods.IClosest.MaximumMinimum)
|
||||
if (result.Minimum > Shared.Models.Stateless.IClosest.MaximumMinimum)
|
||||
result = null;
|
||||
}
|
||||
return result;
|
||||
@ -565,7 +565,7 @@ internal class E_Distance
|
||||
continue;
|
||||
faceDistances = FaceRecognition.FaceDistances(faceEncodings, faceEncoding);
|
||||
closest = new(face.Location?.NormalizedPixelPercentage, minimumDateTime, isWrongYear, personBirthday, faceDistances);
|
||||
if (closest.Minimum > Shared.Models.Stateless.Methods.IClosest.MaximumMinimum)
|
||||
if (closest.Minimum > Shared.Models.Stateless.IClosest.MaximumMinimum)
|
||||
continue;
|
||||
closestCollection.Add(closest);
|
||||
}
|
||||
@ -613,7 +613,7 @@ internal class E_Distance
|
||||
if (itemMinimumDateTime is null)
|
||||
continue;
|
||||
(itemIsWrongYear, _) = Map.Models.MapLogic.IsWrongYear(item);
|
||||
if (Shared.Models.Stateless.Methods.IClosest.SkipIsWrongYear && itemIsWrongYear.HasValue && itemIsWrongYear.Value)
|
||||
if (Shared.Models.Stateless.IClosest.SkipIsWrongYear && itemIsWrongYear.HasValue && itemIsWrongYear.Value)
|
||||
continue;
|
||||
item.Closest.Clear();
|
||||
for (int i = 0; i < item.Faces.Count; i++)
|
||||
@ -631,12 +631,12 @@ internal class E_Distance
|
||||
if (closest.PersonBirthday is null)
|
||||
continue;
|
||||
personKey = Shared.Models.Stateless.Methods.IPersonBirthday.GetFormatted(closest.PersonBirthday);
|
||||
if (mapLogic.IncorrectDeterministicHashCodeKeyValuePairs.ContainsKey(deterministicHashCodeKey) && mapLogic.IncorrectDeterministicHashCodeKeyValuePairs[deterministicHashCodeKey].Contains(personKey))
|
||||
if (mapLogic.IsIncorrect(deterministicHashCodeKey, personKey))
|
||||
continue;
|
||||
key = Map.Models.MapLogic.GetKey(closest.MinimumDateTime, closest.IsWrongYear, closest.PersonBirthday);
|
||||
if (!results.ContainsKey(key))
|
||||
results.Add(key, 0);
|
||||
else if (results[key] > Shared.Models.Stateless.Methods.IClosest.MaximumPer)
|
||||
else if (results[key] > Shared.Models.Stateless.IClosest.MaximumPer)
|
||||
continue;
|
||||
results[key] += 1;
|
||||
item.Closest[0] = closest;
|
||||
@ -732,7 +732,7 @@ internal class E_Distance
|
||||
FileInfo landmarkFileInfo;
|
||||
string landmarksDirectory;
|
||||
double deterministicHashCodeKey;
|
||||
const string facePopulatedKey = "Closest";
|
||||
const string facePopulatedKey = nameof(Closest);
|
||||
const string pattern = @"[\\,\/,\:,\*,\?,\"",\<,\>,\|]";
|
||||
foreach (Container container in containers)
|
||||
{
|
||||
|
Reference in New Issue
Block a user