Tag/Label an image in an image field with Taxonomy terms? Is it possible to tag images as you upload them on to a node in a multiple values image field?

Image a node with a set of 3 images:
image_1.jpg (tagged with: red)
image_2.jpg (tagged with: blue)
image_3.jpg (tagged with: red)

And another node with 2 images:  
image_A.jpg (tagged with: red)
image_B.jpg (tagged with: green)


What I'm aiming to do is to be able to pull all the images tagged with the tag "red" in a view.

RED IMAGES
image_1.jpg (tagged with: red)
image_3.jpg (tagged with: red)
image_A.jpg (tagged with: red)


Is there a module that performs this?
Images have to be uploaded into the image fields. They cant be uploaded as nodes.
I would suggest using a field collection for this.  This creates a collection of fields that you can add and do exactly what you are looking to do.