目标检测

https://blog.csdn.net/yegeli/article/details/109861867

任务:找出 image 中的 instance, 并用 bounding box 包起来。

原理:分为 one-stage 和 two-stage,区别是前者一次性检测出 multi-object 的 class 和 bounding box 的位置,后者先预先找出一些 bounding-box,再对它们做分类。

R-CNN

Stage One

第一步,得到候选框。

  1. Sliding Window

暴力的正确做法,需要枚举每一个可能的边框,时间复杂度 \(\frac{H(H+1)}{2}\frac{W(W+1)}{2}\),太慢

  1. Heuristic(启发式算法)

选择性搜索。

认为某一类别的物体一定有一些结构上的相似性(重复性),利用这个不断对图中结构相似的区域进行合并得到。

Stage Two

检测候选框的 class,并用候选框与 GT 计算 IoU(做非极大值抑制),计算极大 bounding box 和其他几个 bounding box 的 IOU,如果超过一个阈值,例如 0.5 ,就认为这两个 bounding box 实际上预测的是同一个物体,就把其中confidence比较小的删除。

YOLO

https://zhuanlan.zhihu.com/p/94986199

把一张图片分成 PxP 的 grid,每个 grid 内产生两个中心位于其中的 Bounding box(使用 NMS 方法)

风格迁移

1

可视化

Saliency maps 显著性图

是一张图片关于某一 class 的每个像素值的梯度,梯度数值大的点可以认为是对像素值敏感,这些点的存在更能体现出属于这个 class,具有较大的显著性

adversarial attack

随机选择一个 category,修改图片(使用 gradient ascent),最小化这个 class 和预测出的 class 的loss,让图片逼近这个 category

图像分割

任务:give class for every pixels, and merges instances.

原理:先 downsampling,再 upsampling

downsampling

Convolution 层令 stride > 1 即可

upsampling?

Unlearnable

  • max unpooling (把降采样后的值放回原来的位置)
  • interpolation 插值
  • bed of nails (把数据放在左上角,其他三个位置置0) …

Learnable

  • 转置卷积

卷积的逆运算。

transpose_conv = nn.ConvTranspose2d(in_channels=1, out_channels=1, kernel_size=3, stride=2, padding=1)

发展

  • 图像分割
  • 示例分割
  • 全景分割
  • 人体(关节)分割

3D视觉

3D表示

  • 深度图 Depth Map

可以测量(激光雷达、深度相机)或者计算(NN)得到。

  • 隐式表示

eg. 神经网络

  • Voxels

一个个小方块

  • 点云

  • Mesh

预测三角形网格算法:图卷积(Graph Convolution)

loss function: 从网格表面采样一些点,与 GT 的点云做 loss

3D重建评价指标

  • IoU

  • Chamfer Distance

比较点云内的点的平均距离

  • F1-Score

与 Precision(精确度) 和 Recall(召回率)有关。

Camera Systems

规范坐标系与相机视角坐标系,常常需要转换

Task

  • ShapeNet

把分离的物体合成到一起