private IEnumerable <MModRect> RawFaceLocations(Image faceImage, int numberOfTimesToUpsample = 1, Model model = Model.Hog)
        {
            switch (model)
            {
            case Model.Cnn:
                return(CnnFaceDetectionModelV1.Detect(this._CnnFaceDetector, faceImage, numberOfTimesToUpsample));

            default:
                var locations = SimpleObjectDetector.RunDetectorWithUpscale2(this._FaceDetector, faceImage, (uint)numberOfTimesToUpsample);
                return(locations.Select(rectangle => new MModRect {
                    Rect = rectangle
                }));
            }
        }
 private IEnumerable <IEnumerable <MModRect> > RawFaceLocationsBatched(IEnumerable <Image> faceImages, int numberOfTimesToUpsample = 1, int batchSize = 128)
 {
     return(CnnFaceDetectionModelV1.DetectMulti(this._CnnFaceDetector, faceImages, numberOfTimesToUpsample, batchSize));
 }