精讀深度學習論文(23) MTCNN

精讀深度學習論文(23) MTCNN

來自專欄 Bob學步4 人贊了文章

0. 前言

  • 參考資料:
    • Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks - 原文
    • 官方頁面(可以下載論文、源碼,其中源碼只包括預測模型,不包括訓練模型)
    • 譯文
    • 其他:
      • 知乎專欄:MTCNN人臉檢測---PNet網路訓練
      • 知乎專欄:MTCNN人臉檢測---RNet網路訓練
      • 知乎專欄:MTCNN人臉檢測---ONet網路訓練

1. 素質四連

  • 要解決什麼問題?
    • 同時進行將人臉檢測(face detection)和人臉對齊(face alignment)任務。
  • 用了什麼方法解決?
    • 提出了一個基於深度學習的級聯結構。
    • 提出了一種新的訓練策略,稱為 online hard sample mining strategy,用於提升訓練精度。
  • 效果如何?
    • 模型實時性高。
    • 在FDDB和WIDER FACE兩個數據集中的人臉檢測以及AFLW數據集中的人臉對齊任務任務達到 state-of-the-art。
  • 還存在什麼問題?
    • 訓練需要大量數據、訓練時間長,收斂慢。

2. 模型結構

2.1. 模型總體結構

  • 論文配圖如下:

  • 每一層都有預測分類信息、bbox信息、landmark localization信息。
  • 每種信息都有對應的損失函數。
  • 借用 本文 的一張圖片,進一步理解總體結構:

2.2. 分步介紹

  • Proposal Network(P-Net):
    • 輸入:原始圖片resize到不同尺寸,作為輸入。
    • 使用FCN的思想,每12*12*3作為一個bbox作為輸入,預測預測的分類信息、bbox信息、landmark localization信息。
    • 為什麼要將原始圖片resize到不同尺寸?
      • 原始圖片上人臉大小可能不一致,最開始都是通過12*12*3預測人臉信息。
      • resize到不同尺寸圖片,可以對檢測不同大小的人臉信息。

  • Refine Network(R-Net):
    • 輸入:以P-Net預測的bbox信息作為基礎,對原始圖片進行切片,並resize到固定尺寸。
    • 預測預測的分類信息、bbox信息、landmark localization信息,並對bbox進行NMS篩選。

  • Output Network(O-Net):
    • 輸入:以R-Net預測的bbox信息作為基礎,對原始圖片進行切片,並resize到固定尺寸。
    • 預測預測的分類信息、bbox信息、landmark localization信息,並對bbox進行NMS篩選。

2.3. 損失函數介紹

  • 分類誤差,模型預測是否是人臉:

  • bbox 回歸誤差,模型預測的是offset(偏移量),而非bbox本身:

  • landmark localization 誤差,預測人臉以下幾個關鍵點:雙眼、鼻子、兩個嘴角。


3. 其他細節

3.1. 多任務訓練

  • 對於每一層來說,都有三類誤差,但對於不同的訓練數據,三類誤差應該有不同的權值,因此提出了以下公式:
    • 其中 alpha 是每類誤差的權重,每一層權重不同。

3.2. Online Hard Sample mining

  • 作用:構建訓練數據的方法。
  • 流程:
    • 在每個mini-batch中,計算所有loss,並降序排序。
    • 獲取錢獲取前70%的sample進行梯度下降訓練。

3.3. 訓練數據構建

  • 分類:
    • positives:與 ground truth 的IOU高於閾值。
    • negatives:與 ground truth 的IOU低於閾值。
    • part faces:與 ground truth 的IOU處於上述兩個閾值之間。
    • landmark faces:擁有landmark的標籤。
  • 使用:
    • 分類任務使用 positives & negatives。
    • bbox預測使用 potitives & part faces。
    • landmark localization預測使用 landmark faces。

3.4. 如何進行 face alignment ?

  • 可以參考:知乎提問:MTCNN人臉對齊得到關鍵點的坐標後,下一步人臉矯正應該怎麼做呢?

推薦閱讀:

「FaceID」很火,但你不知道的還有很多
深度學習之視頻人臉識別系列二:人臉檢測與對齊
人臉識別開啟應用「井噴」模式,我們的臉原來這麼值錢!?
[VFR]基於關鍵幀提取的CNN-閱讀筆記
人臉識別[一] 演算法和資料庫總結

TAG:深度學習DeepLearning | 人臉識別 |