[D23] 物件侦测(4)

前面我们认识的都是"two stage"的方法,在整体的运行过程上没有那麽快速,所以在很多行动装置上都渐渐地采用"oen stage"来做影像辨识,这边要介绍的是 YOLO 系列!

YOLO(You Only Look Once)

"只要让我看一眼,我就知道是什麽",像字面上的意思,当图片经过 YOLO 这个演算法,只需要对图片做一次深度学习便能够判断里面的物体类别跟位置,且可以一次侦测多个物件,大大提升辨识速度。

接下来我们先从一开始的 YOLOv1 开始认识吧~

YOLOv1

YOLOv1 就是这个构想的第一版,把整张图片当作输入,会直接预测出 bounding box 的座标位置,且 bounding box 包含物体的 confidence 和物体的 classification

confidence 是物体的信心分数,代表此框为 ground truth 的机率为多少。

YOLOv1 的实现

基本上就是将图拆成很多个 grid cell,然後在每个 grid cell 进行 bounding box 的预测和属於哪个类别的机率预测,最後用 threshold 和 NMS (非极大值抑制,Non-Maximum Suppression)的方式得到结果。

  • step 1
    YOLO 会把图平均分成 S×S 格,每一格在英文中被称为 grid cell。
    当"要被侦测的物件中心"落在哪一个 grid cell,该 grid cell 就要负责侦测这个物件。
  • step 2
    每个 grid cell 必须要负责预测「n 个 bounding boxes」和「属於每个类别的机率」。每个 bounding box 会带有 5 个参数 (x, y, w, h, and confidence)
    • (x, y) 是物件在 grid cell 的中心座标
    • w 和 h 是 bbox 的宽度和高度

我们会习惯把 bounding box 简写成 bbox~ (不是饶舌的那种 B-box)

  • step 3
    YOLO 的 tensor 公式为 S × S × (B × 5 + C)。

    • B 是在一个 grid cell 中 bbox 的数量
    • 乘上 5 是因为每个 bbox 有 5 个参数
    • C 是物件的类别数量

YOLOv1 的缺点

YOLOv1 对於靠得很近的物体,或是很小的物体,辨识效果不是很好,这是因为一个 grid cell 里最多只产生两个 bbox 来侦测。

未完待续......

图片来源1
图片来源2
论文


<<:  JavaScript Day 29. 立即函式 IIFE

>>:  食谱搜寻系统未来展望

DAY2 练习文件内容

以下就是我请学长帮我写的练习专案内容 一、功能列表(Flex 按钮) 1.注册:存取使用者姓名和组别...

基金走势再现黑色星期五?白酒股集体受挫!

近期说到基金理财,每次关於基金的消息上热搜,大多是基民都会心里一颤,觉得肯定基金又双叒叕跌了。确实,...

EP29 - 秽土转生~到了 AWS 也要能够备份~

在 EP13 - 灾难演练,重建你的 VPC, 我们在重建 VPC 之前, 有带着大家怎麽进行单次备...

Day 9:看看别人做了什麽?

前篇整理了学习资源,这篇来看看别人用 JUCE 干了哪些好事。 这位日本开发者用 JUCE 开发处理...

Day#30 行百里者半九十

这一个月来的心得 没想到居然是最後一天了。 由於也没有特别安排时程的关系,没有完成第二份好像也不是特...