MINI
C:
/
siak
/
app
/
tess
/
config
/
8.8.1
/
Face
/
Upload File:
files >> C:/siak/app/tess/config/8.8.1/Face/IsoImageGeneration5_0_0.dat
<?xml version="1.0" encoding="ISO-8859-1" ?> <perform> <startEngine> <setFaceDataToRoiFactor fLeft = "0.7" fTop = "1.4" fHeight = "3" /> <external> <!-- FaceFinding --> <externalParameters fhgFLeft = "0.7" fhgFTop = "1.4" fhgFHeight = "3.0" minRelEyeDistance = "0.001" maxRelEyeDistance = "0.8" useIdxFaceDetector = "false" useObjectGrabber = "true" useDetectionConfidence = "false" tryOgDetectionConfidenceThreshold = "1.0" minDetectionConfidenceThreshold = "4.0" faceClassThreshold = "7.8" tryOgFaceClassThreshold = "6.0" improveEyePosTagNameOG = "improveEyePos_OG" improveEyePosTagNameFASER = "improveEyePos_OG" improveEyePosTagNameLABELED_NoMod = "improveEyePos_Labeled" improveEyePosTagNameLABELED_Mod = "improveEyePos_OG" fhgWorkingWidth = "768" fhgWorkingHeight = "576" fhgScoreThreshold = "100" fhgMaxEyeYFactor = "0.99" faceClassThresholdForPoseNormalizedImage = "8.5" /> <!-- faserMode: .......... GeneralFace SmallFace Video MugShot PoseTolerantGeneralFaceSmall Progressive Challenge faserLandmarksFindingMode: .......................... 0: no landmarks finding, just the face rectangle. 1: finds 2 eyes quickly. 2: finds 2 eyes thorougly; slower than (1) but more accurate. 3: finds all 8 landmarks (pose dependent); most accurate but slowest. faserAllowFaceFindingAtRoll: ............................ true false faserMinAllowedFaceFindingRoll faserMaxAllowedFaceFindingRoll .............................. Range: [-180 - 180] faserMaxFacesToFind: .............................. 1 2 faserMinEyeSpacingRatio faserMaxEyeSpacingRatio .............................. Range: [1 - 1024] Desired range of faces inter-eyes-distance (IED) relative to min(image width, image height). Each ratio is multiplied by 1024. faserFaceFindingConfidenceThreshold ................................ Range: [0 - 1024] Smallest confidence score for a detected face. faserAllowFaceFindingAtYaw ............................ true false Allows FASER to locate faces that have roll in the range specified by <MinAllowedFaceFindingRoll> and <MaxAllowedFaceFindingRoll> faserMinAllowedFaceFindingYaw faserMaxAllowedFaceFindingYaw ............................ Range: [-90 - 90] faserYawEstimationConfidenceThreshold ............................ Range: [0 - 1024] Allows FASER to locate faces that have yaw in the range specified by <MinAllowedFaceFindingYaw> and <MaxAllowedFaceFindingYaw> faserAllowImageROI ............................ true false Allows FASER to look for faces only inside the Region Of Interest (ROI) faserImageROILeftRatio //left ROI border relative to image WIDTH * 1024 faserImageROITopRatio //top ROI border relative to image HEIGHT * 1024 faserImageROIRightRatio //right ROI border relative to image WIDTH * 1024 faserImageROIBottomRatio //bottom ROI border relative to image HEIGHT * 1024 ............................ Range: [1 - 1024] faserUseInterFrameRelationship ............................ true false Enable usage of temporal information between consecutive images as a cue to face finding/tracking faserAllowMultipleSearchTrials ............................ true false Allows Faser to try other slightly different engine settings in case no faces are found with explicitly specified settings. ABIS users are encouraged to turn it ON. Slows down a bit the processing but lowers FRR --> <!-- quality check parameters for template generation --> <externalParameters TG_minSharpness = "0.000001" TG_maxRollAngle = "40.0" /> <!-- quality check parameters for standard image quality checks --> <!-- blurValue = (1.0 - sharpnessValue) * 255.0; --> <!-- sharpnessValue = 1.0 - blurValue/255.0; --> <externalParameters STDIMG_maxBlurriness = "115" STDIMG_maxRollAngle = "5.0" STDIMG_maxShadowScore = "40" STDIMG_maxBackgroundNoise = "22" /> <!-- parameters for full frontal image generation --> <externalParameters FullFrontalImageCreationMode = "fixWidthToHeightRatioC" FFminVerticalEyePosition = "0.5" FFminVerticalEyePositionChild = "0.4" FFmaxVerticalEyePosition = "0.7" FFmaxRelativeHeadWidthISO = "0.7143" FFmaxRelativeHeadWidthANSI = "0.5714" FFmaxRelativeHeadHeight = "0.8" FFminRelativeHeadWidth = "0.5" FFminRelativeHeadHeight = "0.7" /> </external> <!-- objects for sharpness check --> <createMatchGraphFromFile filename = "$VISG_COMMON_DIR/config/8.8.1/Face/checkSharpnessMask.gra" graphId = "sharpnessMaskGraph256" /> <createImage imageId = "whiteImage256" width = "256" height = "256" type = "gray" grayValue = "255" /> <createImage imageId = "maskImage256" width = "256" height = "256" type = "gray" /> <createImage imageId = "workingImage256" width = "256" height = "256" type = "gray" /> <createImage imageId = "sharpnessWorkingImageLeft" width = "128" height = "128" type = "gray" /> <createImage imageId = "sharpnessWorkingImageRight" width = "128" height = "128" type = "gray" /> <createMatchGraphFromFile filename = "$VISG_COMMON_DIR/config/8.8.1/Face/mgMod128.gra" graphId = "modellerGraph128" /> <createGraph graphId = "qCheckGraph" graphType = "floatGraph" /> <createGraph graphId = "reducedQcheckGraph" graphType = "floatGraph" /> <createGraph graphId = "reducedQcheckMatchGraph" graphType = "matchGraph2D" /> <createImage imageId = "derotatedImage" width = "128" height = "128" type = "gray" /> <createImage imageId = "workingImage128" width = "128" height = "128" type = "gray" /> <createTransform transformId = "qCheckTransform128" width = "128" height = "128" trafoType = "pyramidalGabor" nFrequencies = "4" nOrientations = "12" maximum = "0" factor = "0" sigma = "0" ks = "2.49732,1.783254,1.2733627,0.909267" sigmas = "4.42513,4.42513,4.42513,4.42513" kernelShift = "1,1,1,1" spaceAccuracy = "3" /> <createRoi roiId = "inputRoi" top = "100" left = "90" width = "300" height = "300" /> <createRoi roiId = "tokenRoi" top = "10" left = "10" width = "10" height = "10" /> <createRoi roiId = "marginRoi" top = "10" left = "10" width = "10" height = "10" /> <createRoi roiId = "faceIlluRoi" top = "100" left = "90" width = "300" height = "300" /> <createRoi roiId = "illuCorrRoi" top = "100" left = "90" width = "300" height = "300" /> <createRoi roiId = "sharpnessRoi" top = "0" left = "0" width = "128" height = "128" /> <createRoi roiId = "cropRoi" top = "0" left = "0" width = "10" height = "10" /> <createFacialFeaturePoints facialFeaturePointsId = "ffpInputImage" /> <createFacialFeaturePoints facialFeaturePointsId = "ffpTokenImage" /> <createFacialFeaturePoints facialFeaturePointsId = "ffpWorkingImage" /> <createFacialFeaturePoints facialFeaturePointsId = "ffpOutputImage" /> <createFacialFeaturePoints facialFeaturePointsId = "ffpDerotatedImage" /> <createFaceClassifier faceClassifierId = "faceClass128" faceClassifierConfigFile = "$VISG_COMMON_DIR/config/8.8.1/Face/fc_hgmfc.pmt_25noNorm" /> <createQCheck qCheckId = "stdFaceRecQcheck" minImageWidth = "90" minImageHeight = "90" maxCompressionFactor = "100.0" minStdDevGrayValues = "15.5" maxStdDevGrayValues = "255.0" minMeanGrayValue = "25.0" maxMeanGrayValue = "230.0" minFaceStdDevGrayValues = "10.0" maxFaceStdDevGrayValues = "110.0" minFaceMeanGrayValue = "8.0" maxFaceMeanGrayValue = "220.0" minFaceAreaInsideRatio = "0.95" minNumberOfPixelsInFaceArea = "3600" minGraphSimilarity = "0.60" bestWidth = "283" bestHeight = "400" bestFaceArea = "30000" bestMeanGrayValue = "128" bestGrayValueStdDev = "30" bestFaceClassifierResidual = "2.4" useFaceClassifier = "true" maxFaceClassifierResidual = "@faceClassThreshold" promatFilename = "$VISG_COMMON_DIR/config/8.8.1/Face/fc_hgmfc.pmt_25noNorm" usePoseClassifier = "true" bestPoseClassifierScore = "0.0" maxPoseClassifierScore = "11.5" bestRollAngle = "0.0" maxRollAngle = "@TG_maxRollAngle" maxRollAngleStdImg = "@STDIMG_maxRollAngle" minSharpness = "@TG_minSharpness" maxBlurrinessStdImg = "@STDIMG_maxBlurriness" bestSharpnessValue = "1.0" maxFmfDeficiency = "10.00" bestFmfDeficiency = "0.0" minFmfEyeDistance = "1" minFmfSharpness = "0.0000000001" minFmfQuality = "0.0000000001" fmfClassNetFilename = "$VISG_COMMON_DIR/config/8.8.1/Face/fmfClassV1.net" poseClassifierIniFilename = "$VISG_COMMON_DIR/config/8.8.1/Face/PoseClassifier.ini" poseTemplateListFilename = "$VISG_COMMON_DIR/config/8.8.1/Face/PoseTemplates.ini" poseTemplatePath = "$VISG_COMMON_DIR/config/8.8.1/Face/PoseTemplates128" debug = "false" /> </startEngine> <!-- performs quality check on inputImage with given eye positions ffpInputImage in: inputImage ffpInputImage out: ffpInputImage inputRoi qCheckGraph derotatedImage ffpDerotatedImage --> <qCheckWithGivenEyePositions> <qCheck qCheckId = "stdFaceRecQcheck" imageId = "inputImage" throwException = "false" /> <setRoi roiId = "inputRoi" byFacialFeaturePointsId = "ffpInputImage" fLeft = "0.7" fTop = "1.4" fHeight = "3.0" /> <!-- It's important to reset Graph before cropImage --> <modifyGraph graphId = "modellerGraph128" resetDisplayGraph = "true" resetGraphScale = "true" centerNodePosition = "true" /> <!-- derotate incoming image by facialFeaturePoints --> <performDerotation byFacialFeaturePointsId = "ffpInputImage" inputImageId = "inputImage" outputImageId = "derotatedImage" derotatedFacialFeaturePointsId = "ffpDerotatedImage" backgroundColor = "128" graphId = "modellerGraph128" /> <cropImage inputImageId = "derotatedImage" outputImageId = "workingImage128" roiId = "inputRoi" marginRoiId = "marginRoi" margin = "6750" convertToGray = "true" scaleMode = "area" /> <modifyGraph graphId = "modellerGraph128" marginRoiId = "marginRoi" /> <placeMatchGraph graphId = "modellerGraph128" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" marginRoiId = "marginRoi" imageId = "workingImage128" facialFeaturePointsId = "ffpDerotatedImage" debug = "false" /> <setGraph graphId = "qCheckGraph" byGraphId = "modellerGraph128" graphType = "floatGraph" /> <!-- prepare FaceClassifier Check BEGIN --> <reduceTemplate inputTemplateId = "qCheckGraph" outputTemplateId = "reducedQcheckGraph" nodeIndex = "0,1,2,3,4,5,6,7,8,9,10,11,12,13,16,17,18,26,27,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,65,66,67,68,69,70,73,74,75,76,77,78,81,82,83,84,85,86,87,88,89,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,119,120,121,122,123,124,127,128,129,130,131,132,135,136,137,138,139,140,141,142,143,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162,163,164,166,167,168" /> <convertToMatchGraph graphId = "reducedQcheckGraph" destGraphId = "reducedQcheckMatchGraph" /> <setFacialFeaturePoints facialFeaturePointsId = "ffpWorkingImage" byGraphId = "reducedQcheckMatchGraph" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" nodeIdxMouthCenter = "27" relativeToWorkingImage = "true" /> <setRoi roiId = "illuCorrRoi" byFacialFeaturePointsId = "ffpWorkingImage" fLeft = "0.298872" fTop = "0.558774" fHeight = "1.71607" /> <modifyImage imageId = "workingImage128" function = "illuCorrENT" sigma = "32" mu = "128" faceRoiId = "illuCorrRoi" smoothingRange = "0.7,0.3" /> <backgroundSuppression imageId = "workingImage128" graphId = "reducedQcheckMatchGraph" borderDilate = "1" borderWidth = "5" bgColor = "128" /> <!-- prepare FaceClassifier Check END--> <performTransformation transformId = "qCheckTransform128" imageId = "workingImage128" graphId = "qCheckGraph" /> <reduceTemplate inputTemplateId = "qCheckGraph" outputTemplateId = "reducedQcheckGraph" nodeIndex = "0,1,2,3,4,5,6,7,8,9,10,11,12,13,16,17,18,26,27,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,65,66,67,68,69,70,73,74,75,76,77,78,81,82,83,84,85,86,87,88,89,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,119,120,121,122,123,124,127,128,129,130,131,132,135,136,137,138,139,140,141,142,143,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162,163,164,166,167,168" /> <roiInOriginalImage graphId = "modellerGraph128" outputRoiId = "inputRoi" /> <qCheck qCheckId = "stdFaceRecQcheck" roiId = "inputRoi" throwException = "false" /> <qCheck qCheckId = "stdFaceRecQcheck" checkGraph = "reducedQcheckGraph" residualFloatId = "fcResidual" throwException = "false" logResults = "true" /> <qCheck qCheckId = "stdFaceRecQcheck" checkPoseGraphId = "qCheckGraph" throwException = "false" logResults = "true" /> <!-- Sharpness quality check begin --> <!-- <setRoi roiId = "sharpnessRoi" byLeftEyeCenterOfFacialFeaturePointsId = "ffpInputImage" width = "128" height = "128" /> <cropImage inputImageId = "inputImage" outputImageId = "sharpnessWorkingImageLeft" roiId = "sharpnessRoi" margin = "0" scaleMode = "width" /> <setRoi roiId = "sharpnessRoi" byRightEyeCenterOfFacialFeaturePointsId = "ffpInputImage" width = "128" height = "128" /> <cropImage inputImageId = "inputImage" outputImageId = "sharpnessWorkingImageRight" roiId = "sharpnessRoi" margin = "0" scaleMode = "width" /> <qCheck qCheckId = "stdFaceRecQcheck" checkSharpnessImageId = "sharpnessWorkingImageLeft" maskImageId = "sharpnessWorkingImageRight" throwException = "false" logResults = "true" /> --> <!-- Sharpness quality check end --> <!-- check FMF Quality --> <!-- <qCheck qCheckId = "stdFaceRecQcheck" fmfClassifierImageId = "inputImage" fmfClassifierFfpId = "ffpInputImage" fmfQualityFloatId = "fmfQuality" throwException = "false" logResults = "true" /> --> </qCheckWithGivenEyePositions> <!-- Check if its possible to create a Full Frontal Image from the inputImage input: inputImage ffpInputImage inputRoi derotatedImage ffpDerotatedImage external parameters: init: XML: @STDIMG_maxShadowScore init: XML: @STDIMG_maxBackgroundNoise --> <isPotentialFullFrontalImage> <checkFfnEyeDistance imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" minEyeDistance = "90" debug = "false" /> <setRoi roiId = "faceIlluRoi" byFacialFeaturePointsId = "ffpDerotatedImage" fLeft = "0.2" fTop = "0.4" fHeight = "1.7" /> <checkFnIllumination imageId = "derotatedImage" faceRoiId = "faceIlluRoi" debug = "false" nBitsOfIntensityVariation = "7" /> <!-- facial shadow quality check begin --> <!-- It's important to reset Graph before cropImage --> <modifyGraph graphId = "sharpnessMaskGraph256" resetDisplayGraph = "true" resetGraphScale = "true" centerNodePosition = "true" /> <cropImage inputImageId = "derotatedImage" outputImageId = "workingImage256" roiId = "inputRoi" marginRoiId = "marginRoi" margin = "18000" scaleMode = "area" /> <modifyGraph graphId = "sharpnessMaskGraph256" marginRoiId = "marginRoi" /> <placeMatchGraph graphId = "sharpnessMaskGraph256" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" nodeIdxMouthCenter = "12" marginRoiId = "marginRoi" imageId = "workingImage256" facialFeaturePointsId = "ffpDerotatedImage" debug = "false" /> <modifyImage imageId = "whiteImage256" destImageId = "maskImage256" function = "copy" /> <backgroundSuppression imageId = "maskImage256" graphId = "sharpnessMaskGraph256" borderDilate = "0" borderWidth = "1" bgColor = "0" /> <checkFnCastShadow imageId = "workingImage256" maskImageId = "maskImage256" maxShadowScore = "@STDIMG_maxShadowScore" debug = "false" /> <checkFnBackground imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" xPosFactor = "2.0" yPosFactor = "2.3" xSizeFactor = "1.0" ySizeFactor = "1.0" maxScore = "@STDIMG_maxBackgroundNoise" debug = "false" /> <performIPTKQualityChecks imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" isoImageType = "fullFrontal" fCompressionartifacts = "-1" dResolution = "4.5" dGreyscaledensity = "4.5" dInterlaced = "4.5" dAliasingartifacts = "4.5" dSensornoise = "4.5" pExposure = "4.5" pOutoffocus = "4.5" pUnnaturalcolor = "4.5" pMotionblur = "4.5" sPoseroll = "-1" sPosepitch = "-1" sPoseyaw = "-1" sPoserotation = "-1" sLightinguniform = "4.5" sLightingfacialshadows = "4.5" sLightingshadowseyesockets= "4.5" sLightinghotspots = "4.5" sBackgrounduniformity = "4.5" sBackgroundshadows = "4.5" sEyesopen = "4.5" sGlasses = "4.5" sGlassesnoglare = "4.5" sGlassessunglasses = "4.5" oTexture = "4.5" oFacelikeness = "4.5" /> <!-- facial shadow check end --> </isPotentialFullFrontalImage> <!-- check if the inputImage fullfills requirements of a Full frontal image input: inputImage ffpInputImage inputRoi derotatedImage ffpDerotatedImage external parameters: runtime: API: @isChild runtime: API: @standard init: XML: @FFminVerticalEyePosition init: XML: @FFminVerticalEyePositionChild init: XML: @FFmaxVerticalEyePosition init: XML: @FFmaxRelativeHeadWidth init: XML: @FFmaxRelativeHeadHeight init: XML: @FFminRelativeHeadWidth init: XML: @FFminRelativeHeadHeight init: XML: @STDIMG_maxShadowScore init: XML: @STDIMG_maxBackgroundNoise --> <isFullFrontalImage> <checkFfbpImgWidthToHeightRatio imageId = "inputImage" minWidthToHeightRatio = "74.63%" maxWidthToHeightRatio = "80.00%" debug = "false" /> <checkFfnEyeDistance imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" minEyeDistance = "90" debug = "false" /> <checkFfnCenteredHead imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" tolerance = "5%" isChild = "@isChild" minVerticalEyePosition = "@FFminVerticalEyePosition" minVerticalEyePositionChild = "@FFminVerticalEyePositionChild" maxVerticalEyePosition = "@FFmaxVerticalEyePosition" debug = "false" /> <checkFfnWidthAndLengthOfHead imageId = "inputImage" faceRoiId = "inputRoi" standard = "@standard" maxRelativeHeadWidthIso = "@FFmaxRelativeHeadWidthISO" maxRelativeHeadWidthAnsi = "@FFmaxRelativeHeadWidthANSI" maxRelativeHeadHeight = "@FFmaxRelativeHeadHeight" minRelativeHeadWidth = "@FFminRelativeHeadWidth" minRelativeHeadHeight = "@FFminRelativeHeadHeight" debug = "false" /> <setRoi roiId = "faceIlluRoi" byFacialFeaturePointsId = "ffpDerotatedImage" fLeft = "0.2" fTop = "0.4" fHeight = "1.7" /> <checkFnIllumination imageId = "derotatedImage" faceRoiId = "faceIlluRoi" debug = "false" nBitsOfIntensityVariation = "7" /> <!-- facial shadow quality check begin --> <!-- It's important to reset Graph before cropImage --> <modifyGraph graphId = "sharpnessMaskGraph256" resetDisplayGraph = "true" resetGraphScale = "true" centerNodePosition = "true" /> <cropImage inputImageId = "derotatedImage" outputImageId = "workingImage256" roiId = "inputRoi" marginRoiId = "marginRoi" margin = "18000" scaleMode = "area" /> <modifyGraph graphId = "sharpnessMaskGraph256" marginRoiId = "marginRoi" /> <placeMatchGraph graphId = "sharpnessMaskGraph256" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" nodeIdxMouthCenter = "12" marginRoiId = "marginRoi" imageId = "workingImage256" facialFeaturePointsId = "ffpDerotatedImage" debug = "false" /> <modifyImage imageId = "whiteImage256" destImageId = "maskImage256" function = "copy" /> <backgroundSuppression imageId = "maskImage256" graphId = "sharpnessMaskGraph256" borderDilate = "0" borderWidth = "1" bgColor = "0" /> <checkFnCastShadow imageId = "workingImage256" maskImageId = "maskImage256" maxShadowScore = "@STDIMG_maxShadowScore" debug = "false" /> <checkFnBackground imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" xPosFactor = "2.0" yPosFactor = "2.3" xSizeFactor = "1.0" ySizeFactor = "1.0" maxScore = "@STDIMG_maxBackgroundNoise" debug = "false" /> <!-- facial shadow check end --> </isFullFrontalImage> <!-- Check if its possible to create a token frontal image from the inputImage input: derotatedImage ffpDerotatedImage inputRoi ffpInputImage qCheckGraph faceClass128 external parameters: init: XML: @STDIMG_maxShadowScore init: XML: @STDIMG_maxBackgroundNoise --> <isPotentialTokenImage> <setRoi roiId = "faceIlluRoi" byFacialFeaturePointsId = "ffpDerotatedImage" fLeft = "0.2" fTop = "0.4" fHeight = "1.7" /> <checkFnIllumination imageId = "derotatedImage" faceRoiId = "faceIlluRoi" debug = "false" nBitsOfIntensityVariation = "7" /> <reduceTemplate inputTemplateId = "qCheckGraph" outputTemplateId = "reducedQcheckGraph" nodeIndex = "0,1,2,3,4,5,6,7,8,9,10,11,12,13,16,17,18,26,27,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,65,66,67,68,69,70,73,74,75,76,77,78,81,82,83,84,85,86,87,88,89,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,119,120,121,122,123,124,127,128,129,130,131,132,135,136,137,138,139,140,141,142,143,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162,163,164,166,167,168" /> <checkTnEyePos facialFeaturePointsId = "ffpInputImage" graphId = "reducedQcheckGraph" minEyeDistance = "@tokenImageEyeDistance" maxFaceClassifierResidual = "6.5" bestFaceClassifierResidual = "2.4" faceClassifierId = "faceClass128" debug = "false" /> <!-- facial shadow quality check begin --> <!-- It's important to reset Graph before cropImage --> <modifyGraph graphId = "sharpnessMaskGraph256" resetDisplayGraph = "true" resetGraphScale = "true" centerNodePosition = "true" /> <cropImage inputImageId = "derotatedImage" outputImageId = "workingImage256" roiId = "inputRoi" marginRoiId = "marginRoi" margin = "18000" scaleMode = "area" /> <modifyGraph graphId = "sharpnessMaskGraph256" marginRoiId = "marginRoi" /> <placeMatchGraph graphId = "sharpnessMaskGraph256" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" nodeIdxMouthCenter = "12" marginRoiId = "marginRoi" imageId = "workingImage256" facialFeaturePointsId = "ffpDerotatedImage" debug = "false" /> <modifyImage imageId = "whiteImage256" destImageId = "maskImage256" function = "copy" /> <backgroundSuppression imageId = "maskImage256" graphId = "sharpnessMaskGraph256" borderDilate = "0" borderWidth = "1" bgColor = "0" /> <checkFnCastShadow imageId = "workingImage256" maskImageId = "maskImage256" maxShadowScore = "@STDIMG_maxShadowScore" debug = "false" /> <checkFnBackground imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" xPosFactor = "2.0" yPosFactor = "2.3" xSizeFactor = "1.0" ySizeFactor = "1.0" maxScore = "@STDIMG_maxBackgroundNoise" debug = "false" /> <performIPTKQualityChecks imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" isoImageType = "token" fCompressionartifacts = "-1" dResolution = "4.5" dGreyscaledensity = "4.5" dInterlaced = "4.5" dAliasingartifacts = "4.5" dSensornoise = "4.5" pExposure = "4.5" pOutoffocus = "4.5" pUnnaturalcolor = "4.5" pMotionblur = "4.5" sPoseroll = "-1" sPosepitch = "-1" sPoseyaw = "-1" sPoserotation = "-1" sLightinguniform = "4.5" sLightingfacialshadows = "4.5" sLightingshadowseyesockets= "4.5" sLightinghotspots = "4.5" sBackgrounduniformity = "4.5" sBackgroundshadows = "4.5" sEyesopen = "4.5" sGlasses = "4.5" sGlassesnoglare = "4.5" sGlassessunglasses = "4.5" oTexture = "4.5" oFacelikeness = "4.5" /> <!-- facial shadow check end --> </isPotentialTokenImage> <!-- check if the inputImage fullfills requirements of a Token frontal image input: inputImage output: ffpInputImage inputRoi qCheckGraph external parameters: init: XML: @STDIMG_maxShadowScore init: XML: @STDIMG_maxBackgroundNoise --> <isTokenImage> <!-- geometric format check begin --> <checkTnGeometricFormat imageId = "inputImage" widthToHeightRatio = "75.0%" debug = "false" /> <!-- geometric format check end --> <!-- illumination check begin --> <setFacialFeaturePoints facialFeaturePointsId = "ffpInputImage" byValues = "leftEyeCenter,37.5%,45.0%,rightEyeCenter,62.2%,45.0%" byImageId = "inputImage" /> <!-- illumination check begin --> <setRoi roiId = "inputRoi" byFacialFeaturePointsId = "ffpInputImage" fLeft = "0.7" fTop = "1.4" fHeight = "3.0" /> <setRoi roiId = "faceIlluRoi" byFacialFeaturePointsId = "ffpInputImage" fLeft = "0.2" fTop = "0.4" fHeight = "1.7" /> <checkFnIllumination imageId = "inputImage" faceRoiId = "faceIlluRoi" debug = "false" nBitsOfIntensityVariation = "7" /> <!-- illumination check end --> <!-- face classifier check begin --> <!-- It's important to reset Graph before cropImage --> <modifyGraph graphId = "modellerGraph128" resetDisplayGraph = "true" resetGraphScale = "true" centerNodePosition = "true" /> <cropImage inputImageId = "inputImage" outputImageId = "workingImage128" roiId = "inputRoi" marginRoiId = "marginRoi" margin = "6750" convertToGray = "true" scaleMode = "area" /> <modifyGraph graphId = "modellerGraph128" marginRoiId = "marginRoi" /> <placeMatchGraph graphId = "modellerGraph128" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" marginRoiId = "marginRoi" imageId = "workingImage128" facialFeaturePointsId = "ffpInputImage" debug = "false" /> <setGraph graphId = "qCheckGraph" byGraphId = "modellerGraph128" graphType = "floatGraph" /> <reduceTemplate inputTemplateId = "qCheckGraph" outputTemplateId = "reducedQcheckGraph" nodeIndex = "0,1,2,3,4,5,6,7,8,9,10,11,12,13,16,17,18,26,27,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,65,66,67,68,69,70,73,74,75,76,77,78,81,82,83,84,85,86,87,88,89,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,119,120,121,122,123,124,127,128,129,130,131,132,135,136,137,138,139,140,141,142,143,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162,163,164,166,167,168" /> <convertToMatchGraph graphId = "reducedQcheckGraph" destGraphId = "reducedQcheckMatchGraph" /> <setFacialFeaturePoints facialFeaturePointsId = "ffpWorkingImage" byGraphId = "reducedQcheckMatchGraph" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" nodeIdxMouthCenter = "27" relativeToWorkingImage = "true" /> <setRoi roiId = "illuCorrRoi" byFacialFeaturePointsId = "ffpWorkingImage" fLeft = "0.298872" fTop = "0.558774" fHeight = "1.71607" /> <modifyImage imageId = "workingImage128" function = "illuCorrENT" sigma = "32" mu = "128" faceRoiId = "illuCorrRoi" smoothingRange = "0.7,0.3" /> <backgroundSuppression imageId = "workingImage128" graphId = "reducedQcheckMatchGraph" borderDilate = "1" borderWidth = "5" bgColor = "128" /> <performTransformation transformId = "qCheckTransform128" imageId = "workingImage128" graphId = "qCheckGraph" /> <reduceTemplate inputTemplateId = "qCheckGraph" outputTemplateId = "reducedQcheckGraph" nodeIndex = "0,1,2,3,4,5,6,7,8,9,10,11,12,13,16,17,18,26,27,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,65,66,67,68,69,70,73,74,75,76,77,78,81,82,83,84,85,86,87,88,89,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,119,120,121,122,123,124,127,128,129,130,131,132,135,136,137,138,139,140,141,142,143,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162,163,164,166,167,168" /> <checkTnEyePos facialFeaturePointsId = "ffpInputImage" graphId = "reducedQcheckGraph" minEyeDistance = "@tokenImageEyeDistance" maxFaceClassifierResidual = "6.5" bestFaceClassifierResidual = "2.4" faceClassifierId = "faceClass128" debug = "false" /> <!-- face classifier check end --> <!-- facial shadow check begin --> <!-- It's important to reset Graph before cropImage --> <modifyGraph graphId = "sharpnessMaskGraph256" resetDisplayGraph = "true" resetGraphScale = "true" centerNodePosition = "true" /> <cropImage inputImageId = "inputImage" outputImageId = "workingImage256" roiId = "inputRoi" marginRoiId = "marginRoi" margin = "18000" scaleMode = "area" /> <modifyGraph graphId = "sharpnessMaskGraph256" marginRoiId = "marginRoi" /> <placeMatchGraph graphId = "sharpnessMaskGraph256" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" marginRoiId = "marginRoi" imageId = "workingImage256" facialFeaturePointsId = "ffpInputImage" debug = "false" /> <modifyImage imageId = "whiteImage256" destImageId = "maskImage256" function = "copy" /> <backgroundSuppression imageId = "maskImage256" graphId = "sharpnessMaskGraph256" borderDilate = "0" borderWidth = "1" bgColor = "0" /> <checkFnCastShadow imageId = "workingImage256" maskImageId = "maskImage256" maxShadowScore = "@STDIMG_maxShadowScore" debug = "false" /> <checkFnBackground imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" xPosFactor = "2.0" yPosFactor = "2.3" xSizeFactor = "1.0" ySizeFactor = "1.0" maxScore = "@STDIMG_maxBackgroundNoise" debug = "false" /> <!-- facial shadow check end --> </isTokenImage> <!-- create an iso token image input: inputImage ffpInputImage output: outputImage ffpOutputImage --> <generateTokenImage> <createTokenImage srcImageId = "inputImage" destImageId = "outputImage" srcFacialFeaturePointsId = "ffpInputImage" destFacialFeaturePointsId = "ffpOutputImage" targetWidth = "@tokenImageWidthId" logScaling = "true" logPadding = "true" /> </generateTokenImage> <!-- calculate token frontal crop roi input: inputImage ffpInputImage output: cropRoi ffpOutputImage --> <calculateTokenFrontalCropRoi> <createTokenImage srcImageId = "inputImage" destImageId = "" srcFacialFeaturePointsId = "ffpInputImage" destFacialFeaturePointsId = "ffpOutputImage" destCropRoiId = "cropRoi" targetWidth = "@tokenImageWidthId" logScaling = "true" logPadding = "true" /> </calculateTokenFrontalCropRoi> <!-- create an iso full frontal image input: inputImage ffpInputImage output: outputImage ffpOutputImage external paramters: init: XML: @FullFrontalImageCreationMode init: XML: @FFminVerticalEyePosition init: XML: @FFminVerticalEyePositionChild init: XML: @FFmaxVerticalEyePosition init: XML: @FFmaxRelativeHeadWidthISO init: XML: @FFmaxRelativeHeadWidthANSI init: XML: @FFmaxRelativeHeadHeight runtime: API: @isChild runtime: API: @standard runtime: API: @fullFrontalTargetWidth runtime: API: @fullFrontalAspectratio runtime: API: @fullFrontalMaxDestWidthToEyeDistRatio --> <generateFullFrontalImage> <createFullFrontalImage srcImageId = "inputImage" destImageId = "outputImage" srcFacialFeaturePointsId = "ffpInputImage" destFacialFeaturePointsId = "ffpOutputImage" enableRotation = "false" isChild = "@isChild" standard = "@standard" logCropping = "true" logPadding = "true" logScaling = "true" targetWidth = "@fullFrontalTargetWidth" creationMode = "@FullFrontalImageCreationMode" destWidthToHeightRatio = "@fullFrontalAspectratio" maxDestWidthToEyeDistRatio = "@fullFrontalMaxDestWidthToEyeDistRatio" minVerticalEyePosition = "@FFminVerticalEyePosition" minVerticalEyePositionChild = "@FFminVerticalEyePositionChild" maxVerticalEyePosition = "@FFmaxVerticalEyePosition" maxRelativeHeadWidthIso = "@FFmaxRelativeHeadWidthISO" maxRelativeHeadWidthAnsi = "@FFmaxRelativeHeadWidthANSI" maxRelativeHeadHeight = "@FFmaxRelativeHeadHeight" /> </generateFullFrontalImage> <!-- calculate full frontal crop roi input: inputImage ffpInputImage output: cropRoi ffpOutputImage external paramters: init: XML: @FullFrontalImageCreationMode init: XML: @FFminVerticalEyePosition init: XML: @FFminVerticalEyePositionChild init: XML: @FFmaxVerticalEyePosition init: XML: @FFmaxRelativeHeadWidthISO init: XML: @FFmaxRelativeHeadWidthANSI init: XML: @FFmaxRelativeHeadHeight runtime: API: @isChild runtime: API: @standard runtime: API: @fullFrontalTargetWidth runtime: API: @fullFrontalAspectratio runtime: API: @fullFrontalMaxDestWidthToEyeDistRatio --> <calculateFullFrontalCropRoi> <createFullFrontalImage srcImageId = "inputImage" destImageId = "" srcFacialFeaturePointsId = "ffpInputImage" destFacialFeaturePointsId = "ffpOutputImage" destCropRoiId = "cropRoi" enableRotation = "false" isChild = "@isChild" standard = "@standard" logCropping = "true" logPadding = "true" logScaling = "true" targetWidth = "@fullFrontalTargetWidth" creationMode = "@FullFrontalImageCreationMode" destWidthToHeightRatio = "@fullFrontalAspectratio" maxDestWidthToEyeDistRatio = "@fullFrontalMaxDestWidthToEyeDistRatio" minVerticalEyePosition = "@FFminVerticalEyePosition" minVerticalEyePositionChild = "@FFminVerticalEyePositionChild" maxVerticalEyePosition = "@FFmaxVerticalEyePosition" maxRelativeHeadWidthIso = "@FFmaxRelativeHeadWidthISO" maxRelativeHeadWidthAnsi = "@FFmaxRelativeHeadWidthANSI" maxRelativeHeadHeight = "@FFmaxRelativeHeadHeight" /> </calculateFullFrontalCropRoi> <!-- check if the inputImage fullfills geometric requirements of a Token frontal image input: inputImage ffpInputImage --> <tokenGeometryChecks> <!-- geometric format check begin --> <checkTnGeometricFormat imageId = "inputImage" widthToHeightRatio = "75.0%" debug = "false" /> <!-- geometric format check end --> <!-- illumination check begin --> <setRoi roiId = "inputRoi" byFacialFeaturePointsId = "ffpInputImage" fLeft = "0.7" fTop = "1.4" fHeight = "3.0" /> <setRoi roiId = "faceIlluRoi" byFacialFeaturePointsId = "ffpInputImage" fLeft = "0.2" fTop = "0.4" fHeight = "1.7" /> <checkFnIllumination imageId = "inputImage" faceRoiId = "faceIlluRoi" debug = "false" nBitsOfIntensityVariation = "7" /> <!-- illumination check end --> <!-- face classifier check begin --> <setFacialFeaturePoints facialFeaturePointsId = "ffpTokenImage" byValues = "leftEyeCenter,37.5%,45.0%,rightEyeCenter,62.2%,45.0%" byImageId = "inputImage" /> <setRoi roiId = "tokenRoi" byFacialFeaturePointsId = "ffpTokenImage" fLeft = "0.7" fTop = "1.4" fHeight = "3.0" /> <!-- It's important to reset Graph before cropImage --> <modifyGraph graphId = "modellerGraph128" resetDisplayGraph = "true" resetGraphScale = "true" centerNodePosition = "true" /> <cropImage inputImageId = "inputImage" outputImageId = "workingImage128" roiId = "tokenRoi" marginRoiId = "marginRoi" margin = "6750" convertToGray = "true" scaleMode = "area" /> <modifyGraph graphId = "modellerGraph128" marginRoiId = "marginRoi" /> <placeMatchGraph graphId = "modellerGraph128" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" marginRoiId = "marginRoi" imageId = "workingImage128" facialFeaturePointsId = "ffpTokenImage" debug = "false" /> <setGraph graphId = "qCheckGraph" byGraphId = "modellerGraph128" graphType = "floatGraph" /> <reduceTemplate inputTemplateId = "qCheckGraph" outputTemplateId = "reducedQcheckGraph" nodeIndex = "0,1,2,3,4,5,6,7,8,9,10,11,12,13,16,17,18,26,27,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,65,66,67,68,69,70,73,74,75,76,77,78,81,82,83,84,85,86,87,88,89,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,119,120,121,122,123,124,127,128,129,130,131,132,135,136,137,138,139,140,141,142,143,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162,163,164,166,167,168" /> <convertToMatchGraph graphId = "reducedQcheckGraph" destGraphId = "reducedQcheckMatchGraph" /> <setFacialFeaturePoints facialFeaturePointsId = "ffpWorkingImage" byGraphId = "reducedQcheckMatchGraph" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" nodeIdxMouthCenter = "27" relativeToWorkingImage = "true" /> <setRoi roiId = "illuCorrRoi" byFacialFeaturePointsId = "ffpWorkingImage" fLeft = "0.298872" fTop = "0.558774" fHeight = "1.71607" /> <modifyImage imageId = "workingImage128" function = "illuCorrENT" sigma = "32" mu = "128" faceRoiId = "illuCorrRoi" smoothingRange = "0.7,0.3" /> <backgroundSuppression imageId = "workingImage128" graphId = "reducedQcheckMatchGraph" borderDilate = "1" borderWidth = "5" bgColor = "128" /> <performTransformation transformId = "qCheckTransform128" imageId = "workingImage128" graphId = "reducedQcheckGraph" /> <checkTnEyePos facialFeaturePointsId = "ffpInputImage" graphId = "reducedQcheckGraph" minEyeDistance = "@tokenImageEyeDistance" maxFaceClassifierResidual = "6.5" bestFaceClassifierResidual = "2.4" faceClassifierId = "faceClass128" debug = "false" /> <!-- face classifier check end --> </tokenGeometryChecks> <!-- check if the inputImage fullfills geometric requirements of a Full frontal image input: inputImage ffpInputImage external parameters: runtime: API: @isChild runtime: API: @standard init: XML: @FFminVerticalEyePosition init: XML: @FFminVerticalEyePositionChild init: XML: @FFmaxVerticalEyePosition init: XML: @FFmaxRelativeHeadWidth init: XML: @FFmaxRelativeHeadHeight init: XML: @FFminRelativeHeadWidth init: XML: @FFminRelativeHeadHeight init: XML: @STDIMG_maxShadowScore init: XML: @STDIMG_maxBackgroundNoise --> <fullFrontalGeometryChecks> <setRoi roiId = "inputRoi" byFacialFeaturePointsId = "ffpInputImage" fLeft = "0.7" fTop = "1.4" fHeight = "3.0" /> <checkFfbpImgWidthToHeightRatio imageId = "inputImage" minWidthToHeightRatio = "74.63%" maxWidthToHeightRatio = "80.00%" debug = "false" /> <checkFfnEyeDistance imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" minEyeDistance = "90" debug = "false" /> <checkFfnCenteredHead imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" tolerance = "5%" isChild = "@isChild" minVerticalEyePosition = "@FFminVerticalEyePosition" minVerticalEyePositionChild = "@FFminVerticalEyePositionChild" maxVerticalEyePosition = "@FFmaxVerticalEyePosition" debug = "false" /> <checkFfnWidthAndLengthOfHead imageId = "inputImage" faceRoiId = "inputRoi" standard = "@standard" maxRelativeHeadWidthIso = "@FFmaxRelativeHeadWidthISO" maxRelativeHeadWidthAnsi = "@FFmaxRelativeHeadWidthANSI" maxRelativeHeadHeight = "@FFmaxRelativeHeadHeight" minRelativeHeadWidth = "@FFminRelativeHeadWidth" minRelativeHeadHeight = "@FFminRelativeHeadHeight" debug = "false" /> <setRoi roiId = "faceIlluRoi" byFacialFeaturePointsId = "ffpInputImage" fLeft = "0.2" fTop = "0.4" fHeight = "1.7" /> <checkFnIllumination imageId = "inputImage" faceRoiId = "faceIlluRoi" debug = "false" nBitsOfIntensityVariation = "7" /> </fullFrontalGeometryChecks> <tokenCandidateBasicChecks> <setRoi roiId = "faceIlluRoi" byFacialFeaturePointsId = "ffpInputImage" fLeft = "0.2" fTop = "0.4" fHeight = "1.7" /> <checkFnIllumination imageId = "inputImage" faceRoiId = "faceIlluRoi" debug = "false" nBitsOfIntensityVariation = "7" /> <!-- face classifier check begin --> <setRoi roiId = "tokenRoi" byFacialFeaturePointsId = "ffpInputImage" fLeft = "0.7" fTop = "1.4" fHeight = "3.0" /> <!-- It's important to reset Graph before cropImage --> <modifyGraph graphId = "modellerGraph128" resetDisplayGraph = "true" resetGraphScale = "true" centerNodePosition = "true" /> <cropImage inputImageId = "inputImage" outputImageId = "workingImage128" roiId = "tokenRoi" marginRoiId = "marginRoi" margin = "6750" convertToGray = "true" scaleMode = "area" /> <modifyGraph graphId = "modellerGraph128" marginRoiId = "marginRoi" /> <placeMatchGraph graphId = "modellerGraph128" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" marginRoiId = "marginRoi" imageId = "workingImage128" facialFeaturePointsId = "ffpInputImage" debug = "false" /> <setGraph graphId = "qCheckGraph" byGraphId = "modellerGraph128" graphType = "floatGraph" /> <reduceTemplate inputTemplateId = "qCheckGraph" outputTemplateId = "reducedQcheckGraph" nodeIndex = "0,1,2,3,4,5,6,7,8,9,10,11,12,13,16,17,18,26,27,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,65,66,67,68,69,70,73,74,75,76,77,78,81,82,83,84,85,86,87,88,89,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,119,120,121,122,123,124,127,128,129,130,131,132,135,136,137,138,139,140,141,142,143,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162,163,164,166,167,168" /> <convertToMatchGraph graphId = "reducedQcheckGraph" destGraphId = "reducedQcheckMatchGraph" /> <setFacialFeaturePoints facialFeaturePointsId = "ffpWorkingImage" byGraphId = "reducedQcheckMatchGraph" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" nodeIdxMouthCenter = "27" relativeToWorkingImage = "true" /> <setRoi roiId = "illuCorrRoi" byFacialFeaturePointsId = "ffpWorkingImage" fLeft = "0.298872" fTop = "0.558774" fHeight = "1.71607" /> <modifyImage imageId = "workingImage128" function = "illuCorrENT" sigma = "32" mu = "128" faceRoiId = "illuCorrRoi" smoothingRange = "0.7,0.3" /> <backgroundSuppression imageId = "workingImage128" graphId = "reducedQcheckMatchGraph" borderDilate = "1" borderWidth = "5" bgColor = "128" /> <performTransformation transformId = "qCheckTransform128" imageId = "workingImage128" graphId = "reducedQcheckGraph" /> <checkTnEyePos facialFeaturePointsId = "ffpInputImage" graphId = "reducedQcheckGraph" minEyeDistance = "@tokenImageEyeDistance" maxFaceClassifierResidual = "6.5" bestFaceClassifierResidual = "2.4" faceClassifierId = "faceClass128" debug = "false" /> <performIPTKQualityChecks imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" isoImageType = "token" fCompressionartifacts = "-1" dResolution = "4.5" dGreyscaledensity = "-1" dInterlaced = "-1" dAliasingartifacts = "-1" dSensornoise = "-1" pExposure = "-1" pOutoffocus = "-1" pUnnaturalcolor = "-1" pMotionblur = "-1" sPoseroll = "-1" sPosepitch = "-1" sPoseyaw = "-1" sPoserotation = "-1" sLightinguniform = "-1" sLightingfacialshadows = "-1" sLightingshadowseyesockets= "-1" sLightinghotspots = "-1" sBackgrounduniformity = "-1" sBackgroundshadows = "-1" sEyesopen = "-1" sGlasses = "-1" sGlassesnoglare = "-1" sGlassessunglasses = "-1" oTexture = "-1" oFacelikeness = "-1" /> </tokenCandidateBasicChecks> <fullFrontalCandidateBasicChecks> <checkFfnEyeDistance imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" minEyeDistance = "90" debug = "false" /> <setRoi roiId = "faceIlluRoi" byFacialFeaturePointsId = "ffpInputImage" fLeft = "0.2" fTop = "0.4" fHeight = "1.7" /> <checkFnIllumination imageId = "inputImage" faceRoiId = "faceIlluRoi" debug = "false" nBitsOfIntensityVariation = "7" /> <performIPTKQualityChecks imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" isoImageType = "fullFrontal" fCompressionartifacts = "-1" dResolution = "4.5" dGreyscaledensity = "-1" dInterlaced = "-1" dAliasingartifacts = "-1" dSensornoise = "-1" pExposure = "-1" pOutoffocus = "-1" pUnnaturalcolor = "-1" pMotionblur = "-1" sPoseroll = "-1" sPosepitch = "-1" sPoseyaw = "-1" sPoserotation = "-1" sLightinguniform = "-1" sLightingfacialshadows = "-1" sLightingshadowseyesockets= "-1" sLightinghotspots = "-1" sBackgrounduniformity = "-1" sBackgroundshadows = "-1" sEyesopen = "-1" sGlasses = "-1" sGlassesnoglare = "-1" sGlassessunglasses = "-1" oTexture = "-1" oFacelikeness = "4.5" /> <!-- facial shadow check end --> </fullFrontalCandidateBasicChecks> <!-- check if the inputImage fullfills requirements of a Full frontal image input: inputImage ffpInputImage external parameters: runtime: API: @isChild runtime: API: @standard init: XML: @FFminVerticalEyePosition init: XML: @FFminVerticalEyePositionChild init: XML: @FFmaxVerticalEyePosition init: XML: @FFmaxRelativeHeadWidth init: XML: @FFmaxRelativeHeadHeight init: XML: @FFminRelativeHeadWidth init: XML: @FFminRelativeHeadHeight init: XML: @STDIMG_maxShadowScore init: XML: @STDIMG_maxBackgroundNoise --> <fullFrontalDmrcA> <qCheck qCheckId = "stdFaceRecQcheck" imageId = "inputImage" throwException = "false" /> <setRoi roiId = "inputRoi" byFacialFeaturePointsId = "ffpInputImage" fLeft = "0.7" fTop = "1.4" fHeight = "3.0" /> <!-- It's important to reset Graph before cropImage --> <modifyGraph graphId = "modellerGraph128" resetDisplayGraph = "true" resetGraphScale = "true" centerNodePosition = "true" /> <!-- derotate incoming image by facialFeaturePoints --> <performDerotation byFacialFeaturePointsId = "ffpInputImage" inputImageId = "inputImage" outputImageId = "derotatedImage" derotatedFacialFeaturePointsId = "ffpDerotatedImage" backgroundColor = "128" graphId = "modellerGraph128" /> <cropImage inputImageId = "derotatedImage" outputImageId = "workingImage128" roiId = "inputRoi" marginRoiId = "marginRoi" margin = "6750" convertToGray = "true" scaleMode = "area" /> <modifyGraph graphId = "modellerGraph128" marginRoiId = "marginRoi" /> <placeMatchGraph graphId = "modellerGraph128" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" marginRoiId = "marginRoi" imageId = "workingImage128" facialFeaturePointsId = "ffpDerotatedImage" debug = "false" /> <setGraph graphId = "qCheckGraph" byGraphId = "modellerGraph128" graphType = "floatGraph" /> <!-- prepare FaceClassifier Check BEGIN --> <reduceTemplate inputTemplateId = "qCheckGraph" outputTemplateId = "reducedQcheckGraph" nodeIndex = "0,1,2,3,4,5,6,7,8,9,10,11,12,13,16,17,18,26,27,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,65,66,67,68,69,70,73,74,75,76,77,78,81,82,83,84,85,86,87,88,89,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,119,120,121,122,123,124,127,128,129,130,131,132,135,136,137,138,139,140,141,142,143,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162,163,164,166,167,168" /> <convertToMatchGraph graphId = "reducedQcheckGraph" destGraphId = "reducedQcheckMatchGraph" /> <setFacialFeaturePoints facialFeaturePointsId = "ffpWorkingImage" byGraphId = "reducedQcheckMatchGraph" nodeIdxLeftEyeCenter = "0" nodeIdxRightEyeCenter = "1" nodeIdxMouthCenter = "27" relativeToWorkingImage = "true" /> <setRoi roiId = "illuCorrRoi" byFacialFeaturePointsId = "ffpWorkingImage" fLeft = "0.298872" fTop = "0.558774" fHeight = "1.71607" /> <modifyImage imageId = "workingImage128" function = "illuCorrENT" sigma = "32" mu = "128" faceRoiId = "illuCorrRoi" smoothingRange = "0.7,0.3" /> <backgroundSuppression imageId = "workingImage128" graphId = "reducedQcheckMatchGraph" borderDilate = "1" borderWidth = "5" bgColor = "128" /> <!-- prepare FaceClassifier Check END--> <performTransformation transformId = "qCheckTransform128" imageId = "workingImage128" graphId = "qCheckGraph" /> <reduceTemplate inputTemplateId = "qCheckGraph" outputTemplateId = "reducedQcheckGraph" nodeIndex = "0,1,2,3,4,5,6,7,8,9,10,11,12,13,16,17,18,26,27,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,65,66,67,68,69,70,73,74,75,76,77,78,81,82,83,84,85,86,87,88,89,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,119,120,121,122,123,124,127,128,129,130,131,132,135,136,137,138,139,140,141,142,143,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162,163,164,166,167,168" /> <roiInOriginalImage graphId = "modellerGraph128" outputRoiId = "inputRoi" /> <qCheck qCheckId = "stdFaceRecQcheck" roiId = "inputRoi" throwException = "false" /> <qCheck qCheckId = "stdFaceRecQcheck" checkGraph = "reducedQcheckGraph" residualFloatId = "fcResidual" throwException = "false" logResults = "true" /> <qCheck qCheckId = "stdFaceRecQcheck" checkPoseGraphId = "qCheckGraph" throwException = "false" logResults = "true" /> <!-- Sharpness quality check begin --> <setRoi roiId = "sharpnessRoi" byLeftEyeCenterOfFacialFeaturePointsId = "ffpInputImage" width = "128" height = "128" /> <cropImage inputImageId = "inputImage" outputImageId = "sharpnessWorkingImageLeft" roiId = "sharpnessRoi" margin = "0" scaleMode = "width" /> <setRoi roiId = "sharpnessRoi" byRightEyeCenterOfFacialFeaturePointsId = "ffpInputImage" width = "128" height = "128" /> <cropImage inputImageId = "inputImage" outputImageId = "sharpnessWorkingImageRight" roiId = "sharpnessRoi" margin = "0" scaleMode = "width" /> <qCheck qCheckId = "stdFaceRecQcheck" checkSharpnessImageId = "sharpnessWorkingImageLeft" maskImageId = "sharpnessWorkingImageRight" throwException = "false" logResults = "true" /> <!-- Sharpness quality check end --> <performIPTKQualityChecks imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" isoImageType = "fullFrontal" fCompressionartifacts = "-1" dResolution = "-1" dGreyscaledensity = "-1" dInterlaced = "-1" dAliasingartifacts = "-1" dSensornoise = "-1" pExposure = "4.5" pOutoffocus = "-1" pUnnaturalcolor = "4.5" pMotionblur = "-1" sPoseroll = "-1" sPosepitch = "-1" sPoseyaw = "-1" sPoserotation = "-1" sLightinguniform = "4.5" sLightingfacialshadows = "4.5" sLightingshadowseyesockets = "4.5" sLightinghotspots = "4.5" sBackgrounduniformity = "-1" sBackgroundshadows = "-1" sEyesopen = "4.5" sGlasses = "-1" sGlassesnoglare = "-1" sGlassessunglasses = "-1" oTexture = "-1" oFacelikeness = "-1" /> <checkFfbpImgWidthToHeightRatio imageId = "inputImage" minWidthToHeightRatio = "74.63%" maxWidthToHeightRatio = "80.00%" debug = "false" /> <checkFfnEyeDistance imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" minEyeDistance = "90" debug = "false" /> <checkFfnCenteredHead imageId = "inputImage" facialFeaturePointsId = "ffpInputImage" tolerance = "5%" isChild = "@isChild" minVerticalEyePosition = "@FFminVerticalEyePosition" minVerticalEyePositionChild = "@FFminVerticalEyePositionChild" maxVerticalEyePosition = "@FFmaxVerticalEyePosition" debug = "false" /> <checkFfnWidthAndLengthOfHead imageId = "inputImage" faceRoiId = "inputRoi" standard = "@standard" maxRelativeHeadWidthIso = "@FFmaxRelativeHeadWidthISO" maxRelativeHeadWidthAnsi = "@FFmaxRelativeHeadWidthANSI" maxRelativeHeadHeight = "@FFmaxRelativeHeadHeight" minRelativeHeadWidth = "@FFminRelativeHeadWidth" minRelativeHeadHeight = "@FFminRelativeHeadHeight" debug = "false" /> </fullFrontalDmrcA> <shutdownEngine> </shutdownEngine> </perform>
Copyright ©2021 || Defacer Indonesia