Add method for generating bounding box perturbations
Add method for generating bounding box perturbations

This method abstracts out the concept of generating bounding boxes
from a set of images. There are now a few different cases:

 - You can pass a bounding box glob. This glob is used to find
   all bounding boxes that may have been provided. Useful if
   you have a number of possible detections from a detector say.
   Works really well with menpodetect returned detections.
 - If you pass no glob, then perturbations are generated using
   the ground truth bounding box.
 - If you pass a glob, perturbations are generated from EACH
   bounding box. This is assumed because you may have some logic
   you wish to apply and it may be repeated per box. Also, each
   provided box is included (so you get n_perturbations +
   n_provided_boxes)
 - Now, the bounding box perturbation function should expect
   the ground truth shape and a bounding box. This should be
   flexible enough to allow any complex logic about shifting the
   box according to the ground truth. The default methods just
   take the bounding box of the ground truth and noisy align it.

yuxiang-zhou/menpofit,grigorisg9gr/menpofit,yuxiang-zhou/menpofit,grigorisg9gr/menpofit