Opencv 在没有图像源的情况下发布图像
我有超过一百万张图片,我想用它们作为训练数据。如何在不影响安全性的情况下免费提供这些数据 我希望用户能够快速地将其用于培训目的,而不给黑客从开源数据重建图像的机会。同时,我不希望培训质量受到任何影响 换句话说,如何安全地打开源代码映像Opencv 在没有图像源的情况下发布图像,opencv,tensorflow,keras,conv-neural-network,machine-learning-model,Opencv,Tensorflow,Keras,Conv Neural Network,Machine Learning Model,我有超过一百万张图片,我想用它们作为训练数据。如何在不影响安全性的情况下免费提供这些数据 我希望用户能够快速地将其用于培训目的,而不给黑客从开源数据重建图像的机会。同时,我不希望培训质量受到任何影响 换句话说,如何安全地打开源代码映像 例如,此代码生成numpy数组。在这种情况下,我只是想让从ndarray“x”重建原始图像变得非常困难 from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_
例如,此代码生成numpy数组。在这种情况下,我只是想让从ndarray“x”重建原始图像变得非常困难
from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img
i = load_img('some_image.jpg' )
x = img_to_array(i)
x = x.reshape((1,) + x.shape)
一旦我知道黑客无法使用数据并创建相同的图像,我就可以共享阵列x。如果你打算发布开源图片,那么了解其工作原理将是一个良好的开端。他们曾经也必须面对许多这样的挑战,从中可以学到很多东西 如果您的观众需要提供完整的图片以使他们的模型工作,那么无论您如何试图混淆包含数据的数组。有足够时间和创造力的聪明人将能够重建原始图片。这不是一个可行的解决方案,它只提供了一种虚假的安全感 如果你选择了一种破坏性的方法,不是为实际的图片服务,而是为它提供一些摘要/散列/指纹,那么你可能会降低重建原始图片的风险(请注意,有些非常聪明的人具有很强的加密技能)。但是,你的观众将无法从图片本身中学习,因此你可能无法实现你的目标 破坏性较小,可能不符合您的要求:增加噪音。它不会阻止敏感材料的泄露(人类的眼睛和大脑在某种程度上有助于分类),它是一种众所周知的技术。这也不是一个好的解决方案 无论如何,如果你不小心提供不适合开源的敏感材料,那么你可能会让你自己和其他人陷入麻烦。这不是一个好的选择 我的建议
- 如果你的图片真的符合开源政策,那么就这样服务它们,不要担心黑客,它们也是客户李>
- 如果您的图片是敏感的,那么不要将其作为开源。相反,提供一个具有安全层的框架,并实施您必须考虑的规定(ToS、IP、版权等)
- 如果你的图片真的符合开源政策,那么就这样服务它们,不要担心黑客,它们也是客户李>
- 如果您的图片是敏感的,那么不要将其作为开源。相反,提供一个具有安全层的框架,并实施您必须考虑的规定(ToS、IP、版权等)
- 你可以与你的队友分享你的照片,并依靠信任
- 您可以以某种方式将图像模糊化为一堆文件,也可以创建算法将它们转换为numpy数组(或张量),模糊化它们,并提供将它们还原回来而不会丢失的过程
仅仅尝试翻转图像、缩放图像、删除元数据、规范化图像或变换一个像素是不够的。您需要将它们与原始图像区分开来。所有机器学习算法都会获取真实图像,并将图像转换为张量,然后分批处理(一次处理多个图像) 您可以选择以下几个选项:
- 你可以与你的队友分享你的照片,并依靠信任
- 您可以以某种方式将图像混淆为一堆文件,或者