Range
This commit is contained in:
@ -80,7 +80,6 @@ public partial class DlibDotNet
|
||||
configuration.CheckDFaceAndUpWriteDates,
|
||||
configuration.PropertyConfiguration,
|
||||
encoderParameters,
|
||||
configuration.FaceDistanceAreaPermilleTolerance,
|
||||
configuration.FaceDistanceHiddenImageFactor,
|
||||
filenameExtension,
|
||||
configuration.ForceFaceLastWriteTimeToCreationTime,
|
||||
@ -103,7 +102,7 @@ public partial class DlibDotNet
|
||||
}
|
||||
_Metadata = new(configuration.ForceMetadataLastWriteTimeToCreationTime, configuration.PropertiesChangedForMetadata);
|
||||
_MapConfiguration = Get(configuration, _Faces.FileNameExtension, _Faces.HiddenFileNameExtension, _FaceParts.FileNameExtension);
|
||||
_Distance = new(configuration.DistanceMoveUnableToMatch, configuration.DistancePixelDistanceTolerance, configuration.DistanceRenameToMatch, configuration.FaceDistanceTolerance);
|
||||
_Distance = new(configuration.DistanceMoveUnableToMatch, configuration.DistancePixelDistanceTolerance, configuration.DistanceRenameToMatch, _Configuration.FaceConfidencePercent, configuration.RangeDistanceTolerance, configuration.RangeFaceConfidence);
|
||||
if (_FirstRun || !_ArgZeroIsConfigurationRootDirectory)
|
||||
personContainers = Array.Empty<PersonContainer>();
|
||||
else
|
||||
@ -217,8 +216,6 @@ public partial class DlibDotNet
|
||||
throw new Exception($"One or more {nameof(configuration.SaveShortcutsForOutputResolutions)} are not in the ValidResolutions list!");
|
||||
if ((from l in configuration.SaveFaceLandmarkForOutputResolutions where !configuration.ValidResolutions.Contains(l) select false).Any())
|
||||
throw new Exception($"One or more {nameof(configuration.SaveFaceLandmarkForOutputResolutions)} are not in the ValidResolutions list!");
|
||||
if (configuration.DistanceFactor + configuration.LocationConfidenceFactor != 10)
|
||||
throw new NullReferenceException(nameof(configuration.DistanceFactor));
|
||||
if (string.IsNullOrEmpty(configuration.ModelName))
|
||||
throw new NullReferenceException(nameof(configuration.ModelName));
|
||||
if (string.IsNullOrEmpty(configuration.OutputExtension))
|
||||
@ -266,12 +263,13 @@ public partial class DlibDotNet
|
||||
private static Map.Models.Configuration Get(Models.Configuration configuration, string facesFileNameExtension, string facesHiddenFileNameExtension, string facePartsFileNameExtension)
|
||||
{
|
||||
Map.Models.Configuration result = new(
|
||||
configuration.FaceConfidencePercent,
|
||||
configuration.FaceDistancePermyriad,
|
||||
configuration.FaceDistanceTolerance,
|
||||
configuration.MappingDefaultName,
|
||||
configuration.PersonBirthdayFirstYear,
|
||||
configuration.PersonBirthdayFormat,
|
||||
configuration.SortingDaysDeltaTolerance,
|
||||
configuration.RangeDaysDeltaTolerance,
|
||||
configuration.RangeDistanceTolerance,
|
||||
configuration.SortingMaximumPerKey,
|
||||
configuration.SortingMinimumToUseSigma,
|
||||
facesFileNameExtension,
|
||||
@ -782,9 +780,10 @@ public partial class DlibDotNet
|
||||
List<Item> items = new();
|
||||
Shared.Models.Face[] faces;
|
||||
Mapping mapping;
|
||||
int areaPermille;
|
||||
int faceAreaPermille;
|
||||
bool? isWrongYear;
|
||||
Item[] filteredItems;
|
||||
int confidencePercent;
|
||||
DateTime minimumDateTime;
|
||||
int normalizedPixelPercentage;
|
||||
string deterministicHashCodeKey;
|
||||
@ -820,10 +819,11 @@ public partial class DlibDotNet
|
||||
break;
|
||||
if (face.FaceEncoding is null || face.Location is null || face.OutputResolution is null)
|
||||
continue;
|
||||
areaPermille = Shared.Models.Stateless.Methods.IMapping.GetAreaPermille(face.Location, face.OutputResolution);
|
||||
confidencePercent = Shared.Models.Stateless.Methods.ILocation.GetConfidencePercent(_Configuration.FaceConfidencePercent, _Configuration.RangeFaceConfidence, face.Location.Confidence);
|
||||
faceAreaPermille = Shared.Models.Stateless.Methods.IMapping.GetAreaPermille(_Configuration.FaceAreaPermille, face.Location, face.OutputResolution);
|
||||
normalizedPixelPercentage = Shared.Models.Stateless.Methods.ILocation.GetNormalizedPixelPercentage(face.Location, Shared.Models.Stateless.ILocation.Digits, Shared.Models.Stateless.ILocation.Factor, face.OutputResolution);
|
||||
deterministicHashCodeKey = Shared.Models.Stateless.Methods.IMapping.GetDeterministicHashCodeKey(item.Property.Id.Value, face.Location, Shared.Models.Stateless.ILocation.Digits, Shared.Models.Stateless.ILocation.Factor, face.OutputResolution);
|
||||
mappingFromLocation = new(areaPermille, face.Location.Confidence, deterministicHashCodeKey, normalizedPixelPercentage);
|
||||
mappingFromLocation = new(faceAreaPermille, confidencePercent, deterministicHashCodeKey, normalizedPixelPercentage);
|
||||
mapping = new(mappingFromItem, mappingFromLocation);
|
||||
face.SetMapping(mapping);
|
||||
collection.Add(face);
|
||||
@ -842,10 +842,10 @@ public partial class DlibDotNet
|
||||
(List<Item> filteredItems, Shared.Models.Face[] distinctFilteredFaces) = SetMappingThenGetDistinctFilteredFacesWithMapping(argZero, containers);
|
||||
Mapping[] mappingCollection = MapLogicSupport.GetSelectedMappingCollection(distinctFilteredFaces);
|
||||
MapLogicSupport mapLogicSupport = new(
|
||||
_Configuration.FaceDistanceAreaPermilleTolerance,
|
||||
_Configuration.FaceDistanceMinimumConfidence,
|
||||
_Configuration.FaceConfidencePercent,
|
||||
_Configuration.FaceDistancePermyriad,
|
||||
_Configuration.SortingDaysDeltaTolerance,
|
||||
_Configuration.RangeDaysDeltaTolerance,
|
||||
_Configuration.RangeFaceAreaPermilleTolerance,
|
||||
_Configuration.SortingMaximumPerFaceShouldBeHigh);
|
||||
MapLogic mapLogic = new(
|
||||
_AppSettings.MaxDegreeOfParallelism,
|
||||
@ -859,13 +859,11 @@ public partial class DlibDotNet
|
||||
mapLogicSupport);
|
||||
Dictionary<int, Dictionary<int, Mapping>> idToNormalizedPixelPercentageToMapping = MapLogicSupport.GetIdToNormalizedPixelPercentageToFace(mappingCollection);
|
||||
mapLogic.CopyManualFiles(dFacesContentDirectory, idToNormalizedPixelPercentageToMapping);
|
||||
if (!_Configuration.SaveFaceDistancesForOutputResolutions.Contains(outputResolution))
|
||||
mapLogic.CopyNotMappedFaces(_Configuration.FaceDistanceAreaPermilleTolerance, dFacesContentDirectory, idToNormalizedPixelPercentageToMapping);
|
||||
if (_Configuration.SaveNotMappedForOutputResolutions.Contains(outputResolution))
|
||||
mapLogic.CopyNotMappedFaces(_Configuration.RangeFaceAreaPermilleTolerance, dFacesContentDirectory, idToNormalizedPixelPercentageToMapping);
|
||||
(Dictionary<long, int> personKeyToCount, int totalNotMapped) = mapLogic.AddToMapping(mappingCollection);
|
||||
if (_Configuration.SaveMappedForOutputResolutions.Contains(outputResolution))
|
||||
mapLogic.SaveMapped(dFacesContentDirectory, d2FacePartsContentDirectory, mappingCollection, idToNormalizedPixelPercentageToMapping, personKeyToCount, totalNotMapped);
|
||||
if (_Configuration.SaveNotMappedForOutputResolutions.Contains(outputResolution))
|
||||
mapLogic.SaveNotMappedTicks();
|
||||
if (_Configuration.SaveShortcutsForOutputResolutions.Contains(outputResolution))
|
||||
mapLogic.SaveShortcuts(a2PeopleSingletonDirectory, personContainers, filteredItems, mappingCollection, personKeyToCount);
|
||||
if (_Configuration.SaveResizedImagesByPersonKeyFormattedForOutputResolutions.Contains(outputResolution))
|
||||
@ -887,6 +885,8 @@ public partial class DlibDotNet
|
||||
if (totalNotMapped > 0)
|
||||
mapLogic.UpdateFromSortingContainersThenSaveContainers(dFacesContentDirectory, d2FacePartsContentDirectory, mappingCollection, idToNormalizedPixelPercentageToMapping, useFiltersCounter, sortingContainers, totalNotMapped);
|
||||
}
|
||||
if (_Configuration.SaveNotMappedForOutputResolutions.Contains(outputResolution))
|
||||
mapLogic.SaveNotMappedTicks();
|
||||
}
|
||||
|
||||
private static Container? AreAllSameEndsWith(string argZero, Container[] containers)
|
||||
|
Reference in New Issue
Block a user