文章目录[隐藏]
目标定位
此例中, bx的理想值是0.5,因为它表示汽车位于图片水平方向的中间位置;by大约是0.7,表示汽车位于距离图片底部 3 \10的位置; bh 约为0.3,因为红色方框的高度是图片高度的0.3倍; bw约为0.4,红色方框的宽度是图片宽度的0.4倍。
Pc为0,1,判断是否有对象。为1时有C1,C2,C3来说明类别。
Pc为0,1的loss也不同。为0时
(
y
−
y
1
)
2
(y-y_1)^2
(y−y1)2,只需要关注神经网络输出 pc的准确度。
特征点检测
通过输出图片上特征点的 (x,y) 坐标来实现对目标特征的识别。
- 假设脸部有64个特征点,有些点甚至可以帮助你定义脸部轮廓或下颌轮廓。选定特征点个数,并生成包含这些特征点的标签训练集,然后利用神经网络输出脸部关键特征点的位置。
- 将人脸图片输入卷积网络,输出1或0,1表示有人脸,0表示没有人脸,然后输出
(
l
1
x
,
l
1
y
)
.
.
.
(
l
64
x
,
l
64
y
)
(l_{1x},l_{1y})...(l_{64x},l_{64y})
- 用
l
l
目标检测(跳过)
https://blog.csdn.net/weixin_44176643/article/details/120239113
交并比Iou
计算预测框和groundtruth框的交集和并集之比,大于0.5就算检测正确,可以自己设置阈值
非极大值抑制
保证对象被检测到一次。
当同一个物体有多个框检测到它,选择概率最高的那个,然后逐一审视剩下的框,所有和这个最大的边框有很高交并比(大于0.5),高度重叠的其他边界框,那么这些输出就会被抑制。
anchor
https://blog.csdn.net/weixin_44176643/article/details/120239113#t18
YOLO
输出后依次对每个类别进行NMS。
proposal
https://blog.csdn.net/weixin_44176643/article/details/120239113#t6
人脸识别
人脸验证,只需要弄明白这个人是否和他声称的身份相符
人脸识别 在库中找到是哪个人。
one shot
一次学习。
similarity函数:
- 输入两个人脸给d函数,输出二者的差异度。
- 如果这两张图片的差异值小于某个阈值 ,它是一个超参数,那么这时就能预测这两张图片是同一个人,如果差异值大于阈值,就能预测这是不同的两个人,这就是解决人脸验证问题的一个可行办法。
- 在人脸识别中,那一个人的照片依次和库里的其他照片进行对比。
实现上面的功能,需要构建Siamese网络:
- 将图片输入网络后,给出一个128维的向量。
- 将d函数定义为,两个向量的之差的范数。d函数小的说明图片相似。
Triplet loss
要想通过学习神经网络的参数来得到优质的人脸图片编码,方法之一就是定义三元组损失函数然后应用梯度下降。
三个照片,anchor(原图),positive(正确的其他图),negative(错误的)。
- α是超参数,它拉大了Anchor和Positive 图片对和Anchor与Negative 图片对之间的差距。
- 目标是使绿色部分小于等于0。
如何选择A,P,N:
- 首先保证每个人都有多张,只有一张无法组成成对的训练集。
- 如果随机选择,右边很容易大于左边,没有意义,因为网络总是很简单得到正确结果。
- so,尽可能让d(A,P)和d(A,N)接近,梯度下降才能发挥作用。
把人脸验证当作一个监督学习,创建一个只有成对图片的训练集,不是三个一组,而是成对的图片,目标标签是1表示一对图片是一个人,目标标签是0表示图片中是不同的人。利用不同的成对图片,使用反向传播算法去训练神经网络,训练Siamese神经网络。
个人学习记录,侵删
版权声明:本文为CSDN博主「菜鸟中的菜中菜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44176643/article/details/121342005
暂无评论