计算机视觉引论
第一章:計算機視覺引論
目標:
1、掌握計算機視覺的基本原理和實際系統構成
2、掌握底層圖像處理:圖像預處理,邊緣檢測等常用處理方法
3、進一步處理:視覺特征提取、圖像分割、運動估計等視覺算法
4、2.5維視覺層次:掌握視覺成像集合、位姿估計、相機標定等方法
5、三維視覺層次:掌握立體視覺、全景拼接等原理及實現
6、通過為項目實例學習上述方法綜合運用
一、什么是計算機視覺?
讓計算機看懂圖像和視頻
人類采用神經網絡對視覺進行深層次的分析,和深度學習密切結合;
1、計算機視覺發展史
起源:20世紀50年代統計模式識別,二維圖像分析
誕生:1974年Misky在David Marr暑期,1981年人工智能“計算機視覺”專輯,Marr視覺計算理論得到發展
發展:80年代以后,(1)隨著計算能力的迅速增長,視覺計算成本極大降低;(2)以Marr理論為基礎的視覺理論廣泛研究
視覺技術得到迅速發展,并在視頻監控,工業分析等領域得到廣泛應用
2、深度學習發展
2000年 特征提取和機遇學習的視覺得到迅速發展
2006年 Hinton提出深度學習
2010年 微軟使用深度學習在語音方面取得突破進展
2015年 深度學習在視覺個應用領域取得突破
ImageNet、Tesla、Apple Face ID、OpenAI
3、計算機視覺無處不在
無人機快遞、自動駕駛、智能機器人、安防監控、智能穿戴
二、視覺系統構成要素
照明設備:光源
成像設備:相機
處理設備:主機
算法軟件:視覺處理系統
三、讓程序做點事
“Hello world”
''' 創建第一個視覺程序“Hello,world!”,顯示Lena圖片。 ''' import cv2img = cv2.imread(r'G:\images\lena.jpg') cv2.imshow('Hello, world', img)1、高斯平滑
dst = cv.GaussianBlur(src,ksize,sigmaX[,dst[,sigmaY[,borderType]]])2、改變圖像大小
dst = cv.resize(src,dsize[,dst[,fx[,fy[,interpolation]]]])3、轉換顏色空間并閾值化
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY) _ ,gray1 = cv.threshold(gray, 120, 0xff, cv.THRESH_BINARY)整體代碼
import cv2 as cvfilename = r'G:\images\lena.jpg' img = cv.imread(filename)imgGauss = cv.GaussianBlur(img, (5, 5), 0) #原始 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) #變為灰度圖像 _ ,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("quatrer size", image2) cv.imshow("gray", gray) cv.imshow("threshold image", gray1)cv.waitKey() cv.destroyAllWindows()四、體系結構
1、視覺計算理論架構
Marr視覺計算理論
目的:通過視覺系統,重建三維物體的形狀和位置
初始略圖(二維):過零點短線段,端點等基元特征
2.5維:對物體形狀的一下粗略描述
3維:對物體的三維描述
2、計算機視覺研究發展
80 年代,特征檢測和機器學習同時也開始組合應用,但對物體結構有嚴格限制(指定對象類型)
2000 - 2012 年,局部特征描述得到迅速發展,如SIFT/HOG
特征描述具有通用性,結合SVM等機器學習方法,但效果有限
從2012年后,深度學習方法興起。特征->自動提取;層數->很深
3、架構
視覺的基本概念:照明,顏色,圖像采集過程
基本圖像處理方法:濾波,邊緣,灰度直方圖,直線檢測
圖像閾值分割,區域生長,圖像描述
關鍵點及特征檢測
背景建模及運動估計
微項目示例
視覺成像模型與視覺幾何基礎,相機標定
圖像拼接
立體視覺
4、參考書
谷口慶治編,朱虹等譯. 數字圖像處理 基礎篇,2002
岡薩雷斯著,阮秋琦譯,數字圖像處理(第3版),2017
R. Laganiere 著,張靜譯,OpenCV2計算機視覺編程手冊,科學出版社,2013
R. Szeliski著,艾海舟等譯,計算機視覺——算法與應用,清華大學出版社,2012
B. Horn 著,王亮等譯,機器視覺,中國青年出版社,2014
章毓晉,計算機視覺教程(第2版),人民郵電出版社,2017
五、環境(Python)
Win10
1.Anaconda 5.0以上版本
2.PyCharm 2018.x以上版本
3.OpenCV 3.x以上版本
Anaconda安裝可參考 :https://blog.csdn.net/ITLearnHall/article/details/81708148
PyCharm安裝可參考 :https://www.cnblogs.com/dcpeng/p/9031405.html
PyCharm下OpenCV安裝可參考:https://blog.csdn.net/qq_38328871/article/details/84842381
總結
- 上一篇: oracle创建只读视图语句,使用语句创
- 下一篇: FreeRTOS 教程指南 学习笔记 第