機器/視覺/六十講(課程一)

第一章 圖像處理

01、數(shù)字圖像概述

像素是數(shù)字圖像的基本元素。像素是在模擬圖像數(shù)字化時對連續(xù)空間離散化得到的。

02、 顏色空間

RGB顏色最大的好處是適合顯示系統(tǒng),直觀且容易理解,但是有如下不足:
1.RGB利用3個顏色分量的線性組合來表示顏色,因此不同的色彩難以用精確的數(shù)值表示,定量分析困難
2.在RGB顏色系統(tǒng)中,3個顏色分量之間是高度相關(guān)的,即只要亮度改變,三個分量都會相應(yīng)改變,如果一個顏色的某個分量發(fā)生了改變,那么這顏色也可能要發(fā)生改變
3.RGB顏色空間是一種均勻性較差的顏色空間

03、視覺傳感器

TOF、雙目、結(jié)構(gòu)光


僅供參考,并不準確

04、深度圖像

深度圖像也被稱為距離影像,是將從圖像采集器到場景中各點的距離(深度)作為像素值的圖像,它直接反映了景物可見的幾何形狀,深度圖像經(jīng)過坐標轉(zhuǎn)化可以計算出點云數(shù)據(jù)。

在PCL [(Point Cloud Library)是在吸收了前人點云相關(guān)研究基礎(chǔ)上建立起來的大型跨平臺開源C++編程庫] 中深度圖像和點云圖像區(qū)別在于,其鄰近的檢索方式不同,并且可以相互轉(zhuǎn)換。

05、圖像灰度化

我們?nèi)粘L幚韴D片時候很多時候是把圖像灰度化,因為灰度圖像是單通道的,RGB圖像是三通道的,計算量少。


加權(quán)平均值法灰度轉(zhuǎn)換公式?;叶绒D(zhuǎn)換還有兩種最高值、平均值轉(zhuǎn)換法,最常見的還是加權(quán),跟進人眼對于RGB的敏感程度推算得來

06、直方圖

直方圖又稱質(zhì)量分布圖,是一種統(tǒng)計報告圖,一般用一些縱向條紋表示數(shù)據(jù)分布的情況。

07、直方圖均衡化

就是通過一個數(shù)學(xué)公式,增強圖像對比度,便于把特征區(qū)分開。

09、邊緣檢測

邊緣檢測是檢測灰度變換較大的區(qū)域,常見的算法如Sobel算子,或叫sobel濾波,它的原理是使用3*3矩陣對原圖進行卷積,計算出兩個方向的灰度差分(偏導(dǎo));另外還有Canny邊緣檢測算子

10、圖像卷積

卷積在圖像中最大的應(yīng)用是平滑化(應(yīng)該是平滑吧,銳化主要是高通濾波和微分濾波法,銳化是使得灰度變換大的區(qū)域更清晰,即圖像高頻部分,這部分要多保留) 和 邊緣檢測(常用于計算圖像邊緣或者說梯度值)。
色彩劇烈變化的地方,就是圖像的高頻區(qū)域;色彩穩(wěn)定平滑的地方,就是低頻區(qū)域

11、圖像去噪

消除圖像中的噪聲成分也叫做圖像的平滑化或濾波操作。
高斯噪聲:是指它的概率密度函數(shù)符合高斯分布(正態(tài)分布)的一類噪聲。
椒鹽噪聲:也稱脈沖噪聲,它是一種隨機出現(xiàn)的白點或者黑點。
信噪比(SNR):信號與噪聲的比值。

高斯濾波:一種線性平滑濾波,可以消除高斯噪聲。高斯濾波就是對整幅圖像進行加權(quán)平均的過程,每一個像素點的值都是像素本身和鄰域內(nèi)其他像素加權(quán)獲得。
另外還有 均值濾波;鄰域平均法;中值濾波;形態(tài)學(xué)噪聲濾波;小波去噪;

12、圖像縮放

最鄰近圖像插值算法;雙線性插值算法;



第二章 相機標定

13、相機模型 和 標定

相機的模型即為小孔成像

14、內(nèi)外參定義

相機中有四個坐標系:世界坐標系;相機坐標系;圖像坐標系;像素坐標系;

相機坐標之間的轉(zhuǎn)換就是 RT矩陣變換,即剛體的旋轉(zhuǎn)平移。


相機的標定就是 標定相機的 內(nèi)參 和 外參

15、標定方法的概述

通常使用棋盤格作為相機標定的工具,因為角點就是很好的特征。
大致步驟,打印一張A4紙的棋盤格(黑白間距需要已知,用于外參標定),并貼在一個平板上,針對棋盤格拍攝若干照片(10-20張),在圖片中檢測特征點(Harris特征),利用 解析解 估算方法 計算出5個內(nèi)部參數(shù),以及6個外部參數(shù),根據(jù)極大似然估計策略,設(shè)計優(yōu)化目標并實現(xiàn)參數(shù)的refinement (改善;也就是 張正友標定法)

機器人一般用:xyz-4點標定法(TCP以不同的姿態(tài)移動到參考點的位置)
2D視覺常用標定板:實心圓陣列圖案;國際象棋盤圖案

17、張正友標定方法

張正友標定法
整理后得出
計算外參
計算內(nèi)參

內(nèi)參外參標定,技術(shù)較為復(fù)雜

18、手眼標定



第三章 圖形檢測

19、直線檢測

說到圖形檢測,必提 Hough 變換(霍夫變換),是一種特征提取技術(shù),用于隔離圖像中 特定形狀的技術(shù)。比如直線檢測,就可以通過霍夫變換。


如圖,左邊是像素坐標,那么可得知 y=kx+b即為直線,xy為變量,kb為常量;那么我可以這樣,當(dāng)xy為常量,kb為變量時,所組成的圖如右邊,當(dāng)這個k-b空間中可發(fā)現(xiàn)直線相交一點,就證明這個交點就是我們要的直線

圓形檢測,也是認為圖像中一個非零像素點都有可能是 一個潛在的圓上的點,跟霍夫變換一樣,也是通過投票,生產(chǎn)累計坐標平面,設(shè)置一個累計權(quán)重來定位圓。

矩形檢測,利用直線檢測的功能,將檢測的直線段存儲在一個列表里;從列表中提取出一條直線段,檢測與它相連的直線;檢測是否有四條直線段,依次垂直閉合相連。



第四章 二維檢測

22、二維碼作用和種類概述

一維碼和二維碼
矩陣式二維碼

23、二維碼檢測

第一步是圖像預(yù)處理。濾波一般高斯濾波用的多

預(yù)處理 之后,就開始 進行 四邊形檢測,步驟如下:

  • 邊緣檢測。常見的有 Canny邊緣檢測算子;Sobel算子。
  • 過濾四邊形或者較小的四邊形。
  • 利用角度對四邊形 進一步篩選。
  • 在RGB圖中標示出檢測到的四邊形(就是類似halcon里面的一些過程)

24、圖像仿射原理

在攝像頭得到的圖像中,比如上方二維碼,四邊形會有旋轉(zhuǎn)畸變,我們需要判斷二維碼是左偏還是右偏了,這就需要仿射變換將它扭正。

25、漢明碼

漢明碼的設(shè)計初衷是作為 信息校驗碼存在的,就是防止數(shù)據(jù)出錯。

26、二維碼的識別

就是這么簡單

27、二維碼測距

前面的工作完成后,再解算一下二維碼在相機下的位姿并轉(zhuǎn)換至機器人坐標系,得到二維碼相對于機器人的坐標系,即兩個齊次變換矩陣
圖示

二維碼坐標系相對于機器人相機坐標系的位置,我們可以通過PnP來判定。再通過齊次變換矩陣連乘的方式,就可以獲得二維碼坐標在機器人坐標系下的位置。

28、二維碼的應(yīng)用

前身是一維碼,應(yīng)用很多了。普通的二維碼,很多就是一個網(wǎng)頁鏈接;對于付款二維碼,就比較復(fù)雜了,需要有個秘鑰的校驗;也可以作為slam的路標,比如貼在玻璃上;



第五章 LK光流

29、光流法概述

光流(optical flow) 是空間運動物體在觀察平面上的 像素運動的瞬時速度。

光流法是利用圖像序列中 像素在時域上的變化,以及相鄰幀之間的 相關(guān)性來找到 上一幀和當(dāng)前幀之間存在的對應(yīng)關(guān)系,從而計算出相鄰幀之間物體運動信息的一種方法。

該圖展示三維空間物體的運動在二維成像平面上的投影。得到的是一個描述位置變化的二維矢量,但在運動間隔極小的情況下,我們通常視其為一個描述該點瞬時速度的二維矢量u=(u,v),稱為光流矢量

30、光流方程

光流方程有兩個基本假設(shè)條件:

  1. 亮度恒定不變; 2. 時間連續(xù)或運動是小運動;

31、盧卡斯卡內(nèi)德方法

LK光流算法的原理和數(shù)學(xué)推導(dǎo)方法

32、Pyramid LK(金字塔光流法)

常規(guī)LK算法的約束條件是小速度、亮度不變,圖像區(qū)域一致性較強,但這種情況并不容易得到滿足。如果以上約束條件沒有滿足,最終算出來的結(jié)果誤差較大,那么金字塔光流法就是來解決這個問題的。

33、輔助人臉識別的LK光流法實例

大致方法是先獲得實時人臉,再通過LK光流算法計算人臉的中心位置,并使用seetaface開源人臉識別庫進行人臉位置校正,然后根據(jù)人臉位置相對于圖像中心位置,來計算機器人頭部跟隨人運動的方向。

34、其他追蹤方法介紹

傳統(tǒng)追蹤算法:LK;卡爾曼濾波以及各種相關(guān)濾波;CSK相關(guān)濾波;



第六章、傳感器融合

35、傳感器融合概述

比如里程計、比如 IMU(慣性測量單元)

卡爾曼濾波:是一種線性系統(tǒng) 狀態(tài)方程,通過系統(tǒng)輸入輸出觀測數(shù)據(jù),對系統(tǒng)狀態(tài)進行最優(yōu)估計的算法。由于觀測數(shù)據(jù)中包含系統(tǒng)中的噪聲和干擾的影響,所以最優(yōu)估計也可以看成是濾波過程。

粒子濾波:通過尋找一組在狀態(tài)空間中傳播的隨機樣本 來近似的表述概率密度函數(shù),用樣板均值代替積分算法,進而獲得系統(tǒng)狀態(tài)的最小方差估計的過程,這些樣本被形象稱為粒子,故稱為粒子濾波。

36、卡爾曼濾波(一)

以下暫略,都是關(guān)聯(lián)視覺slam技術(shù) (simultaneous localization and mapping 即時定位與地圖構(gòu)建) 這塊的。



第七章 視覺里程計

47、視覺里程計概述

Visual Odometry 視覺里程計:通過分析處理下相關(guān)圖像序列來確定機器人的位置和姿態(tài)。 其目標是跟進相機拍攝的圖像來 估算相機運動的特征。通常來說,可以認為是VSLAM(視覺slam)的前端。
視覺里程計主要有兩個方向,一是特征點法:能夠在噪聲較大,相機運動較快時運動,但缺點是 地圖是稀疏特征點; 二是 直接法,直接法不需要計算特征點,能夠建立稠密地圖,但是存在計算量大,魯棒性不好的缺點。

48、特征點

特征點:圖像中具有鮮明特性的部分 并能夠有效反應(yīng) 圖像本質(zhì)特征,能夠標識圖像中目標物體的點。
特征點要具備 可重復(fù)性、可區(qū)別性、高效性。
特征點的信息包括: 關(guān)鍵點-位置、大小、方向、評分等;描述性-特征點周圍的圖像信息。
常見的特征點:SIFTSURF、ORB

。。。。。

56、構(gòu)造一個簡單的視覺里程計

設(shè)計VO

57、直接法概述

盡管特征點法在視覺里程計中 占主流地位,不少研究者任務(wù)它有以下缺點:

  • 關(guān)鍵點的提取與描述子的計算 非常耗時。實踐中,SIFT在CPU中是無法實時計算的,而ORB也需要20毫秒的計算。如果整個SLAM以 30毫秒/幀 的速度運行,那么一大半的時間都花在特征點計算上。
  • 使用特征點時,忽略了特征點以外的所有信息。一張圖有幾十萬個像素,而特征點通常只有幾百個,會丟失大量信息。
  • 相機有時候會運動到特征點缺失的地方,往往這些地方?jīng)]有明顯的紋理特征,比如大白墻,造成我們可能找不到足夠的匹配點來計算相機運動。

解決 方法是 采用多種方法根據(jù)使用場景 搭配使用。

58、光流法OV

直接法是從光流演變而來的,它們非常相似,具有相同的假設(shè)條件。光流描述了像素在圖像中的運動,而直接法則附帶了一個相機運動模型。
計算部分像素運動,稱之為 稀疏光流;計算所有像素運動稱為 稠密光流。稀疏光流主要以 盧卡斯卡內(nèi) 為代表,可以在SLAM中用于跟蹤特征點位置。

59、直接法

最常用的獲取特征點方式就是直接法

60、VSLAM簡介

slam主要解決“定位”與“地圖構(gòu)建”這兩個問題。也就是說一邊要估算傳感器的位置,一邊要建立周圍環(huán)境的模型。
怎么解決呢?這就需要用到傳感器。傳感器能以一定的形式觀察外部世界,不過,不同傳感器的觀察方式是不同的。當(dāng)用相機作為傳感器時,我們要做的,就是根據(jù)一張張連續(xù)的圖片(或視頻,一個意思),從中推斷相機的運動,以及周圍環(huán)境的情況。

常見的開源slam算法

大體上來說,SLAM發(fā)展有兩大趨勢:

  • 往輕量級、小型化發(fā)展,讓其能嵌入到手機等小型化設(shè)備里,然后考慮以它為底層的功能應(yīng)用。畢竟,大部分的應(yīng)用都是實現(xiàn)機器人或VR、AR的功能,比如運動導(dǎo)航娛樂等。
  • 利用高性能計算設(shè)備,實現(xiàn)高精度三維重建、場景理解等功能。

視覺慣導(dǎo)-融合SLAM方案。實際使用的時候,視覺結(jié)合慣導(dǎo)(又叫慣性傳感器,主要是檢測和測量加速度、傾斜、沖擊、振動、旋轉(zhuǎn)和多自由度(DoF)運動,是解決導(dǎo)航、定向和運動載體控制的重要部件)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容