来源:投稿 作者:LSC
编辑:学姐
话不多说,直接上题
1.链表反转
ListNode* reverseList(ListNode* head)
{
ListNode *prev = nullptr;
ListNode *curr = head;
while (curr)
{
ListNode *next = curr->next;
curr->next = prev;
prev = curr;
curr = next;
}
return prev;
}
2.小偷偷东西,但是不能在相邻的两个房子里偷东西,问偷到的物品价值的最大值
经典的动态规划问题
状态转移方程式:
dp[0] = v[0] // v是物品价值的数组,dp[i]代表偷到第i家的时候的最大值
dp[1] = v[1]
dp[i] = max(dp[i - 1], dp[i - 2] + v[i]) // 要么不偷当前这家,要么偷了加上之前不相邻的一家偷的总和,取最大值
3.mAP
(1)先计算出每个类别的AP,总共m个类,
(2)AP的计算: 同一类目标检测结果框对应的precision
和recall
,
其中all detctions
代表所有预测框的数量, all ground truths
代表所有GT
的数量。
(3)如下图所示:
- 根据
IoU
划分TP&FP
- 按置信度的从大到小,计算P值和R值
- 绘制
P-R曲线
,进行AP计算 - 多个与GT重叠的候选框均符合条件时,选取IoU最高的为TP,其余均为FP。
(4)最后画出以recall为横坐标,precision为纵坐标的图,
(5)补齐,计算近似的面积
A1+A2+A3+A4
就是大致的面积AP
注意一点,一般precision和recall计算前100个点就足够了,再多会被抛弃,而且意义不大
(6)把每个类的AP求和,除以m,就是mAP
4.四种BatchNorm
对于[batch, c, w, h]的特征图
- (1)是在batch这个维度上的批标准化,就是我们最常用的bn
- (2)是在C这个维度上的批标准化,也叫Layer Norm
- (3)是在[w, h]这个维度上的批标准化,也叫Instance Norm
- (4)是在c这个维度上分组的批标准化,也叫GroupNorm
四种BN如下图,从左到右:
5.介绍nms
非极大值抑制
- (1)设定目标框的置信度阈值,常用的阈值是0.5左右
- (2)根据置信度降序排列候选框列表
- (3)选取置信度最高的框A添到输出列表,将其从候选框列表中删除
- (4)候选框列表中的所有框依次与A计算IoU,删除大于阈值的候选框
- (5)重复上述过程,直到候选框列表为空,返回输出列表
6.介绍FCOS目标检测网络
这是一个anchor free的目标检测网络,应该说是一个anchor point的网络,它是基于feature map上的点来检测目标的,其中是采用特定的规则去对应的目标框的,Neck部分同样使用了FPN,使用了focal loss损失函数,能有效处理数据不均衡的情况。
关注下方《学姐带你玩AI》🚀🚀🚀
回复“简历”获取算法工程师万能简历公式
每周都会更新大牛面经,关注一下不迷路
码字不易,欢迎大家点赞评论收藏!