#python #keras #computer-vision #image-segmentation
#python #keras #компьютерное зрение #изображение-сегментация
Вопрос:
Есть ли способ использовать метод «flow_from_dataframe» из keras (https://keras.io/api/preprocessing/image/#flowfromdataframe-method ) чтобы загрузить изображение с маской? Таким образом, вместо того, чтобы y быть категорией, y — это путь, так что двоичная маска загружается вместе с изображением.
Примером фрейма данных для загрузки данных может быть:
--- --------------------- --------- -------------------------
| | img_path | subject | mask_path |
--- --------------------- --------- -------------------------
| 0 | images/DSC_4540.TIF | 4540 | masks/DSC_4540_mask.tif |
--- --------------------- --------- -------------------------
| 1 | images/DSC_9228.TIF | 9228 | masks/DSC_9228_mask.tif |
--- --------------------- --------- -------------------------
| 2 | images/DSC_6674.TIF | 6674 | masks/DSC_6674_mask.tif |
--- --------------------- --------- -------------------------
| 3 | images/DSC_3453.TIF | 3453 | masks/DSC_3453_mask.tif |
--- --------------------- --------- -------------------------
| 4 | images/DSC_6808.TIF | 6808 | masks/DSC_6808_mask.tif |
--- --------------------- --------- -------------------------
| 5 | images/DSC_5494.TIF | 5494 | masks/DSC_5494_mask.tif |
--- --------------------- --------- -------------------------
Ответ №1:
Вы можете создать отдельный ImageDataGenerator для масок, а затем заархивировать его с помощью существующего ImageDataGenerator.
Ознакомьтесь с третьим примером из документации.
Комментарии:
1. Привет, Филипп, спасибо за твой ответ! Да, это сработало бы, но гораздо проще разделить данные на поезд, проверку и тестовый набор в dataframe, чем в каталогах. Нет ли способа загрузить данные из фрейма данных?
2. О да, все еще можно использовать flow_from_dataframe. Все ваши данные могут находиться в одной папке, так как каждый генератор получает правильные имена файлов в своих фреймах данных. Это потому, что flow_from_dataframe загружает определенные файлы, а не просто все в каталоге, таком как flow_from_directory.
3. о, хорошо, но как бы «flow_from_dataframe» использовался без классов? Поскольку моя основная истина — это двоичная маска, у меня нет никаких классов
4. Когда вы объединяете их таким образом, tf считывает это как кортеж (x, y). Таким образом, второй генератор будет использоваться в качестве ваших целей обучения.