General structure advice for beginner
Your design is sound.

I have a concern about using the image filename as the key.  Although academically acceptable there could be performance implications.  A long string value like that is not going to make for an efficient index i.e. one with lots of IDs per page.

Secondly, there's nothing certain but change.  At some point you will have to re-locate these files onto a different directory/ server/ domain.  At that point you will be updating the primary key of a table which, while do-able, is rarely pretty.

I understand the example you've shown only has four tables.  I would anticipate you will have more before your system goes live and then these concerns will become more significant.  I'd use a surrogate key instead.