DiskDigger
DiskDigger can recover files from any type of media that your computer can read. This includes USB flash drives, memory cards (SD, CompactFlash, Memory Stick, etc), and of course your hard drive. The types of files that it recovers include photos, videos, music, documents, and many other formats.
It can even scan reformatted or badly formatted disks (disks to which Windows can't assign a drive letter), and even disks with bad sectors.