1.YUV转换

YUV,是一种颜色编码方法。“Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

YUV颜色模式的Y通道与UV是分离的,没有UV色度信号的话则表示黑白图像。YUV主要用于彩色视频的优化,被用在彩色电视系统中,可以兼容黑白电视,黑白电视和彩色电视在接受信号时不至于使黑白电视接收不到彩色电视的信号。

YUV不像RGB那样要求三个通道的信号同时传输,同时由于亮度信号和色度信号的分离,在图像色彩处理方面较为便利,而且可以与RGB图像相互转换。类似的颜色模式还有Lab模式,L表示亮度,ab表示色差,也是用三通道亮度与色差分离表示颜色的。

YUV格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式。因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式。

import tensorflow as tf
import numpy as np
import os#通过os模块调用系统命令
import glob#文件名模式匹配,不用遍历整个目录判断每个文件是不是符合
import sys
def rgb2yuv(rgb):"""将RGB图像转换为YUV"""rgb2yuv_filter = tf.constant([[[[0.299, -0.169, 0.499],[0.587, -0.331, -0.418],[0.114, 0.499, -0.0813]]]])rgb2yuv_bias = tf.constant([0., 0.5, 0.5])temp = tf.nn.conv2d(rgb, rgb2yuv_filter, [1, 1, 1, 1], 'SAME')temp = tf.nn.bias_add(temp, rgb2yuv_bias)return tempdef yuv2rgb(yuv):"""将YUV图像转换为RGB"""yuv = tf.multiply(yuv, 255)yuv2rgb_filter = tf.constant([[[[1., 1., 1.],[0., -0.34413999, 1.77199996],[1.40199995, -0.71414, 0.]]]])yuv2rgb_bias = tf.constant([-179.45599365, 135.45983887, -226.81599426])temp = tf.nn.conv2d(yuv, yuv2rgb_filter, [1, 1, 1, 1], 'SAME')temp = tf.nn.bias_add(temp, yuv2rgb_bias)temp = tf.maximum(temp, tf.zeros(temp.get_shape(), dtype=tf.float32))temp = tf.minimum(temp, tf.multiply(tf.ones(temp.get_shape(), dtype=tf.float32), 255))temp = tf.div(temp, 255)return temp

相关解释见图像色彩化Python实现:https://blog.csdn.net/OpenSceneGraph/article/details/100731155

2.图像彩色化方法

常见方法:基于偏微分方程Sapiro、图像融合、图像分割

基于图像分割:首先对目标和参考图像各个像素点进行特征提取、分类,再使用超像素分割与直方图统计相结合的方法对分类结果图像进行优化,最后转换到 HSV 色彩空间中,进行对应的色彩传递。近年来结合图像分类器来优化图像分割后的分类结果再进行彩色化处理。

图像彩色化方法的未来研究可以有效地结合字典学习、稀疏表示的特点,也许能够更好地解决具有复杂的灰度图像彩色化问题。但此方法不能解决参考彩色图像的选择受用户的影响的问题,因此未来可以采取针对参考图像的选择实现自动客观化的算法。

不论是人工着色还是参考源图像的色彩迁移方法,其实现方法多是通过对目标图像进行分割、分块对应着色,应用偏微分方程将彩色化问题转化为最优解问题,借助图像融合、图像分类分割、深度学习和稀疏字典等技术手段实现图像的彩色化。

相比其他图像处理技术,图像彩色化方法的种类相对单一,而且彩色化过程中,很难达到彩色化的实时性和人眼视觉效果的双重要求,后期的研究可根据应用场景和算法的特点来选择优化图像彩色化方法,例如在监控应用中,需进行人脸识别、目标跟踪定位等稍高精度的图像处理的应用场景,建议选择借助图像融合、结合深度学习和稀疏表示的彩色化处理手段。当图像增强彩色化处理应用在车载系统、实时监控等图像处理实时性较高的场景,建议选择基于图像分割的彩色化方法。当需要对图像内容的细节处理要求较高时,建议优先选择借助偏微分方程的彩色化方法。总而言之,图像彩色化作为一种图像增强处理手段,提高图像彩色化的精确度、视觉效果以及图像分析时的精准应用始终是图像彩色化技术的终极和最基本目的。

以人眼直观视觉效果为主,客观数据以峰值信噪比、均方误差的大小等来衡量。

3.CNN中局部感知、参数共享、多卷积核以及池化操作

  • 局部感知:传统的神经网络中,每个人工神经元都要与图像中的每个像素想连接,这样就造成了需要大量权重的问题,使神经网络难以训练。但是在卷积神经网络中,每个神经元不需要和上一层所有神经元相连,只需与对应部分像素相连接,这样就能大量减少所需权重的数量。另外在图像中距离相近的像素相关性较大,采用局部感受设置步长对应距离远近,舍弃并不需要学习的权重,提高学习效率
  • 参数共享:通过一个卷积核只学习图像不同位置的相同特征,这样一组连接可以共享一个权重,对相同目标的特征提取都可以使用一个权重,这样就又减少了参数。
  • 多核卷积:第二个特征中说明了一个卷积核只学习部分特征,这就需要多核卷积学习图像中的不同特征来提取原图像的特征,在多核卷积中每个卷积核的大小应该是相同的。
  • 池化:又称“下采样”。池化层往往在卷积层后面,通过池化来降低卷积层输出的特征向量,同时改善过拟合现象。有最大池化和平均池化。

4.损失函数

损失函数分为经验风险损失函数和结构风险损失函数,经验风险损失函数反映的是预测结果和实际结果之间的差别,结构风险损失函数则是经验风险损失函数加上正则项(L0、L1(Lasso)、L2(Ridge))。

0-1损失:这种损失函数较为简单,当预测值与目标值不相等时为1,否则为0,用来记录分类错误的次数。

绝对值损失和平方损失常用于回归中。

对数损失函数常用于逻辑回归,样本预测值和实际值的误差符合高斯分布,使用极大似然估计的方法,取对数得到损失函数。

指数损失函数在boosting算法中比较常见。

5.深度学习训练算法:梯度下降法及其改进算法

梯度下降算法的主要思想是利用负梯度方向经过迭代找到当前函数的极小值。通俗得说就是找到函数变化率最大的位置往下走,反复进行这一过程直到函数收敛,就能找到当前待优化函数的最小值。

深度学习图像处理(色彩编辑4)相关推荐

  1. 深度学习图像处理目标检测图像分割计算机视觉 04--神经网络与误差反向传播BP算法

    深度学习图像处理目标检测图像分割计算机视觉 04--神经网络与误差反向传播BP算法 摘要 一.神经元 二.前馈网络 2.1 Delta学习规则 2.2 目标函数J(w) 三.误差反向传播算法(BP算法 ...

  2. 深度学习图像处理目标检测图像分割计算机视觉 02--图像特征与描述

    深度学习图像处理目标检测图像分割计算机视觉 02--图像特征与描述 摘要 一.图像特征与描述 1.1.颜色特征 1.2.几何特征提取 1.3.基于特征点的特征描述子 1.3.1.几何特征:关键点 1. ...

  3. 深度学习图像处理目标检测图像分割计算机视觉 07--图像检索

    深度学习图像处理目标检测图像分割计算机视觉 07--图像检索 摘要 一.传统的图像检索做法 1.1.相似颜色检索 1.2.相似纹理检索 1.3.相似形状检索 1.4.相似局部特征检索 1.5.Bag ...

  4. XC7K325T+TX2深度学习图像处理卡

    XC7K325T+TX2深度学习图像处理卡 M/D-CAP3U是天津雷航光电科技有限公司推出的一款复合加速计算平台,由Xilinx的28nm制程的FPGA - XC7K325T-3FFG900I和NV ...

  5. 传统图像算法和深度学习图像处理的区别

    ** 前言 ** 刚入门图像那会儿,我记得当时有个疑问就是传统图像处理算法和深度学习卷积神经网络的区别到底在哪,在这打算用比较通俗的解释和浅显的例子对这个问题做个解释,希望可以帮助到有需要的同学. 一 ...

  6. 深度学习图像处理目标检测图像分割计算机视觉 01--图像预处理

    深度学习图像处理目标检测图像分割计算机视觉 01-图像预处理 摘要 一.开发环境搭建 1.1 anaconda安装 1.2 安装TensorFlow 1.3 安装OpenCV 二.中值滤波 三.高斯滤 ...

  7. 计算机视觉与图像处理面试题,深度学习图像处理算法工程师面试题

    AI开发平台ModelArts ModelArts是面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注.大规模分布式Training.自动化模型生成,及端-边-云模型 ...

  8. vidi深度学习图像处理软件2.1

    有需要这个软件的,请加我的QQ7299789 VIDI 提供了第一款基于工业图像分析的深度学习软件.VIDI Suite基于最先进的机器学习算法,是一款优化可靠的可现场测试的软件解决方案.它可以完 ...

  9. 深度学习图像处理(深度学习的医学图像分割3.1)

    基于深度学习的医学图像分割模型研究_曹祺炜 1.基于改进的3D-FCN+CRF以及MS-CapsNetGAN实现脑肿瘤图像分割 图像语义分割,简单而言就是给定一张图片,对图片上的每一个像素点分类,不同 ...

  10. 计算机视觉、机器视觉、数字图像处理、机器学习/深度学习+图像处理 四者的关系

    一.机器能进行视觉感知的进化发展(就算机器能识别各种物体用处大吗) 小猫有眼睛,认识吃的就吃,看到危险就躲,还能抓苍蝇.那具有运动能力的机器没有视觉怎么做出决策和会执行.机器拿到数字图像如何提取感知信 ...

最新文章

  1. WMI技术介绍和应用——查询本地用户和组
  2. 简单易懂的自动驾驶科普知识
  3. mysql group where_[MySQL] 测试where group by order by的索引问题
  4. 初学JavaWeb需要的前端js,JavaScript是什么样的?
  5. 前端学习(3290):react hook state-hook传入对象
  6. 阿里小二的日常工作要被TA们“接管”了!
  7. linux路由内核实现分析(二)---FIB相关数据结构(4)
  8. python 不显示前几个字符_「Python 秘籍」删除字符串中不需要的字符
  9. DHCP服务器异常,上不了网解决办法
  10. php能开发管理系统吗,PHP《个人管理系统》希望大家一起来开发
  11. 面试题57 - II. 和为s的连续正数序列
  12. 解析mysqlbinlog日志_关于mysql-binlog日志解析框架
  13. 02-Go语言数据类型与变量
  14. 如何在计算机上增加一个磁盘分区,电脑怎么添加硬盘分区
  15. 波形发生器——方波三角波正弦波
  16. 物联网技术到底是什么技术?
  17. 360浏览器网页无法连接服务器,360浏览器打不开网页的解决方法教程
  18. 零基础python爬虫基础之王者荣耀图片下载(超级简单)
  19. 使用ethers.js执行读函数与写函数
  20. 使用UIDataDetectorTypes自动检测电话、网址和邮箱

热门文章

  1. centos官网下载地址
  2. 国内外20多个科研论文下载神器(科研小白成长记 番外篇)
  3. PS|如何将Adobe Photoshop(PS)完全卸载
  4. python网课培训班学费一般多少
  5. java调用dll实例_如何用java调用dll,详细图解
  6. 百度竞价的关键词如何分类?
  7. java实现文件压缩打包(zip打包)(文件相关二)
  8. 实验02 使用网络模拟器Packet Tracer
  9. 攻防世界 REVERSE 新手区/logmein
  10. C. Minimum Notation #823 div2