【问题标题】:keras flow_from_dataframe for image segmentation (i.e. with a binary mask as label)keras flow_from_dataframe 用于图像分割(即使用二进制掩码作为标签)
【发布时间】:2021-01-04 08:43:19
【问题描述】:

有没有办法使用 keras (https://keras.io/api/preprocessing/image/#flowfromdataframe-method) 中的“flow_from_dataframe”方法来加载带有蒙版的图像?这样,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 |
+---+---------------------+---------+-------------------------+

【问题讨论】:

    标签: python keras computer-vision image-segmentation


    【解决方案1】:

    您可以为掩码创建单独的 ImageDataGenerator,然后将其与现有的 ImageDataGenerator 一起压缩。

    查看documentation 中的第三个示例。

    【讨论】:

    • 嗨菲利普,感谢您的回答!是的,这会起作用,但是在数据框中将数据拆分为训练集、验证集和测试集要比在目录中容易得多。有没有办法从数据框中加载数据?
    • 哦,是的,仍然可以使用 flow_from_dataframe。您的所有数据都可以放在一个文件夹中,就像每个生成器在其数据框中获取正确的文件名一样。这是因为 flow_from_dataframe 会加载特定的文件,而不是像 flow_from_directory 这样的目录中的所有内容。
    • 哦,好吧,但是如何在没有类的情况下使用“flow_from_dataframe”?因为我的基本事实是二进制掩码,所以我没有任何课程
    • 当您像这样将它们压缩在一起时,tf 会将其读取为 (x, y) 元组。所以第二个生成器将用作您的训练目标。
    猜你喜欢
    • 2017-12-24
    • 2019-05-27
    • 2022-09-23
    • 1970-01-01
    • 2019-10-24
    • 2020-04-13
    • 2015-10-11
    • 2018-07-21
    • 2019-03-25
    相关资源
    最近更新 更多