Apparently, deepcopy is not working on KeyPoint. As the features f1 is just a list of KeyPoint, you can copy manually the list of keypoints:
def features_deepcopy (f):
return [cv2.KeyPoint(x = k.pt[0], y = k.pt[1],
_size = k.size, _angle = k.angle,
_response = k.response, _octave = k.octave,
_class_id = k.class_id) for k in f]
f2 = features_deepcopy(f1)
I hope this will help ;-)
Christophe