200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > AI笔记: 计算机视觉概述

AI笔记: 计算机视觉概述

时间:2019-04-21 22:36:36

相关推荐

AI笔记: 计算机视觉概述

关于人工智能

人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。计算机视觉是人工智能的一个分支,它研究如何使人工系统从图像或多维数据中“感知”的科学。

人类技术发展历史

人类历史就是一部技术发展的历史,经历了这么几个阶段:1万年前人类开始种植粮食,进入农业阶段十七世纪后期的工业革命,大规模的机器生产代替手工作坊,解放了人类的双手和双脚20世纪7/80年代开始的信息和人工智能时代, 解放了人类的大脑人类智能体现在人类对周围环境的感知上,75%都是出于感知我们想要机器代替人类来感知外部世界

人类视觉

视觉是自然智能不可思议的结晶猕猴大脑皮层中视觉部分占据大约50%人类大脑皮层中视觉部分所占最大, 大约55%人类视觉是由多块神经区域组成的 通过眼睛感受外接物体反射的光线进一步通过视觉传导纤维到达脑后视觉处理中枢视觉处理中枢又分为v1~v5等多个区域 人类采用神经网络对视觉信息进行深层次处理

计算机视觉

计算机视觉:让计算机看懂图像和视频在图像识别中我们会关注以下几个信息,我们也希望计算机可以和我们一样识别 目标是什么目标位置目标在做什么目标之间的关系

计算机视觉/深度学习发展史

起源:20世纪50年代统计模式识别,二维图像分析诞生:1974年MIT科学家Minsky带其学生David Marr暑期课题进行研究,1981人工智能计算机视觉专辑,Marr视觉计算理论得到迅速发展发展: 80年代以后 计算能力迅速增长, 视觉计算成本极大降低以Marr理论为基础的视觉理论广泛研究视觉技术得到迅速发展,在视频监控、工业分析等领域得到广泛应用 2000年后,特征提取和基于学习的视觉得到迅速发展,Hinton提出深度学习,微软使用深度学习再语音方面取得突破发展后,深度学习在视觉个应用领域取得突破: , 在ImageNet上的识别准确率首次超越人类, Tesla创造了56亿公里自动驾驶路测数据, iPhonX宣布引入Face ID高精度人脸识别技术,随后,华为也在手机实现了该技术, OpenAI 2:1战胜人类DOTA2高手队… 人类可能在很多方面完全无法和计算机匹敌

计算机视觉应用趋势

服务机器人安防监控自动驾驶智能穿戴无人机快递…

第一个视觉系统程序

1 )C++版本

环境:

win10Visual Studio 或更高版本(社区版免费)OpenCV 3.x版本具体配置方式:/article/dca1fa6f13bd55f1a44052b9.html

#include "opencv2/opencv.hpp"using namespace cv;int main(void) {char *fn = "D:\\lena.jpg";Mat image = imread(fn);imshow("Hello, world!", image);waitKey(0); // 不加这句话,窗口会闪退}

2 )python版本

import cv2img = cv2.imread(r'D:\lena.jpg') # 这里通过r不用进行转义了cv2.imshow('Hello, world!', img)cv2.waitKey()cv2.destroyAllWindows()

视觉系统的构成要素

照明设备:光源成像设备:相机处理设备:主机算法软件:视觉处理系统

程序扩展

1 )图像改变大小

C++函数:void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR)Python函数:dst = cv.resize( src, dsize[, dst[, fx[, fy[, interpolation]]]] )

2 )图像平滑

高斯平滑: 会把原始图像模糊化, 可以去除原始图片噪声Opencv中提供一个函数对原始图像做高斯平滑滤波 C++:void GaussianBlur( const Mat& src, Mat& dst, Size ksize,double sigmaX, double sigmaY=0,int borderType=BORDER_DEFAULT );参数1:原始图像参数2:滤波后的图像参数3:采用的高斯滤波器模板的大小,通常取值33或55参数4和5:代表x和y方向高斯函数宽度的信息 Python:dst = cv.GaussianBlur(src,ksize,sigmaX[,dst[,sigmaY[,borderType]]])

3 )图像颜色空间转换和阈值化

void cvtColor(InputArray src, OutputArray dst, int code,int dstCn=0);void threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type);

4 )全部代码参考

C++版本:

#include "opencv2/opencv.hpp"using namespace cv;int main() {char * fn = "D:\\lena.jpg";Mat image = imread(fn);Mat imageGauss, image1, image2, gray, gray1, hsv, hsvChannels[3];// 对图像做高斯平滑处理并显示GaussianBlur(image, imageGauss, size(5, 5), 0);imshow("source image", image);imshow("Gaussian filtered image", imageGauss);waitKey();// 对图像使用resize和pyrDown缩小一半再一半, 显示图像resize(image, image1, Size(image.cols/2, image.rows/2)); // image1的大小就是原始图像image宽和高的一半pyrDown(image1, image2); // 另一个opencv的函数可以把image1图像缩小1半, 变为image2的图像(原始图像的1/4)// 彩色转灰度并作阈值化显示// cvtColor函数把原始图像转换为另外一种颜色空间的图像// threshold函数把原始图像通过指定的阈值转换成目标的黑白图像,大于阈值则白,小于则黑cvtColor(image, gray, COLOR_BGR2GRAY); // 将原始图像image转化为灰度图像, COLOR_BGR2GRAY 表示BGR三通道的图像向灰度图像的转换threshold(gray, gray1, 120, oxff, THRESH_BINARY); // 通过threshold完成了从gray到二值化图像gray1的转换,大于阈值120的所有的像素值都设置为16进制的ff白色imshow("gray", gray); // 显示灰度图像imshow("threshold image", gray1); // 显示二值化图像waitKey();}

python版本

import cv2 as cvfilename = r'D:\lena.jpg'img = cv.imread(filename)imgGauss = cv.GaussianBlur(img, (5,5), 0) # 高斯模糊 使用了5*5大小的卷积模板image1 = cv.resize(img, (int(img.shape[1]/2), int(img.shape[0]/2)))image2 = cv.pyrDown(image1) # 颜色转化gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY) # opencv缺省的彩色图像颜色排列是BGR模式与RGB模式略有区别_, gray1 = cv.threshold(gray, 120, 0xff, cv.THRESH_BINARY) # 阈值化cv.imshow("source image", img)cv.imshow("Gaussian filtered image", imgGauss)cv.imshow("half size", image1)cv.imshow("quarter size", image2)cv.imshow("gray", gray)cv.imshow("threshold image", gray1)cv.waitKey()cv.destroyAllWindows()

视觉计算理论架构

目的:通过视觉系统,重建三维物体的形状和位置理论的三个层次: 初始略图(2维):过零点(zero-crossing)、短线段、端点等基元特征2.5维:对物体形状的一些粗略描述3维:对物体的三维描述 计算机视觉的早期图像表示模型是Part-based, 这样就可以通过part这种组合式的方法表示物体。但很多自然场景的物体没有这么强的结构。80年代,特征检测和机器学习也开始组合应用,但对物体结构有严格限制(指定对象类型)。只能在少数场合取得比较好的效果。2000-,局部特征描述得到迅速发展,如:SIFT/HOG特征描述具有通用性,结合SVM等机器学习方法, 但效果有限。后,深度学习方法兴起。特征->自动提取;层数->很深eg.MS的ResNet 152层

计算机视觉参考书

-《数字图像处理 基础篇》2002

-《数字图像处理(第三版)》

-《OpenCV2计算机视觉编程手册》

-《计算机视觉-算法与应用》

-《机器视觉》

-《计算机视觉教程(第2版)》

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。