Based on the file description, it seems your additional features are 1-dimensional with a size of 4.
What is stored in the filename column? Are there your image file names (or paths)?
If so, I would write a custom Dataset, index the DataFrame inside __getitem__ to get the file path to the image, the additional features, and the current target (I would recommend to create the target in a separate column).
Let me know, if that would work for you.