Not a direct answer to your question, but it can help reduce false detection.
You can get a less false detection by changing the MinNeibhbours, CV_HAAR_FIND_BIGGEST_OBJECT and size values.
int MinNeighbors = 7;
face_cascade.detectMultiScale (frame_gray, faces, 1.1, MinNeighbors, CV_HAAR_FIND_BIGGEST_OBJECT, size (60, 60));
source share