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

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

前言


  在常规的监控相机中红外探测器送出来的是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

相关文章
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的魔法:如何用神经网络解锁数据的奥秘
在人工智能的璀璨星空中,深度学习犹如一颗最亮的星,它以其强大的数据处理能力,改变了我们对世界的认知方式。本文将深入浅出地介绍深度学习的核心概念、工作原理及其在不同领域的应用实例,让读者能够理解并欣赏到深度学习技术背后的奇妙和强大之处。
26 3
|
7天前
|
机器学习/深度学习 并行计算 PyTorch
图像检测【YOLOv5】——深度学习
Anaconda的安装配置:(Anaconda是一个开源的Python发行版本,包括Conda、Python以及很多安装好的工具包,比如:numpy,pandas等,其中conda是一个开源包和环境管理器,可以用于在同一个电脑上安装不同版本的软件包,并且可以在不同环境之间切换,是深度学习的必备平台。) 一.Anaconda安装配置. 1.首先进入官网:https://repo.anaconda.com,选择View All Installers. 2.打开看到的界面是Anaconda的所以安装包版本,Anaconda3就代表是Python3版本,后面跟的是发行日期,我选择了最近的2022
42 28
|
6天前
|
机器学习/深度学习 自然语言处理 计算机视觉
深度学习之文本引导的图像编辑
基于深度学习的文本引导的图像编辑(Text-Guided Image Editing)是一种通过自然语言文本指令对图像进行编辑或修改的技术。
23 8
|
8天前
|
机器学习/深度学习 自然语言处理 并行计算
深度学习之图像描述生成
基于深度学习的图像描述生成(Image Captioning)是一种将计算机视觉与自然语言处理结合的任务,其目标是通过自动生成自然语言来描述输入的图像。该技术能够理解图像中的视觉内容,并生成相应的文本描述,广泛应用于视觉问答、辅助盲人、自动视频字幕生成等领域。
25 7
|
11天前
|
机器学习/深度学习 传感器 监控
红外小目标检测:基于深度学习
本文介绍了红外小目标检测技术的优势、基本原理及常用方法,包括背景抑制、滤波、模型和深度学习等,并探讨了多传感器融合的应用。通过一个基于深度学习的实战案例,展示了从数据准备到模型训练的全过程。最后,文章展望了该技术在军事、安防、交通等领域的广泛应用及未来发展趋势。
|
11天前
|
机器学习/深度学习 数据采集 数据可视化
深度学习实践:构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类
本文详细介绍如何使用PyTorch构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行图像分类。从数据预处理、模型定义到训练过程及结果可视化,文章全面展示了深度学习项目的全流程。通过实际操作,读者可以深入了解CNN在图像分类任务中的应用,并掌握PyTorch的基本使用方法。希望本文为您的深度学习项目提供有价值的参考与启示。
|
20天前
|
机器学习/深度学习 人工智能 算法框架/工具
深入浅出:使用深度学习进行图像分类
【8月更文挑战第31天】在本文中,我们将一起探索如何利用深度学习技术对图像进行分类。通过简明的语言和直观的代码示例,我们将了解构建和训练一个简单卷积神经网络(CNN)模型的过程。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供清晰的指导和启发性的见解,帮助你理解并应用深度学习解决实际问题。
|
23天前
|
机器学习/深度学习 JavaScript 前端开发
深度学习必备:对数据集的拆分、根据拆分图片拆分labels、对全部标注标签进行区间检查
使用JavaScript代码或浏览器扩展可以一次性在浏览器中打开多个相同的标签页。
|
1天前
|
机器学习/深度学习 监控 TensorFlow
使用Python实现深度学习模型:智能宠物监控与管理
使用Python实现深度学习模型:智能宠物监控与管理
13 0
|
10天前
|
机器学习/深度学习 数据挖掘 TensorFlow
从数据小白到AI专家:Python数据分析与TensorFlow/PyTorch深度学习的蜕变之路
【9月更文挑战第10天】从数据新手成长为AI专家,需先掌握Python基础语法,并学会使用NumPy和Pandas进行数据分析。接着,通过Matplotlib和Seaborn实现数据可视化,最后利用TensorFlow或PyTorch探索深度学习。这一过程涉及从数据清洗、可视化到构建神经网络的多个步骤,每一步都需不断实践与学习。借助Python的强大功能及各类库的支持,你能逐步解锁数据的深层价值。
23 0