图像快拼笔记与图像相关资料收集

 

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

 

 

 

 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
应用背景为变电站电力巡检,基于YOLO v4算法模型对常见电力巡检目标进行检测,并充分利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务,并对系统性能做出一定的优化。.zip深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值