Image Processing & Machine Vision 2022 图像处理与机器视觉

本系列为2022年同济大学电信学院控制系图像处理与机器视觉课程笔记。笔记已经全部更新完成,欢迎大家批评指正!

Lecturer: Rui Fan (@Ranger)

Email: rfan@tongji.edu.cn

Teaching Support Assistants: Yi Feng & Shuai Su

author:Yi Yang & Zhengpu Wang

textbook:Computer Stereo Vision for Autonomous Driving

课程大纲解读:

最核心的三门课,

  • Perspective Transformation
  • Camera Calibration
  • Epipolar Geometry

比较独立的课

  • Optical Flow
  • Stereo Matching

目前CV顶会深度学习内容占95%以上,所以讲了

  • Deep Learning Applications

比较传统、基础的一些课

  • Image Filtering
  • Image Pyramid
  • Edge,Corner,Line,BLod, & Keypoint Features

没讲到的一些内容

  • Fourier transform
  • Wavelet transform
  • Superpixel clustering 超像素聚类(一些区域的像素相近,所以这一块看成超像素)
  • Image/video compression
  • Image restoration
  • Surface normal estimation
  • Photometric stereo

笔记采用wolai平台完成,排版漂亮,打公式也很方便。如果notion用不习惯,可以试试这个。

我来 wolai - 不仅仅是未来的云端协作平台与个人笔记

ps:wolai可以正常显示的公式在其它平台好像有点问题,逐个修改工作量太大了。也尝试过各种办法,为了保证良好的阅读体验,建议大家去wolai平台阅读。

欢迎大家批评指正!

课程笔记主页

IPMV-2022

Lecture2 Human Visual Perception ,Cameras & Images

第二章主要介绍人类视力的原理,一些研究会用的相机(如鱼眼相机、线性扫描相机、事件相机等),以及图像和色彩的相关知识。

Lecture2_Human_Visual_Perception,Cameras_&_Images (wolai.com)

Lecture3 Perspective Transformation

第三章先铺垫了一些线性代数预备知识,如向量、范数、反对称矩阵、坐标变换矩阵等。然后介绍了成像几何的四个坐标系及坐标系之间的变换的知识。学完这一章,世界坐标系、相机坐标系、图像坐标系以及像素坐标系就可以相互转换了。

Lecture3_Perspective_Transformation (wolai.com)

或者看这一篇:水云身:Lecture3_Perspective_Transformation

Lecture4 Camera Calibration

第四章首先复习了前面坐标变换的内容,然后讲解了齐次坐标系和齐次变换,以及镜头畸变矫正和相机标定的原理和步骤。

Lecture4_Camera_Calibration (wolai.com)

Lecture5 Epipolar Geometry (I) 对极几何

先介绍一下Ran.F 组织的会议/竞赛——AVVision.

The Autonomous Vehicle Vision (AVVision) Community aims to bring together industry professionals and academics to brainstorm and exchange ideas on the advancement of visual environment perception for autonomous driving.

第五章和第六章难度稍大,但是也极其重要!主要讲了奇异值分解和对极几何模型,其中重点介绍3个矩阵——Essential matrix , Fundamental matrix ,homography matrix。这部分数学推导居多,建议手推一遍。

Lecture5_Epipolar_Geometry_(I)_对极几何 (wolai.com)

Lecture6 Epipolar Geometry (II) 对极几何

第六章是对极几何的第二部分,前面3、4、5章的知识都作为预备知识。这里引入了三角化(三维重建会用到),然后介绍Stereopsis 立体视觉以及双目相机的校正(重要)。

Lecture6_Epipolar_Geometry_(II)_对极几何 (wolai.com)

Lecture7 Image Filtering

第七章开始介绍传统的图像处理内容。介绍了梯度、卷积等知识,以及常用的卷积核如拉普拉斯核、高斯核等。图像处理操作如锐化、模糊、高斯滤波、双边滤波、中值滤波等,最后介绍了卷积神经网络。

图像处理无非就是用一些卷积核把图像卷来卷去。

Lecture7_Image_Filtering (wolai.com)

Lecture8 Image Pyramid 图像金字塔

第八章以图像金字塔为中心,讲解了降采样(和池化)、上采样、等等操作,内容相对简单。在图像处理中,一般会先降采样把图片大小降下来再处理,加快处理速度。上采样会产生一个“模糊化”的图像,因此我们需要超分辨率算法(super-resolution algorithm)去得到高质量图像。其中GAN网络是最常用的技术,Lecture14 IPMV with Deep Learning会讲。

Lecture8_Image_Pyramid_图像金字塔 (wolai.com)

Lecture9 Edges & Lines

第9章主要介绍边缘检测和线检测。其中边缘检测介绍了检测算子Sobel,Prewitt, Scharr,Canny等,线检测介绍了霍夫变换算法和应用,常用于车道线检测,对自动驾驶感兴趣的同学不要错过哦~

Lecture9_Edges_&_Lines (wolai.com)

Lecture10 Interest Points

第10章又来到一个相对硬核的内容,内容丰富,可以当成2章来看。本章讲了角点检测,斑点检测, 关键点检测,最后重点讲了SIFT的原理。本章用途十分广泛。

兴趣点检测是计算机视觉系统中用于提取特定特征和推断图像内容的一种方法。这种技术经常用于图像动作感应、图像配准、视频跟踪、图像拼接、全景图像拼接、三维重建等。

Lecture10_Interest_Points (wolai.com)

Lecture11 Stereo Matching

第11章是本课程的核心内容之一,使用双目相机构建深度图。视差,简单来说就是两张图片的像素亮度差(AD绝对差或SD平方差)。得到视差图的4个步骤——代价计算,视差计算,视差优化以及视差改善。视差匹配算法有局部算法和全局算法,局部算法有SAD,SSD,NCC等,全局算法一般采用马尔科夫链作为几何模型。典型算法是半全局算法SGM,Semi-global matching,OpenCV里面称为SGBM.做视差匹配,重点在于速度和精度的平衡。

这一个Lecture的内容十分的丰富,可以当作两个Lecture来看。
(怎么还不学?快学!!)

Lecture11_Stereo_Matching (wolai.com)

Lecture12 Motion 光流

第12章介绍光流,CV方面比较前沿的研究。介绍了光流的原理,孔径问题以及FlowNet等。

Lecture12_Motion_光流 (wolai.com)

Lecture13 SfMand SLAM

第13章介绍了现在很火的SLAM,Simultaneous localization and mapping 即时定位与地图构建。SLAM是一个机器人应用,通常用于自动驾驶汽车、移动机器人和无人机,获取它们的位置并构建一个全局环境地图。另一部分是Structure from motion (SfM),比如可以用一堆游客的照片来重建罗马。最后带了一点自运动估计。

Sfm : 侧重struction
SLAM : 侧重location ,评估真实轨迹和估计轨迹的相似度

Lecture13_Sfm_and_SLAM (wolai.com)

阅读材料有

  • Structure from Motion (CVPR’16):Structure from Motion (CVPR’16)
  • Review of visual odometry: Review of visual odometry

Lecture14 IPMV with Deep Learning

第14章讲了机器学习在CV方面的应用,当前CV的研究几乎离不开深度学习。讲了4个主要的应用,图像分类、目标检测、语义分割、GAN网络。

比如现在有一个训练好的分类网,怎么做物体检测?让你去做,你有什么思路?

滑动窗口,比如用一个244x244的窗口去滑动,送到分类网里面。好的结果的位置就是物体的框。没毛病,是不是?事实上也是这么做的。

Lecture14_IPMV_with_Deep_Learning (wolai.com)

Image classfication by 李宏毅-机器学习

Object detection for autonomous driving

Semantic Segentation

GAN

本章内容在当前不管是学术还是工业都很火,相信同学也很感兴趣。这里列一下阅读材料。

Image classification

  • Image classification tutorial:

    • https://www.cs.cornell.edu/courses/cs5670/2019sp/lectures/lec20_image_classification.pdf
  • Vision Transformer:

    • https://arxiv.org/pdf/2010.11929.pdf
  • Image classification with MATLAB:

    • https://www.mathworks.com/products/image.html
  • Image classification with PyTorch:

    • https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html
  • ImageNet:

    • https://www.image-net.org/

Object Detection

  • PyTorch tutorial:

    • https://pytorch.org/tutorials/intermediate/torchvision_tutorial.html
  • Deep learning-based object detection survey:

    • 10.1109/TNNLS.2018.2876865
  • 3D object detection survey:

    • 10.1016/j.patcog.2022.108796
  • Video object detection survey:

    • 10.1109/TNNLS.2021.3053249

Semantic Segentation

  • PyTorch code:

    • https://github.com/CSAILVision/semantic-segmentation-pytorch
  • Semantic segmentation survey:

    • https://arxiv.org/pdf/2001.05566.pdf
  • SNE-RoadSeg:

    • https://arxiv.org/pdf/2008.11351.pdf
  • SNE-RoadSeg+:

    • https://arxiv.org/pdf/2107.14599.pd

Generative Adversarial Network

  • CycleGAN:

    • https://junyanz.github.io/CycleGAN/
  • DCGAN:

    • https://github.com/tensorflow/docs/blob/master/site/en/tutorials/generative/dcgan.ipynb
  • GAN Survey:

    • https://dl.acm.org/doi/abs/10.1145/3463475

HW–StereoCamera

本章是做课程大作业的日志。课程大作业有三维重建、双目视觉等,我和搭档璞选的是双目视觉(得到深度图)。

HW–StereoCamera (wolai.com)

数据集网站:

  • vision.middlebury.edu/stereo/data
  • The KITTI Vision Benchmark Suite (cvlibs.net)

本次大作业,我们实现了相机畸变校正、立体校正得到了对极线对齐后的图像,接着我们实现了局部算法SAD、SSD、NCC以及经典(半)全局算法SGBM,以及后处理步骤如亚像素增强、一致性检查、移除小连通区、视差填充和中值滤波,并且实现了并行加速如omp。最后将视差图转为深度图,三维重建(输出点云图)。

没有双目相机,用手机拍照片,然后利用光流法进行外参自整定,也算是一个小小的创新。后面会更新在gitee仓库。

大作业高分原则:

  • 速度越快
  • 精度越高
  • 调的库越少,手写的方法越多

做了作业(实践)才能对理论内容有更深刻的掌握。

Summary

本章是课程小结,主要理了一下课程的结构和重点。我在文章开头课程大纲处就已经列了出来。本课程到此就结束啦。收获还是蛮大的,CV对我们的生活产生了巨大的影响,也算入个门。

Summary (wolai.com)

Ran.F 说他大四上接触CV,当时就觉得找到了自己愿意奋斗一生的事业,这里也祝同学们——

愿你找到自己愿意为之奋斗一生的事业!

如果觉得有所帮助,欢迎点赞、收藏、转发走起来!

参考文献:

[1] Hirschmuller H. Stereo processing by semiglobal matching and mutual information[J]. IEEE Transactions on pattern analysis and machine intelligence, 2007, 30(2): 328-341.

[2] Wang H, Fan R, Cai P, et al. PVStereo: Pyramid voting module for end-to-end self-supervised stereo matching[J]. IEEE Robotics and Automation Letters, 2021, 6(3): 4353-4360.

[3] https://www.ruirangerfan.com/pdf/cvapp2022_fan.pdf

[4] Zabih R, Woodfill J. Non-parametric local transforms for computing visual correspondence[C]//European conference on computer vision. Springer, Berlin, Heidelberg, 1994: 151-158.

[5] https://www.cnblogs.com/riddick/p/8486223.html 真实场景的双目立体匹配(Stereo Matching)获取深度图详解

[6] https://ethanli.blog.csdn.net/article/details/105065660 【立体匹配系列】经典SGM:李迎松

[7] https://www.jianshu.com/p/b5ee34507166 初识立体匹配算法

水云身

作者:https://www.zhihu.com/people/yang-yang-20-27-99

原答案:https://zhuanlan.zhihu.com/p/532044251

Image Processing Machine Vision 2022 图像处理与机器视觉相关推荐

  1. 机器视觉照明技术Machine Vision Light Technique

    概述 机器视觉(machine vision)照明技术主要任务为提升被测物体特征与背景之间的对比度.对比度越大,感兴趣物体特征越明显,降低后期很多图像处理工作,提升整个机器视觉系统效率.观测相同的物体 ...

  2. 机器视觉(Machine Vision)

    有关机器视觉(Machine Vision)的部分介绍 文章目录 有关机器视觉(Machine Vision)的部分介绍 机器视觉的定义 机器视觉的特点 机器视觉系统的基本构造 机器视觉的应用 机器视 ...

  3. MVision Machine Vision 机器视觉

    转自https://github.com/Ewenwan/MVision MVision Machine Vision 机器视觉 澳大利亚机器人视觉研究中心 Computer Vision and P ...

  4. Multispectral imaging for medical and industrial machine vision systems(用于医疗和工业机器视觉系统的多光谱成像)

    Multispectral imaging for medical and industrial machine vision systems 用于医疗和工业机器视觉系统的多光谱成像 这是最近读的一篇 ...

  5. 一个不错的机器视觉库 SimpleCV: a kinder, gentler machine vision library

    Computer Vision platform using Python. WHAT IS IT? SimpleCV is an open source framework for building ...

  6. 《数字图像处理与机器视觉——Visual C++与Matlab实现(第2版)》——1.2 数字图像处理与机器视觉...

    本节书摘来自异步社区出版社<Visual C++ 2012 开发权威指南>一书中的第1章,第1.2节,作者: 张铮 , 徐超 , 任淑霞 , 韩海玲,更多章节内容可以访问云栖社区" ...

  7. 《数字图像处理与机器视觉——Visual C++与Matlab实现》——0.2 数字图像处理与识别...

    本节书摘来自异步社区出版社<数字图像处理与机器视觉--Visual C++与Matlab实现>一书中的第0章,第0.2节,作者: 张铮 , 王艳平 , 薛桂香,更多章节内容可以访问云栖社区 ...

  8. 图像处理与机器视觉行业分析

    一 行业分析 数字图像处理是对图像进行分析.加工.和处理,使其满足视觉.心理以及其他要求的技术.图像处理是信号处理在图像域上的一个应用.目前大多数的图像是以数字形式 存储,因而图像处理很多情况下指数字 ...

  9. Machine Vision 浅谈

    Machine Vision 浅谈 从刚毕业开始到现在,一直在学习视觉相关的知识,不知不觉,已经五个月过去了,以前总觉得娱乐.休息的时间过得很快,没想到工作的时候,时间好像也过得蛮快的!来回想一下,这 ...

最新文章

  1. 带限制条件的最大子矩阵 - 牛客
  2. windows2003 服务器安全配置的建议
  3. [剑指offer][JAVA]面试题第[33]题[二叉搜索树的后序遍历][单调栈][递归分治]
  4. 阿里《Java开发手册》最新嵩山版发布!
  5. 计算机第二课堂教学计划,小学的第二课堂教学计划
  6. Ubuntu安装Atom编辑器
  7. eclipse ARM/AARCH64版本下载
  8. Android音频基础知识
  9. Hibernate 下载、安装和使用
  10. python2.4无线模块_使用nRF24L01模块进行无线射频通信
  11. Excel翻译公式之谷歌翻译公式
  12. get请求中url传参中文乱码问题
  13. 普及一下行业尖端知识——腾讯自研分布式数据库TBase
  14. 计算机提示无法访问手机tf卡,电脑(手机)无法读取内存卡(存储卡)的解决方法大全...
  15. 牛客-1114E 老瞎眼 pk 小鲜肉(思维 + 离线 + 线段树 - 维护区间最小值)
  16. pdf编辑软件哪个好用?这个办法值得一试
  17. html鼠标放上虚化背景图片,如何将网页CSS背景图高斯模糊且全屏显示
  18. 100个世界上鲜为人知的“常识”
  19. mysql 慢查询毫秒_Mysql 慢查询优化实践
  20. Linux 文件系统结构

热门文章

  1. python-爬虫爬取豆瓣Top250电影数据
  2. tensor.view()、torch.flatten()
  3. 3阶魔方破解之层先法
  4. java注释的格式_JAVA注释方法及格式
  5. pycharm中,html文件如何引进css文件
  6. 最高精錬办法,教你如何训练脑力!
  7. 例题:求矩阵代数余子式
  8. 转换地图 (康托展开+预处理+BFS)
  9. 11.数据结构:认识一棵树
  10. flume 多个source sinks channel 配置记录