Smoothing

To reduce the effect of pixel noise, we will use a bilateral filter on the face, as a bilateral filter is very good at smoothing most of an image while keeping edges sharp. Histogram equalization can significantly increase the pixel noise, so we will make the filter strength 20.0 to cover heavy pixel noise, and use a neighborhood of just two pixels as we want to heavily smooth the tiny pixel noise, but not the large image regions, as follows:

    Mat filtered = Mat(warped.size(), CV_8U); 
bilateralFilter(warped, filtered, 0, 20.0, 2.0);