跟李凡老师学FPGA图像加速器之D01:图像处理基础(20170425课堂笔记)
本帖最后由 lcytms 于 2017-5-2 10:38 编辑跟李凡老师学FPGA图像加速器之D01:图像处理基础(含Matlab工具、图像边缘检测算法)(20170425课堂笔记)
用笨笔头整理课堂笔记,用以备忘,温故而知新。
整理文稿的细节处未能一一体现李凡老师讲课精髓和独特风采,有待下一步补充完善。
感谢李凡老师博大精深的学识、孜孜不倦的教诲,并敬请李凡老师原谅本人拙劣的课堂笔记。
近期精彩课程安排如下图。
实际执行可能会有所调整,谨供参考。
0908
到工作岗位上,我们有可能会接触通信,可能会接触CPU,也有可能会接触图像。
特别是FPGA现在的应用,像虚拟现实、人工智能,不可或缺地要用到图像。
比方说像现在很热的自动驾驶技术,其中要对传感器进行采样进行处理之外,很重要的就是图像。
我们通过这个课程,我们会了解图像的算法,同样将我们之前学习的一些课程的应用。
其次呢,我们还会来说到加速器,accelerator,这个也是FPGA应用的一个非常重要的方向。
虚拟现实、人工智能等等,都必须用到加速器的思想。
0909
我们现在说一下图像的应用。
图像应用呢,我们会借用MATLAB图像工具箱来做对应的分析。
这门课说的是图像的边缘处理。
什么是图像边缘处理呢?
如果我们现在到照相馆去照合成的一张相,现在是有这个业务的。
照相馆的背后呢,用蓝色的或者是用白色的背景,给你拍出一张照片来。
0910
它会有一些背景,比方说,雪山草原海滩,给你合成上去,现在的照相馆是有这个业务的。
不知道我们同学有没有去做过这个。
有些同学Photoshop做得好,就可以自己来做,PS上去,很简单。
如果背景是白色或者是蓝色,前景的图像把它抠出来,照相馆的小女孩给你把图像抠出来,沿着图像的边缘抠出来。
0911
然后再合成一张背景。
如果我们做过Photoshop,或者在照相馆看过操作,你对小女孩把图像抠出来的操作一定会有深刻的体会。
这样呢,我们就得到了图像的边沿。
得到了图像的边沿,然后呢,就可以把图像抠出来,我们来用选择的背景。
另外呢,我们说到,第30章这个项目,用这个图像边缘的时候,它是用于军事目的的。
我们知道,朝鲜战争,米格战机空中格斗,主要是靠飞行员,飞行员的技巧。
0912
但是现代战机的速度非常高,而且它的火控系统和驾驶都比较复杂,还有自动的空中格斗系统,飞行员他也参与,但不是主要的。
不像朝鲜战争,五几年的时候,主要是靠人来操纵。
它是有机械操纵,来锁定敌方目标,是用光学系统来锁定,超视距的话是用雷达,空中格斗的时候,就要用光学,锁定住敌方战机。
现代的空中格斗反而简单,飞行员用目镜锁定目标以后,按下按钮,火控系统就会自动跟踪目标。
但是注意到,这样的话有一个前提,就是这个光学系统必须是用计算机,不是用人,要把图像识别出来。
0913
模式识别,图像识别的基础是什么?
要把图像的边框轮廓打出来。
这个时候你就不能请摄影棚里的小姑娘来操作了。
等她慢慢地抠出一副敌机的轮廓来,敌机早跑了。
0914
那是由计算机来抠的。
那是由算法来抠的,而且还要非常快,为什么要快呢?
在我们绿皮书这个教材上面,它要求用720p,就是720*1280的解析度。
要抠出每秒25帧,很低的速度。
我们知道,我们现在的显示器,是每秒70帧。
当初我们写这个教材的时候,只需要25帧。
25帧速度就够快了。
25帧,空中格斗系统就能产生一些响应了。
但是现代肯定不够,现代的战机,要做到多少呢?
0915
要做到100多帧。
我们现在看到的70帧,现在要做到100多帧以上。
才能跟得上现代武器的系统。
在这个课程里面就有这么个问题。
就是它要每秒25帧。把25帧的边沿得到。
所以说要用自动的算法得到。
这个教材里面,稍后呢,我们会介绍加速器的思想。
也就是说每秒25帧,如果我们能把它抠出来,用CPU的方法,当时用最好的芯片,速度最高的DSP的芯片,都无法满足每秒25帧。
0916
要怎么做呢?
要用硬件的方法。
按照计划,我们今天就来讨论图像和处理,并且呢,我们把速度要提升到140帧以上。
后期课程安排。