【AI白身境】深度学习必备图像基础

今天是新专栏《AI白身境》的第四篇,所谓白身,就是什么都不会,还没有进入角色。

我们已经说了linux基础和python基础,接下来就要开始真正干活了。所谓万丈高楼平地起,正式从事深度学习技术的三大方向,图像,语音,NLP之前,自然要先了解各自的基础。

笔者身处计算机视觉领域,所以这一期就跟大家说说必备的图像基础

作者 | 言有三,微信Longlongtogo

编辑 | 言有三

01

图像的起源

1.1 图像的进化

图像是什么?这个问题大家都有自己的答案。我的答案是,图像是一门语言,是人类文明的象征。

人类起源时没有图像,最开始记事采用的方法是什么呢?据《易·系辞下》中记录,“上古结绳而治,后世圣人易之书契 ,百官以治,万民以查”,也就是说,最开始没有文字,大家采用结绳的方法来记录。

到了后来,中国进入了一个文明时代,商朝,并且有了自己的文字,甲骨文,这就是我们现在汉字的起源。

再后来,随着西方文明的发展,有了照片,从此我们进入了多媒体记录信息的时代。

如今,图片视频已经成为了人的一生中非常重要的记忆载体。

英文image来源于拉丁文imāgō,它的含义有很多,比如reflection,visible form等等,实际上表述的就是一种语言。

图像包括图和像,图,它是一直客观存在的光的分布。而像则是图在人大脑中的印象。

1.2 模拟图像与数字图像

图像起源于1826年前后法国科学家Joseph Nicéphore Niépce发明的第一张可永久保存的照片,属于模拟图像

模拟图像又称连续图像,它通过某种物理量(如光、电等)的强弱变化来记录图像亮度信息,所以是连续变换的。模拟信号的特点是容易受干扰,如今已经基本全面被数字图像替代。

在第一次世界大战后,1921年美国科学家发明了Bartlane System,并从伦敦传到纽约传输了第一幅数字图像,其亮度用离散数值表示。

这是一种电缆图片传输系统,将图片编码成5个灰度级,1929年发展成15个灰度级,通过海底电缆进行传输。在发送端图片被编码并使用打孔带记录,通过系统传输后在接收方使用特殊的打印机恢复成图像。

二战时,世界各国报纸上的图像都是采用Bartlane System进行传输。

1950年左右,计算机被发明,数字图像处理学科正式诞生。

模拟图像和数字图像的对比,大家可以看看。

02

数字图像表示

2.1 位数

计算机采用0/1编码的系统,数字图像也是利用0/1来记录信息,我们平常接触的图像都是8位数图像,包含0~255灰度,其中0,代表最黑,1,表示最白。

其实人眼对亮度的对比的敏感度远远超过亮度的本身。

就像上面的两条线,是一样的灰度值,但是人眼很难分辨这是相同的灰度,尽管知识告诉我们它是。实际上,人眼能分辨的灰度级不到32级,大于16级。

2.2 分辨率 

数字图像有两个分辨率,图像分辨率与输出分辨率

图像分辨率指的是每英寸的像素数,简写为ppi,我们平常说一张图片大小的时候使用的就是图像分辨率。

输出分辨率指的是设备输出图像时每英寸可产生的点数,简写为dpi,这是在印刷行业,摄影行业常用的分辨率,摄影行业通常要求DPI不低于300。

相同的图像分辨率,更高的DPI表现为物理尺寸更小。因为这个时候每英寸点更多,像素变小。

如下面两张图,左图的DPI=72,物理尺寸大小为高46.85厘米,宽67.73厘米。右图的DPI=150,物理尺寸大小为高22.47厘米,宽32.49厘米。两者的像素数是相等的,都是1920*1328像素分辨率,但是右边的dpi更大。

物理尺寸相同,DPI较低表现为较低的分辨率,此时每英寸的点数变少,像素变大。如下面两张图,图像实际大小相等,但是右边的图像分辨率较低,像素数较少,清晰度有所下降。

2.3  彩色空间 

图像有灰度图有彩色图,灰度图即只包含亮度信息,而彩色图不仅包含亮度信息还包含颜色信息。

我们平常接触的是RGB彩色图,即由红(Red)绿(Green)蓝(Blue)3个通道组成,一张图像的每一个像素由矢量(R,G,B)表示。

这是在消费市场最广泛使用的,最常用的用途就是显示器系统,计算机、电视机等都是采用RGB颜色空间来进行图像显示。RGB颜色空间背后的生物学原理是人眼有对这3种颜色最敏感的细胞,在自然界中肉眼所能看到的任何色彩都可以由这三种色彩叠加而成,因此也被称为加色原理。比如黄色,可以通过红色和绿色相加,全红色为(255,0,0),全绿色为(0,255,0),全黄色为(255,255,0)。

有艺术背景的读者会提出绿色和红色混合在一起产生的是褐色,与这里的计算机色彩模型加色原理不同,这是因为绘画遵循的是减色模型。

除了RGB颜色空间,常用的颜色空间还有HSV,CIELab等,我们以后会集中讲述。

03

数字图像处理基础

数字图像处理有一些基本的表述和概念我们必须清楚。

3.1  直方图 

图像之所以能处理,是因为像素与像素是有空间联系的,对像素灰度值进行统计,就得到了直方图。

下面分别是上面灰度和彩色图的直方图。

统计代码如下:

import cv2

import matplotlib.pyplot as plt

import numpy as np

import sys

import os

filename=sys.argv[1]

img=cv2.imread(filename)

colors=['blue','green','red']

for i in range(3):

hist,x=np.histogram(img[:,:,i].ravel(),bins=256,range=(0,256))

plt.plot(0.5*(x[:-1]+x[1:]),hist,label=colors[i],color=colors[i])

plt.show()

imggray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

cv2.imwrite('sample_gray.jpg',imggray)

histgray,xgray=np.histogram(imggray.ravel(),bins=256,range=(0,256))

print xgray

plt.figure()

plt.plot(0.5*(xgray[:-1]+xgray[1:]),histgray)

plt.show()

我们可以看到,在灰度直方图包含两个很明显的分布,在彩色直方图的红色通道也包含两个很明显的分布,分别对应的就是“前景”和“背景”

如上图,感兴趣的是图中的“柿子”,这就是前景,它的灰度比较高,对应的就是直方图中的较高峰。

3.2  边缘 

视觉机制和马赫达效应都表明人眼对不连续的东西是最敏感的,而图像中不连续的东西,表现出来就是图像边缘。

边缘包含上升阶跃型、下降阶跃型、屋脊型、脉冲型等类型,

边缘检测在计算机视觉与图像处理中基础且应用广泛。通过提取目标的轮廓,用于识别不同的物体,或作为图像的特征表示。边缘检测的基本方法有很多,它们的绝大部分可以划分为两类:基于一阶导数和二阶导数的方法。

关于边缘检测方法,公众号有视频公开课,大家可以去看。

3.3  对比度与清晰度 

图像有高亮度也有低亮度,对应的就是白与黑,目前多数显示系统利用8字节,即灰度值0代表最黑,灰度值255代表最亮,不过大部分图像上的亮度范围通常都小于最大最小值之差。

对比度,指的就是画面的明暗反差程度

对比度有全局对比度和局部对比度。增加对比度,画面中亮的地方会更亮,暗的地方会更暗,明暗反差会增强。下面分别是降低对比度和增加对比度,感受一下。

清晰度,指的是边缘附近的敏感对比。

如果增加清晰度,边缘较暗的一侧会变得更暗,边缘较亮的一侧会变得更亮,轮廓更加清晰,不过调节过度,会出现晕影。

增加清晰度,可以通过锐化操作来进行。降低清晰度,可以通过降低图像分辨率,增加模糊等方法。

04

图像处理与计算机视觉

有一些基本概念容易混淆,图像处理,图形学,计算机视觉等,用几个图就很好理解了。

4.1  图像处理领域 

图像处理一般指数字图像处理,输入是图像,输出也是图像,通常是为了改善,增强图像的内容以方便后续的分析。

图像模糊

对比度增强

图像降噪

更多的图像算法,等我更新即可。

4.2  计算机视觉 

所谓计算机视觉,即compute vision,就是通过用计算机来模拟人的视觉工作原理,来完成模式分析,比如图像分类,分割,检测等。

4.3  图形学 

所谓计算机图形学(Computer Graphics,简称CG),是指使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。

简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算,比如我们熟知的CG制作

图形学中三维重建占了很大一部分比例,感兴趣可以了解更多。

以上几个领域都是相互交叉,实际上没必要分的那么开,了解即可。

总结

基础的图像知识就这么多吧,虽然简单,但是一定要记牢了,免得以后还会回顾基础概念。

下期预告:下一期我们会讲Opencv基础,如果你有建议,欢迎留言,我们会及时采纳的。

转载文章请后台联系

侵权必究

(0)

相关推荐

  • 图像增强简介

    重磅干货,第一时间送达 数字图像的诞生并不是与计算机的发展完全相关,第一次世界大战结束后的第二年,数字图像被发明并用于报纸行业.为了当时传输此图像,发明了Bartlane电缆图像传输系统.主要是为了从 ...

  • 在 Google Colab 中使用 OpenCV 进行图像处理简介

    重磅干货,第一时间送达 在这篇文章中,我们将实现如何使用 OpenCV 在 google colaboratory 中进行图像处理.为此,我们应该了解一些 Python 基础知识,下面给出的步骤将帮助 ...

  • 收藏 | 详细讲解遥感图像处理流程

    收藏 | 详细讲解遥感图像处理流程 箜_Kong GIS前沿 今天 一.预处理 1.降噪处理 由于传感器的因素,一些获取的遥感图像中,会出现周期性的噪声,我们必须对其进行消除或减弱方可使用. (1)除 ...

  • 【AI白身境】深度学习中的数据可视化

    今天是新专栏<AI白身境>的第八篇,所谓白身,就是什么都不会,还没有进入角色. 上一节我们已经讲述了如何用爬虫爬取数据,那爬取完数据之后就应该是进行处理了,一个很常用的手段是数据可视化. ...

  • 【AI白身境】学深度学习你不得不知的爬虫基础

    今天是新专栏<AI白身境>的第七篇,所谓白身,就是什么都不会,还没有进入角色. 对于深度学习,一个好的数据集可以说非常重要的,但是通常情况下我们并没有大量的数据,因此我们有必要掌握一定的爬 ...

  • 【AI白身境】深度学习从弃用windows开始

    今天是新专栏<AI白身境>的第一篇,所谓白身,就是什么都不会,还没有进入角色. 给大家准备了10期左右的文章来完成这个身份的转变,今天是第一篇,关于开发环境的选择(另外,接受粉丝们的意见, ...

  • 【AI白身境】搞计算机视觉必备的OpenCV入门基础

    今天是新专栏<AI白身境>的第五篇. 曾经看过一个视频,树莓派自平衡机器人自动追着小球跑.不经让我脑子蹦出一个有趣的想法,可以做一个识别猫的机器人,让机器人跟着猫跑,有这样一个小东西陪伴喵 ...

  • 【AI白身境】学AI必备的python基础

    今天是新专栏<AI白身境>的第三篇,所谓白身,就是什么都不会,还没有进入角色. 上一篇给大家介绍了如何正确使用Linux,如何利用shell,vim,git这三大神器.相信大家也掌握的差不 ...

  • 【AI白身境】究竟谁是paper之王,全球前10的计算机科学家

    今天是新专栏<AI白身境>的第十二篇,也是最后一篇了,作为最后一篇,我的想法是激励大家见贤思齐. 本来想写篇必须关注的大佬,但是实在是太难写了,人太多也容易引起争议,那就用最权威的资料来, ...

  • 【AI白身境】AI+,都加在哪些应用领域了

    今天是新专栏<AI白身境>的第十一篇,所谓白身,就是什么都不会,还没有进入角色. 要说现在什么最火,那都不用说,肯定是AI.AI已经渗入到了我们生活的方方面面.除了大家熟知的自动驾驶汽车. ...

  • 【AI白身境】一文览尽计算机视觉研究方向

    今天是新专栏<AI白身境>的第10篇,所谓白身,就是什么都不会,还没有进入角色. 相信看了前面的几篇文章后很多朋友已经等不及快速入行了,今天就来介绍一下计算机视觉的各大研究方向及其特点. ...

  • 【AI白身境】入行AI需要什么数学基础:左手矩阵论,右手微积分

    今天是新专栏<AI白身境>的第九篇,所谓白身,就是什么都不会,还没有进入角色. 咱们这个系列接近尾声了,今天来讲一个非常重要的话题,也是很多的小伙伴们关心的问题.要从事AI行业,吃这碗饭, ...