圖像快拼筆記與圖像相關資料收集

 

opencv博客:

這纔是重點,這裏包含了基礎知識,也有圖像快拼的實現

https://www.cnblogs.com/skyfsm/category/1000207.html

 

 

一篇圖像快拼微創新論文——BSURF:

http://www.doc88.com/p-7426381107599.html

我個人的直覺,這就是用了SURF,改了一下數據類型(與之匹配的其他工作可能也有,我不太熟悉,只是感覺是這樣),其他的“堆料”部分可以當做一個基礎知識的瞭解,然後可能就沒有太多內容了。

 

 

 

 

 

 

一篇全景圖像快拼微創新論文https://www.doc88.com/p-0773737529661.html

 

 

傅里葉變換

https://www.matongxue.com/madocs/619.html

一句話總結:週期函數用三角函數來擬合(如果瞭解神經網絡,很容易理解這個概念)。有一些動圖,還不錯。

(這個作者有很多數學方面的博客,如果每一個都像這樣生動形象,那確實沒事可以多看看,不過大多數都是收費的)

不過其實帶動圖的真的很多https://www.cnblogs.com/h2zZhou/p/8405717.html

 

haar小波變換

https://blog.csdn.net/HanFeiKei/article/details/83584963

常用特徵描述子:

https://blog.csdn.net/u012526003/article/details/82156314

hog只是其中一種,sift、surf、orb之類的都算,總之就是描述圖像中的關鍵有用信息的一種(手段?)

feature descriptor

用來提取特徵向量,提取特徵向量是一箇中間步驟,比如,輸送給SVM。

比如:edge detector,檢測邊緣信息。感覺像CNN中filter的概念?可能區別只是,CNN是自動學習的,這裏可能是人主動定義的。

特徵描述子——HOG:

https://www.cnblogs.com/AdaminXie/archive/2018/10/31/9884096.html


HOG:無符號的方向信息,直方圖,9位方向向量(360度,無方向,180度,20度一個方向,9個方向)

8*8的格子,每個點有一個方向和一個幅值,把這64個幅值按方向(可能有一個點被統計到兩個方向)統計到八個方向,就是這個大格子(patch?)的HOG直方圖(見原文的圖),HOG也就好理解了,梯度的直方圖,把梯度按方向統計起來的直方圖。(HOG沒區域重疊吧?CNN可能有!這裏已經是一個點了,沒法再重疊了)

一個8*8統計起來,就是一個“*”了,就是形狀不一樣。

直方圖的歸一化(每個大格可能明暗程度不同,有歸一化操作,需要更大的尺寸,16*16去做,等於四塊?)

(感覺代碼還是沒給全,只計算了梯度和角度,沒有統計過程,還沒產出HOG呢吧?)

這也是一篇HOG,也介紹了描述子的概念

https://baijiahao.baidu.com/s?id=1646997581304332534&wfr=spider&for=pc

 

FLANN

https://blog.csdn.net/andylanzhiyong/article/details/84778889

目前對flann還是偏向黑盒,甚至都不能搭配,在opencv裏,基於orb的用一個flann接口,基於surf的用一個flann接口,並且不能交叉用,記得報錯了。所以需要補一下這方(其實看完,這篇也沒太多東西,也有一個差不多完整的流程,不過最後是畫框,沒做拼接,接口可能比之前的2.x更新,以後可能會參考接口

 

 

基礎知識——ORB特徵提取和FAST角點檢測:

https://blog.csdn.net/maweifei/article/details/62887831

裏邊有很多圖文介紹,比較好理解,關於特徵點,角點的概念,其實深度網絡檢測到的特徵也不過如此,只是方式不一樣,一個是黑盒,通過不同網絡層的層疊組合,一個是人爲定義的角點特徵,而且黑盒的神經網絡組合出來的東西不一定就只是角點和線的特徵,也可能有顏色,神經網絡基礎知識這就不細說了,主要是好奇他說FAST角點檢測“基於機器學習”,是怎麼基於的?提前訓練好的,寫死在算法裏了麼?(ID3決策樹,輸入圓周像素,細節未知)!

一共有好幾步,還包括NMS,響應值的計算和臨近特徵去重。

尺度不變性其實就是建立金字塔,按比例縮小圖像(感覺這些都是開銷啊,做快拼都是躲不開的坑,沒辦法)。

感覺我的工程是不是用FAST會更好?OPENCV有沒有相關接口也要注意。(TODO)

提供了小demo,基於opencv接口,角點檢測的,還有draw keypoint的,可以把自己實際需要處理的圖跑一下看看效果,至少低空航拍看起來,FAST特徵已經足夠多了

TODO說完特徵feature,描述description到底是什麼形式?本文只是順帶提了兩個步驟,也沒說詳細的

ORB比FAST,就是多一個方向?這個方向是指什麼?對於我的實際需求,是否可以不要?FAST是特徵提取,但是特徵描述沒有FAST接口。

 

基礎——RANSAC:

https://www.cnblogs.com/doctor-li/p/11428582.html好像通俗,但好像不準,他裏邊很多名詞定義是他自己定的。

https://zhuanlan.zhihu.com/p/45532306

https://blog.csdn.net/robinhjwy/article/details/79174914這個更通俗點,RANSAC好像是篩選匹配的,去除一些錯誤的匹配。這裏也多少提到一點單應矩陣的信息,但是不算太多,能看到loss公式和映射過程。

不是內點,是局內點,意思好像有點像分佈,同分布,類似深度學習BN、數據集合數據增廣提到的分佈問題,局外點就認爲不是這個分佈吧,當然,只是一個參考。

https://blog.csdn.net/fandq1223/article/details/53175964前者提到的算法詳解

https://zhuanlan.zhihu.com/p/45532306簡潔直觀的幾張圖

 

 

仿射變換相關基礎

仿射變換等等,很多可視化的例子,生動,尤其,這裏邊的圖有個座標系的問題,實際Mat中的圖片,和一般主觀座標系是不一樣的,y是朝下的,另外,他這裏的仿射變換之rotate,和“剛體變換”的正負設定不知道爲什麼不一樣,這一來一回,負負得正,看起來好像和之前分析的結果一樣,其實概念不一樣,注意!https://www.cnblogs.com/shine-lee/p/10950963.html

 

基礎——各種不同變換,有公式。哪個是平面,哪個是二維,哪個是三維,簡單清晰https://blog.csdn.net/qq_29462849/article/details/80728757

 

https://blog.csdn.net/weixin_41484240/article/details/80500903挺全面。有某本書的截圖,變換示意圖,推導什麼的也還可以。《圖像理解 第三版》?可能不是。他還貼出了更多各種變換參考博客

他的參考: http://blog.csdn.net/kinbosong/article/details/64923831 
http://blog.sina.com.cn/s/blog_90cf580001013oc4.html 
http://blog.csdn.net/u014096352/article/details/53526747 
https://zhidao.baidu.com/question/189639914.html

 

 

四種變換:(其實都是矩陣,都是一樣的操作,換了不同的參數限定,就分類成不同變換了)對比,矩陣形式說明

https://blog.csdn.net/aiwoshan0908/article/details/80047529

本例需要做的航拍快拼,最好是不變形,平移變換最好,飛行S路徑的轉彎問題再說~~

處理轉彎兩方案:1,把轉彎的圖也貼進來,2.轉彎處都不要,下一航道從頭拼一張,但是下一次的起點何時判斷?我目前認爲是大概180度,此時新建一張主圖,再迭代下去。

 

 

 

各算法對比:

https://blog.csdn.net/vonzhoufz/article/details/46461849

如果根據這個結論,可能ORB還是比FAST強一點,FAST特徵確實多,就是質量不確定,ORB是在此基礎的強化,暫時先保留ORB,用不用FAST可以用實圖多測一下對比一下。

 

 

opencv旋轉的定義:

https://www.cnblogs.com/jsxyhelu/p/9559935.html

旋轉中點、角度,包含基本demo

 

 

================================================================================================

opencv版本問題:

nonfree和legacy在2.x,如果硬要用3.x或者4.x,需要自己編譯,我目前沒有特殊需求,只用那幾個接口的話,先用2.x也可以,資料和方法備份一下:windows需要下載一個cmake,把專門的contrib編譯進去,相應的,接口位置有點變化,xfeatureas2d。

https://stackoverflow.com/questions/27418668/nonfree-module-is-missing-in-opencv-3-0

https://github.com/opencv/opencv

cmake的安裝https://blog.csdn.net/u011231598/article/details/80338941

vs環境的配置,也包括cmake操作https://blog.csdn.net/u014284965/article/details/95069814

 

 

雜:

opencv單應變換和透射變換等接口說明https://www.cnblogs.com/wqj1212/p/3915859.html

仿射變換和透視變換(有公式)https://blog.csdn.net/flyyufenfei/article/details/80208361

 

放大與縮小適用resize插值類型,與效率對比,如果我拼的圖太大,可能適當考慮壓縮https://blog.csdn.net/weixin_41424481/article/details/96975616

copyto,其實這種copyto方法邊緣還是會留下一些東西,不知道怎麼優化https://www.cnblogs.com/phoenixdsg/p/8420716.html

官網(其實每個函數都有一句話,和自己看頭文件一樣,什麼信息都沒有,不友好)https://docs.opencv.org/

 

(感覺太多太雜,照着弄下來收穫一般,適合當工具書,但是又沒有很好的索引,太長,有空隨便掃兩眼)史上最全的OpenCV入門教程!這篇夠你學習半個月了!萬字長文入門https://www.seoxiehui.cn/article-32318-1.html

GIS相關:

之前收藏夾放了一個基本的經緯度每米多少度和每度多少米的換算公式。

但是根據一些經驗,可能高海拔會產生一定偏差。

(我插一句,就算不考慮海拔,也有其他偏差?地球是圓球嗎?或者至少,地球引力均等嗎?0海拔也不等於圓球吧?)

下邊的目前還沒細看

https://www.cnblogs.com/softfair/p/lat_lon_distance_bearing_new_lat_lon.html

 

 

 

其他知識:

旁向重疊http://www.kepuchina.cn/wiki/ct/201802/t20180213_551963.shtml

一個區域需要採集多條航道,航道間的重疊,就是旁向重疊

條帶、點雲、消冗。

本篇也給出了一種消冗方法——格網化點雲數據。

僅供學習參考,對圖像快拼沒有實質性幫助,反正是一種事後的整體處理,用到很多點雲信息,估計會慢,並且必須是事後,同樣是慢,直接用CC之類的三維建模就可以了。

 

 

三角函數:

https://wenku.baidu.com/view/1d0e337aa5e9856a5612608b.html

矩陣操作:

https://www.cnblogs.com/seniusen/p/9962935.html

逆矩陣,幾何意義:

https://www.cnblogs.com/noluye/p/12262580.html

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章