在Keras中将外部注释与ImageDataGenerator配合使用

问题描述

我正在处理具有大型图像数据集的二进制分类问题。我在json文件中的面部边界框中添加了注释,其中包含图像文件路径参考以及每个样本的相应注释。像这样:

{
    "samples": [
        {
            "imageUrl": "http://s3.amazonaws.com/my-bucket/prefix/to/the/image-file.jpeg","annotation": [
                {
                    "points": [
                        {
                            "x": 0.3020833333333333,"y": 0.1921875
                        },{
                            "x": 0.73125,"y": 0.73125
                        },{
                            "x": 0.3020833333333333,"y": 0.1921875
                        }
                    ]
                }
            ]
        }
    ]
}

我想使用此批注对我的数据集进行预处理,以裁剪每张图像中的人脸,因为运行边界框预测太慢而无法即时进行。目前,我正在尝试使用flow_from_dataframe()ImageDataGenerator方法基于数​​据帧行中的引用来加载图像并对其进行预处理,但是我遇到了一些问题:

  1. 我的数据集太大,无法容纳在内存中。我大约有50万张图片,所以我需要一个生成器。
  2. 我只能访问preprocessing_function(ImageDataGenerator arg)中的图像数据。由于我没有 imageUrl 。因此,我无法读取指向当前图像的边界框。

我试图创建自己的自定义图像生成器,但是我需要一些ImageDataGenerator功能。有什么办法可以利用ImageDataGenerator类而不是从头开始创建自己的生成器?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)