Images are separate requests--not much you can do about that.
You *can*, however, decide to not process the request in the filter if it's an image. S2 uses /* as the filter mapping because we serve static content from specific directories--if the request doesn't match the action pattern or the magic prefix the filter stops processing and moves on.
I'd use a better mapping strategy (unless you are using Struts or whatever -- then use their recommendation), or follow David's advice of writing the filter to determine if it needs to pay attention to a request or not (painful in my opinion).
subject: Multiple requests made on each single page load