The issue is that frontal_face_detector returns negative coordinates for the faces it detects.
Reproduction code:
import dlib
import numpy as np
from PIL import Image
im = Image.open('<image_path>')
face_detector = dlib.get_frontal_face_detector() # Face detector
faces = face_detector(np.array(im.convert('RGB')), 1) # Image is RGBA, so convert to RGB
face = faces[0]
print face
And the image used is the one attached below (taken from Google).
This outputs for me [(-37, 23) (260, 290)].
Maybe I'm missing something, but it seems strange to me that it returns negative coordinates.
Thanks!

Yes, you can get negative coordinates because faces can be only party in an image, as your is.
Most helpful comment
Yes, you can get negative coordinates because faces can be only party in an image, as your is.