Example #1
0
 //ez internal, mert csak a Benchmark keszithet uj Resultokat
 internal Result(string signer, double frr, double far, double aer, ISignerModel model)
 {
     Signer = signer;
     Frr    = frr;
     Far    = far;
     Aer    = aer;
     Model  = model;
 }
Example #2
0
        /// <inheritdoc/>
        public double Test(ISignerModel signerModel, Signature signature)
        {
            // We are not doing real classification here, just reusing the previously calculated results
            var model    = (OptimalDtwSignerModel)signerModel;
            var distance = model.SignatureDistanceFromTraining[signature.ID];

            if (distance <= model.Threshold)
            {
                return(1);
            }
            else
            {
                return(0);
            }
        }
Example #3
0
        /// <inheridoc/>
        public double Test(ISignerModel model, Signature signature)
        {
            var dtwModel      = (DtwSignerModel)model;
            var testSignature = signature.GetAggregateFeature(Features).ToArray();
            var distances     = new double[dtwModel.GenuineSignatures.Count];

            for (int i = 0; i < dtwModel.GenuineSignatures.Count; i++)
            {
                distances[i] = DtwPy.Dtw(dtwModel.GenuineSignatures[i].Value, testSignature, DistanceFunction);
                dtwModel.DistanceMatrix[signature.ID, dtwModel.GenuineSignatures[i].Key] = distances[i];
            }

            // returns value between 0 and 1, how confident is the decision about genuineness
            // 1 -> conident genuine, 0 -> not confident genuine = confident forged
            return(Math.Max(1 - (distances.Average() / dtwModel.Threshold) / 2, 0));
        }