To keep it simple and unique I would use a custom post type combined with a custom taxonomy called “Photos”.
Registering a custom post type allows you to customize what the input is and the dashboard, along with making it easier to work with code wise, since it is separate from the default “posts”.
You can find a reference here: http://codex.wordpress.org/Function_Reference/register_post_type
And an example here (the codex example is horribly messy): https://gist.github.com/2377383
For the category I think it would be worth registering a custom taxonomy, it makes dealing with unique output easier then using the default categories. http://codex.wordpress.org/Function_Reference/register_taxonomy
Tie the “Photos” taxonomy into your custom post type, then create some custom templates based off of this and you are all set.
http://codex.wordpress.org/Template_Hierarchy