数据扩增:模拟监控相机红外图像完成深度学习数据集的扩增

简介: 数据扩增:模拟监控相机红外图像完成深度学习数据集的扩增

前言


  在常规的监控相机中红外探测器送出来的是16位的单通道图像,因为要送显才被转化成8位单通道。看见8位的单通道,我不免想起了灰度图(8位单通道图像),查阅资料文献有如下结论:


  1. 红外图象 是获取物体红外光的强度,而成的图象


  1. 灰度图象 是获取物体可见光的强度


  1. 对于数据格式,是一样的,都是单通道图象 在查看监控的红外图像与自己转换的灰度图可以发现它们大体相同。



图像转换


  由于红外图象是获取物体红外光的强度,而成的图象,灰度图象是获取物体可见光的强度。他们都是单通道的灰度图,那么我们在无法采集那么多的红外图像时,我们可以将已有的三通道图像进行转化为单通道的灰度图,保持灰度图图像内容再扩充到三通道,那么这样我们就可以有了大量的“红外状态下的图像”


  在这里我们采用opencv进行图像的读取与转化为灰度图,这样我们就有了初步的灰度图,

src = cv2.imread("rgb.jpg")
gray_src = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
复制代码


  但是我们在训练的时候往往是需要将数据集放在一起进行训练的,数据集的内的图像格式也是需要保持一致,那么我们就需要将灰度图的单通道扩充到三通道, 在这个里面扩充后还不能影响到图像的内容。在这里我们借助 numpy 将opencv转化为单通道图像扩充到三通道状态,后面再存储到本地。


ThreeChannels = np.stack((gray_src,) * 3, axis=-1)
复制代码




批量操作


  在实际应用中我们往往是需要进行批量操作:对三通道图像转灰度图,然后对灰度图扩充到三通道状态。转换完了之后目标的位置并没有得改变,那么可以对之前的标签文件 一样是可以重复利用的,后续我们就需要对图像和标签文件进行重命名处理(在这里我们主要进行图像转换的操作,不进行重命名处理,关于这方面的代码大家自行google)


def Gray2ThreeChannels(RgbImgDir, SaveImgDir):
    img_names = os.listdir(RgbImgDir)
    for img_name in tqdm(img_names):
        if img_name.lower().endswith(
                ('.bmp', '.dib', '.png', '.jpg', '.jpeg', '.pbm', '.pgm', '.ppm', '.tif', '.tiff')):
            image_path = os.path.join(RgbImgDir, img_name)
            src = cv2.imread(image_path)
            ThreeChannelsImg = gray2ThreeChannels(src)
            if not os.path.exists(SaveImgDir):
                os.makedirs(SaveImgDir)
            SaveImgPath = SaveImgDir + img_name
            cv2.imwrite(SaveImgPath, ThreeChannelsImg)



image.png

相关文章
|
3月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
深度学习中的图像风格迁移
【9月更文挑战第26天】本文将探讨如何利用深度学习技术,实现图像风格的转换。我们将从基础的理论出发,然后逐步深入到具体的实现过程,最后通过代码实例来展示这一技术的实际应用。无论你是初学者还是有经验的开发者,都能在这篇文章中找到有价值的信息。让我们一起探索深度学习的奥秘吧!
|
2月前
|
机器学习/深度学习 传感器 监控
深度学习之智能传感与监控
基于深度学习的智能传感与监控技术通过利用传感器收集数据,并使用深度学习算法对这些数据进行分析,以实现智能化的监控和管理。
74 1
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
利用深度学习实现图像风格迁移
【8月更文挑战第73天】本文通过深入浅出的方式,介绍了一种使用深度学习技术进行图像风格迁移的方法。我们将探讨如何将一张普通照片转化为具有著名画作风格的艺术作品。文章不仅解释了背后的技术原理,还提供了一个实际的代码示例,帮助读者理解如何实现这一过程。
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:智能数据隐私保护
使用Python实现深度学习模型:智能数据隐私保护 【10月更文挑战第3天】
109 0
|
25天前
|
机器学习/深度学习 编解码 算法
什么是超分辨率?浅谈一下基于深度学习的图像超分辨率技术
超分辨率技术旨在提升图像或视频的清晰度,通过增加单位长度内的采样点数量来提高空间分辨率。基于深度学习的方法,如SRCNN、VDSR、SRResNet等,通过卷积神经网络和残差学习等技术,显著提升了图像重建的质量。此外,基于参考图像的超分辨率技术通过利用高分辨率参考图像,进一步提高了重建图像的真实感和细节。
|
20天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习的奇迹:如何用神经网络识别图像
【10月更文挑战第33天】在这篇文章中,我们将探索深度学习的奇妙世界,特别是卷积神经网络(CNN)在图像识别中的应用。我们将通过一个简单的代码示例,展示如何使用Python和Keras库构建一个能够识别手写数字的神经网络。这不仅是对深度学习概念的直观介绍,也是对技术实践的一次尝试。让我们一起踏上这段探索之旅,看看数据、模型和代码是如何交织在一起,创造出令人惊叹的结果。
26 0
|
3月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:智能数据隐私保护
使用Python实现深度学习模型:智能数据隐私保护
70 1
|
2月前
|
机器学习/深度学习 数据挖掘 数据处理
深度学习之卫星图像中的环境监测
基于深度学习的卫星图像环境监测是指通过使用深度学习模型处理和分析来自卫星的遥感数据,以实现对地球环境的自动化监测和分析。这项技术极大提升了环境监测的效率、精度和规模,应用于气候变化研究、生态保护、自然灾害监测、城市扩张评估等多个领域。
99 0
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习与神经网络:探索复杂数据的表示
【9月更文挑战第26天】深度学习作为人工智能领域的明珠,通过神经网络自动从大数据中提取高级特征,实现分类、回归等任务。本文介绍深度学习的基础、张量表示、非线性变换、反向传播及梯度下降算法,并探讨其在计算机视觉、自然语言处理等领域的应用与挑战。未来,深度学习将更加智能化,揭示数据背后的奥秘。
|
2月前
|
机器学习/深度学习 自然语言处理
【绝技揭秘】模型微调与RAG神技合璧——看深度学习高手如何玩转数据,缔造预测传奇!
【10月更文挑战第5天】随着深度学习的发展,预训练模型因泛化能力和高效训练而备受关注。直接应用预训练模型常难达最佳效果,需进行微调以适应特定任务。本文介绍模型微调方法,并通过Hugging Face的Transformers库演示BERT微调过程。同时,文章探讨了检索增强生成(RAG)技术,该技术结合检索和生成模型,在开放域问答中表现出色。通过实际案例展示了RAG的工作原理及优势,提供了微调和RAG应用的深入理解。
61 0