Torso-autocrop
I added a method of estimating where the torso of the subject may be based on the location of the face in the image.
It just finds the direction of the face relative to the center, then assumes the torso will be in the opposite direction. This works very well in most cases. An edge case would be if the person is at the edge of a very wide image and they are standing straight up.
torso_centroid = None
if len(face_points) > 0 and settings.torso_points_weight > 0:
torso_centroid = centroid(face_points)
torso_centroid.weight = settings.torso_points_weight / weight_pref_total
face_x_distance = torso_centroid.x - im.width / 2
face_y_distance = torso_centroid.y - im.height / 2
face_direction = atan2(face_y_distance, face_x_distance)
torso_centroid.x -= (settings.crop_width / 2) * cos(face_direction)
torso_centroid.y -= (settings.crop_height / 2) * sin(face_direction)
pois.append(torso_centroid)
I have tested this on: -windows 10 OS -chrome browser -NVIDA RTX A6000 48GB
Old:
New: Removed the redundant "Focal point" before each variable.
Examples:

What about sideways tilted heads?
What about sideways tilted heads?
The orientation of the head does not matter for this. The only thing taken into account is the position of the face and the image dimensions. As long as the face is successfully detected it should work great on sideways tilted heads. Since it is only an estimate, it's best to use it just to nudge the crop towards the torso so that the faces are not all at the center of the images.
Here are some more examples:

Plans for future is to let extensions add new types preprocessing for that tab, and when that happens I would prefer this would be an extension, but until then I don't want to add more of cropping to the main repo.