【杂谈】数学,计算机视觉,图形图像处理
生活随笔
收集整理的這篇文章主要介紹了
【杂谈】数学,计算机视觉,图形图像处理
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、圖形學
圖形學的目標是創(chuàng)造一個真實的三維場景供你在里面漫游,它是所有三維游戲的基礎。它的原理很簡單,在一個空間里放上三角形、箱子、機器人或云,擺好攝像頭,放置光源,然后計算攝像頭應該看到什么,把結(jié)果顯示在電腦屏幕上。不僅是靜態(tài)的成像,動態(tài)的物理過程也可以實現(xiàn),比如霧、碰撞、重力等等。
輻射3截圖
<img src="https://pic3.zhimg.com/2d3ba041625b71b880e51e4a2349f67a_b.jpg" data-rawwidth="1280" data-rawheight="720" class="origin_image zh-lightbox-thumb" width="1280" data-original="https://pic3.zhimg.com/2d3ba041625b71b880e51e4a2349f67a_r.jpg">
1.1 三維漫游
你可以用OpenGL和C++輕松實現(xiàn)一個三維漫游程序(流暢性優(yōu)先),然后不斷往里面添加各種模型(球體、三角面片幾何體、飛機)和屬性(遮擋、抗鋸齒、透明、玻璃、爆炸),最終把你的漫游程序變成一個精美的實時游戲。
三維海戰(zhàn)(圖片來自百度圖片)
<img src="https://pic2.zhimg.com/26a81166108094e18ecc29f03592e5a5_b.jpg" data-rawwidth="1920" data-rawheight="1054" class="origin_image zh-lightbox-thumb" width="1920" data-original="https://pic2.zhimg.com/26a81166108094e18ecc29f03592e5a5_r.jpg">
1.2 光線追蹤器
可以著重研究光線是如何照射和成像的(精美性優(yōu)先),實現(xiàn)各種相機(雙目、魚眼、弱投影),材質(zhì)(金屬、玻璃),光源類型(點光源、方向光源、區(qū)域光源)以及光照模型(BRDF、路徑追蹤),最終你想畫啥都能畫得惟妙惟肖。光線追蹤器的渲染速度很慢,程序要追蹤海量光線的反射和折射分量,比如下方的鉆石圖案需要運行5分鐘才能畫完。雖然不能實時移動和旋轉(zhuǎn)相機,但是渲染的結(jié)果極其逼真。
用C++實現(xiàn)的玻璃材質(zhì)
<img src="https://pic2.zhimg.com/d000de4f3f183120b19ff73258990481_b.jpg" data-rawwidth="600" data-rawheight="400" class="origin_image zh-lightbox-thumb" width="600" data-original="https://pic2.zhimg.com/d000de4f3f183120b19ff73258990481_r.jpg">
用光線追蹤器pov-ray畫的鉆石
<img src="https://pic4.zhimg.com/82b5f5a3959ea09b760551140df76c2b_b.jpg" data-rawwidth="720" data-rawheight="405" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic4.zhimg.com/82b5f5a3959ea09b760551140df76c2b_r.jpg">
1.3 基于GPU的加速渲染
當然,你也可以兼顧渲染質(zhì)量和動畫幀速,這個時候就需要使用更強大的計算資源,可以并行計算的GPU是不二的選擇。看看CUDA的代碼,你可以做一個體渲染模塊來實時觀察CT圖像,賣給醫(yī)學圖像處理公司(也許)能賺大錢。
Volume rendering(圖片來自網(wǎng)絡)
<img src="https://pic1.zhimg.com/004f7ece2b37399f8135eff2fed8377c_b.jpg" data-rawwidth="1280" data-rawheight="1024" class="origin_image zh-lightbox-thumb" width="1280" data-original="https://pic1.zhimg.com/004f7ece2b37399f8135eff2fed8377c_r.jpg">
二、圖像處理
很多圖像應用都需要對圖像進行必要地預處理,如去噪、融合、分割、去霧、去模糊、視頻去抖動等等,這個領域非常廣泛,有大量模型和理論支撐。各位常用的Photoshop和美圖秀秀里面成百上千的濾鏡,可以說每一個背后都有一個數(shù)學模型。下面舉一個例子。
2.1 分割
有一種簡單的分割算法叫Superpixel,它可以把一幅圖像分割成好多個小塊,保證每一個小塊中顏色都差不多。當然,還有其他許多分割算法,Superpixel的好處是簡單,并且很容易推廣到三維空間。
Superpixel分割(圖片來自這里)
<img src="https://pic3.zhimg.com/d2fd61d8d2c95613849fd4253839d872_b.jpg" data-rawwidth="321" data-rawheight="481" class="content_image" width="321">
2.2 醫(yī)學圖像處理
經(jīng)過分割后,圖像被過度分割成了很多小塊,這時就可以用模式識別的算法把屬于同一類的小塊們再合在一起。利用分割+分類的算法,可以把三維CT圖像中的骨頭全自動剔除。
CT圖像去骨的結(jié)果
<img src="https://pic2.zhimg.com/0b94486bb65d41ff2b023c879c183ded_b.jpg" data-rawwidth="720" data-rawheight="238" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic2.zhimg.com/0b94486bb65d41ff2b023c879c183ded_r.jpg">
三、計算機視覺
計算機視覺的目標是理解攝像機拍攝的圖像,它的研究范圍極其廣泛,比如人臉識別、文字識別、目標追蹤等等。在此介紹這一領域幾個重要的方向。
大家都知道圖像是二維的,而真實世界是三維的,上面介紹的圖形學的原理是預先建一個三維場景然后研究攝像頭看到的圖像是什么樣子,計算機視覺的野心則大得多:給你幾幅二維圖像,還原三維場景是什么。
3.1 一幅圖像與測量
拿到一幅圖像,可以獲得平行關系,測量圖像中不同物體的長度比值,在知乎也有不少朋友關心這個問題,感興趣可以戳如何根據(jù)一張 A 樓照 B 樓的照片判斷出這張照片是 A 樓的幾層?以及如何測量一副圖片中物體的實際尺寸?
單目測量(圖片來自文獻Single view metrology)
<img src="https://pic3.zhimg.com/14b929d28065a6eda5a153e30ad1259e_b.jpg" data-rawwidth="506" data-rawheight="309" class="origin_image zh-lightbox-thumb" width="506" data-original="https://pic3.zhimg.com/14b929d28065a6eda5a153e30ad1259e_r.jpg">
3.2 兩幅圖像與雙目視覺
拿到兩幅在不同位置拍攝的同一場景的圖像,就可以恢復出場景,在知乎也有相關討論:使用兩張角度不同的靜態(tài)圖像合成連貫的動畫,難度有多大?
3.3 多幅圖像與三維重建
計算機視覺在這二十年最激動人心的成果之一就是完成了從多幅圖像序列重建三維場景的研究,從數(shù)學上和編程實現(xiàn)上解決了這一從二維重建三維的過程。試想你拿著攝像機在街上繞一圈,像CS地圖那樣的三維游戲場景就實時重建出來是多么激動人心啊。
三維重建更具體的定義是:通過同一場景的多幅圖像,恢復出每一幅圖像拍攝時相機的位置和姿態(tài),以及每一幅圖像上的每一個點在三維空間中的位置。
鄰居家的一系列照片之一
<img src="https://pic2.zhimg.com/06c9398d147a58bd89bbe6f2cbd6a7f9_b.jpg" data-rawwidth="400" data-rawheight="300" class="content_image" width="400">
恢復出的相機位姿和稀疏特征點位置
<img src="https://pic4.zhimg.com/07337176ba8be87338471d0f818cd22b_b.jpg" data-rawwidth="640" data-rawheight="480" class="origin_image zh-lightbox-thumb" width="640" data-original="https://pic4.zhimg.com/07337176ba8be87338471d0f818cd22b_r.jpg">
三維稠密重建(圖片來自文獻Accurate, Dense, and Robust Multiview Stereopsis)
<img src="https://pic1.zhimg.com/0e5c0a34be457dc8f589e62e25b5b078_b.jpg" data-rawwidth="1036" data-rawheight="307" class="origin_image zh-lightbox-thumb" width="1036" data-original="https://pic1.zhimg.com/0e5c0a34be457dc8f589e62e25b5b078_r.jpg">
四、模式識別
模式識別研究輸入和輸出的關系,比如給你一系列病人的體征和誰有病誰沒病,模式識別需要找一個模型建立體征和是否有病之間的函數(shù)關系。在圖像處理、計算機視覺、醫(yī)療、生物、社會學中具有非常廣泛的應用。在The Elements of Statistical Learning的第一章里提出了四個典型問題:
- 垃圾郵件和正常郵件的區(qū)分
- 前列腺癌癥確診
- 數(shù)字手寫字符識別
- DNA序列和性狀的關系
五、綜合應用
當你掌握的知識和技能足夠多了,就可以做一些需要很多環(huán)節(jié)的大項目,隨便舉幾個例子:
6.1 看優(yōu)秀教材
首先,學好高等數(shù)學、概率統(tǒng)計和線性代數(shù)(矩陣論)足矣,其他數(shù)學知識可以在具體學習模型的過程中掌握。
然后,看一些優(yōu)秀的外文教材譯文版,比如:
- 圖形學:OpenGL超級寶典(第5版)、交互式計算機圖形學:基于OpenGL著色器的自頂向下方法(第6版)
- 光線追蹤器:光跟蹤算法技術(shù)(Ray Tracing from the Ground Up)
- 圖像處理:數(shù)字圖像處理(第3版, 岡薩雷斯著),圖像處理、分析與機器視覺(第3版)
- 計算機視覺:計算機視覺中的多視圖幾何(Multiple View Geometry in Computer Vision),計算機視覺:算法與應用(Computer Vision: Algorithms and Applications)
- 模式識別與機器視覺:模式分類(第二版),模式識別(第四版),The Elements of Statistical Learning, Pattern Recognition and Machine Learning
6.3 看代碼
OpenGL、OpenCV、CUDA都有相應的文檔和代碼實例,也可以在網(wǎng)上找附有代碼的教材,研究代碼,模仿先人的代碼。首先練習基本的函數(shù),然后依照興趣實現(xiàn)幾個非常簡單的應用。自己找一個問題,實現(xiàn)一個最簡單的解決方案,然后不斷精進代碼、嘗試新的模型,最后就精通了這個領域。
作者:王小龍
鏈接:http://m.zhihu.com/question/24752071/answer/28860514
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
轉(zhuǎn)載于:https://www.cnblogs.com/huty/p/8518787.html
總結(jié)
以上是生活随笔為你收集整理的【杂谈】数学,计算机视觉,图形图像处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查看oracle数据库的连接数以及用户
- 下一篇: 数组01