快捷搜索:  汽车  科技

可视光精确制导技术(视觉识别技术在制导系统里的可能应用)

可视光精确制导技术(视觉识别技术在制导系统里的可能应用)虽然不如专门训练的深度学习算法,但在大多数场景下也是可以满足应用的。这个算法在OpenCV里有实现,对各种背景下的人脸识别率还是很高的。某大学的才子吴谢宇犯罪之后在重庆机场被捕,就是被人脸识别系统拍到了一张正脸照片。1,人的脸部区域的检测,以现有的CV技术,在大量的背景中识别出人脸区域并不难,常用的技术是基于Haar小波的级联分类器(Haar Cascade detector)。

计算机视觉(CV)这个领域,大概起源于40年前的美国。

麻省理工学院(MIT)的大牛霍恩的那本“机器视觉”教材已经讲了30多年了,成书于1980年代。

不过视觉识别的最新进展开始于2006年,辛顿在这年创立了深度学习,并在2016年后迅速在工业界发展了起来。

CV领域的主要技术之一就是人脸识别

某大学的才子吴谢宇犯罪之后在重庆机场被捕,就是被人脸识别系统拍到了一张正脸照片。

1,人的脸部区域的检测

以现有的CV技术,在大量的背景中识别出人脸区域并不难,常用的技术是基于Haar小波的级联分类器(Haar Cascade detector)。

这个算法在OpenCV里有实现,对各种背景下的人脸识别率还是很高的。

虽然不如专门训练的深度学习算法,但在大多数场景下也是可以满足应用的。

可视光精确制导技术(视觉识别技术在制导系统里的可能应用)(1)

人脸识别的效果

2,根据人脸区域进行身份识别

当把人的脸部区域检测出来之后,下一步就是具体去识别这是谁的脸

这一步依赖于深度学习所提取的人脸特征

只要使用一个多层的卷积神经网络(CNN),把人脸图像映射到一个128维特征向量,就可以对不同的人脸进行身份分类:把同一个人的照片归为一类,把不同人的照片区分开。

使用的样本人数越多、每个人的照片数越多,这个分类的精确度就越高

人的照片可以是个256x256像素的图像,直接用语言去精确描述两个人的面部有什么区别是很难的。人可以一眼看出不同的人来,但难以用语言或数学公式把这种差异精确描述出来。

但人可以构造一个数学映射:f(人脸照片X) ---> 128维特征向量Y ---> 人的身份编号N

从人脸照片到特征向量的映射,是一个非线性的映射。它没法给出解析解,但可以用神经网络去近似求解

而从特征向量Y到人的身份编号N的映射,是一个线性映射:AY b ---> N。

其中N是与人数相等的一个向量,是哪个人就把哪一位置1,把其他位置0,类似这样[0.... 1 .... 0],而不是把它映射到0-N这样的范围较大的一维数字。

让网络的输出范围在0~1之间可以减少模型的波动,避免不收敛

因为后半部分是线性的,也就是说特征向量Y是线性可分的。既然是线性的,当然要遵守叠加原理

所以把眼镜的特征向量与人脸的特征向量叠加,然后再通过反向的网络把它恢复成照片,就可以把眼镜加到照片上了[呲牙]

可视光精确制导技术(视觉识别技术在制导系统里的可能应用)(2)

既然是线性可分的,那么把向量的长度归一化之后,类似的特征向量就该指向类似的方向,所以测量向量夹角的余弦距离就可以当作分类器。

cos(Y0 Y1) > 0.9就可以判断为同一个人的照片。

夹角是0时为同一个方向,这时余弦是1,正弦是0。

3,运动跟踪

一旦被制导系统抓到了正脸照片,再想逃过打击是几乎不可能的,因为还有一个算法叫运动跟踪

即识别目标照片上的极值点作为特征点,然后不断根据目标的运动情况进行特征匹配

学过高数的都知道,一阶导数的有可能是极值点,但同时二阶导数的一定是极值点。

线性变换之下,极值点变换之后还是极值点。它是变换的一个稳定点。

物体的运动当然也是一个线性变换

所以,图像上的极值点可以用来作为运动跟踪的特征点。

而获取特征点的算法,都跟图像的海塞矩阵(广义的二阶导数)有关。

著名的SIFT算法、SURF算法,都是基于海塞矩阵的。

完成这一步之后,就可以认为目标被制导系统锁定了。

之后无论它怎么运动,只要智能制导系统实时更新特征点,就可以一直锁定着它。

除非他的加速度(过载)超过武器本身,否则他很难逃脱。

人一旦被制导炮弹跟踪,那是几乎不可能逃脱的。

我不知道美国给乌克兰的制导炮弹是不是这么个算法,但是按照这个算法思路是可以制导跟踪的。

等哪天我给个OpenCV的跟踪效果图。

虽然程序员老是讽刺算法工程师是调参侠,但技术行业就喜欢自黑,外行可不能当真[捂脸]

猜您喜欢: