Object head and tail recognition

I am trying to work out the steps needed to create a system to sort objects using a robot arm. I would like to be able to recognize the head and tail and the center pick up point. So I can pick them up and rotate them to face the same direction. I was hopping this was something that has been done often before, but cannot find any specific information. I have been through part 1 and most of part 2 but there is only some mentions now and then of image object recognition but did not hear anything about recognizing parts of a object. So maybe this something that cannot be done that easily?

If I have a image like the one below with multiple objects, would I have to run an algorithm trained to Identify each object, and then crop each image around the identified object and run a second algorithm that is trained to identify the heads and tails and center pick up location? or would it be something you train in one shot?

I know this is not directly related to Part 1 but I cannot see a category that makes sense to ask. I feel like I am probably using the wrong search terms, both on this forum and on google as it must be the sort of thing people want to do all the time. Yet I am finding it really hard to get any information.

I really appreciate any pointers one how to work on this!