Are these picture types (roof, roof hazard and front) representing the target?
If so, then your approach to create separate models for these images won’t work, as you won’t know the target for new images (and would probably want to predict them).
I’m still unsure if I understand the use case.
You’ve created a pandas DataFrame and would now like to load all pictures at once (ignoring the NaN entries)?