2015-06-30 16:20:42 -0600 | asked a question | faceRecognizer; cannot ->set() threshold after constructed I am trying to create a LBPH face detector and after it's created, adjust the threshold as a form of back-propagation. My problem is there does not seem to be a method in order to set the threshold after it is created. My code, as follows Eclipse reports the error as http://docs.opencv.org/modules/contri... Indicates that ->set is indeed a valid call for the object 'model'. I also tested out trying a It too fails to be recognized as a call to model. I've also tried model.set("threshold", lbphThreshold) which also does not work. However, the model->predict(image) does highlight as good code and no errors happen here. I am using Eclipse in Linux, which I believe is set up correctly (can use other FaceRecognizer functions as normal). Using self-compiled OpenCV 3.0.0 with current Contrib. Any ideas what's going on? |
2015-03-03 06:58:35 -0600 | asked a question | Generate face data from XML data of LBPHFaceRecognizer I'm currently doing a project that finds and classifies peoples' faces. Ideally, we're doing this for a hacker convention MakeVention. We're needing a way to count how many unique people show up. My code is here. I don't save any face images, other than the seed data for the classifier. The seed data is a bunch of pics of me. The question here is, given the XML save:
Can I take this data and generate grayscale images from this data that accurately reproduce this face? Or, is this data a one-way hash? |
2015-03-03 06:51:08 -0600 | commented answer | Maximum distance a face can be detected (from camera)? That is true. However the LBP does tend to give false positives. Since it does, you can run the faces directly through the Haar cascade that detects eyes. That is really quick. And then, if you don't detect eyes for a given face, you can throw the face out. My way was a compromise of getting the speed of the face LBP, and the accuracy of the face Haar cascade. It's a bit more complicated, but does work. |
2015-02-27 09:55:11 -0600 | commented answer | Maximum distance a face can be detected (from camera)? I converted my response to you to an answer. The gist: pay more CPU time to reduce false positives, by using an eye detection routine on 'possible' faces. This would allow smaller images to pass through and successfully be detected. |
2015-02-27 09:50:51 -0600 | commented answer | Maximum distance a face can be detected (from camera)? It's what I'm currently doing with a project now. Your goal is to find the smallest size of an image that a face can be detected from. You've trained an LBP to detect faces, but are receiving false positives. You can constrain the positives by using another cascade to detect for eyes. For example, you find 5 faces in an image 1024x768. 4 are real people, while one is the cascade giving a false positive (on a wall or something). By using the eye-detection cascade, you can feed the detected faces into the eye detector. Do this with the image(cv::Rect eyes), where image is where the webcam image is stored. If then, you watch for the size of the vector<cv::rect> where the eyes are stored, you can tell if it's successful or not. If it's a null vector, it's probably ... (more) |
2015-02-27 06:33:33 -0600 | answered a question | Maximum distance a face can be detected (from camera)? If you think the face classifier is giving false positives, you can always load up the eye detection cascade and give the ROI of the face to the eye cascade. A null output means to ignore the face. |
2013-10-25 04:42:58 -0600 | received badge | ● Nice Answer (source) |
2013-10-24 04:09:33 -0600 | received badge | ● Teacher (source) |
2013-10-23 22:17:57 -0600 | answered a question | license plate recognition ObjectiveC OpenCV and Tesseract I'm still very new to programming in OpenCV, so take this with a grain (kilogram) of salt. The dimensions, according to a non-authoratative source, is 12 in X 6 in. This is the real size, but it gives us an accurate model in which to work with. Now, our camera (in your case, an iPhone) is simply a directional point camera with a rectangular cone field of view. From an arbitrary point, the 12x6 rectangle will look like a parallelogram. So what we ideally want is to make a matching parallelogram over the boundary of the license plate, and then map the parallelogram to the appropriate rectangle. Then we can OCR this intermediary image and output the appropriate letters and numbers.
|