Storm is a very scalable, fast, fault-tolerant open source system for distributed computation, with a special focus on stream processing. Storm excels at event processing and incremental computation, calculating rolling metrics in real time over streams of data
Event stream processing is major strength of Storm.
Generally Hadoop is used for batch-processing. But Storm is The Hadoop of real-time processing and Spark is Distributed processing for all with in-memory data store
Have a look at this Storm and Spark and Stack Comparison links

EDIT:
My solution for this problem
1) Store the images in CMS (content management system) with CDN spread across multiple networks and not in HDFS or NoSQL database)
2) Store the Image Id, Image Name, MD5SUM, Image Location meta information in HBase table
3) Use Spark & HBase for image data processing e.g. remove duplicate image by checking MD5SUM