Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@masataka46

論文まとめ:Objects as Points

More than 1 year has passed since last update.

はじめに

journal等投稿先は不明。

概要

  1. 2D、3Dのobject detectionやpose estimationで使えるしくみ
  2. 物体の中央点をヒートマップで推定し、その関連情報も同時に推定する
  3. そこそこの精度を保ちながらリアルタイムなスピードで処理できる

以下が手法をわかりやすくまとめた絵。

CenterNet_img01.png
([1] Figure2より)

物体の中心位置を赤い点のように推定する。出力のうち、矩形の縦チャンネル、横チャンネルからこの中心位置にあたるものを抜いてくればよい。

以下は推論速度と精度との関係図。

CenterNet_img00.png

([1]Figure1より)
YOLOやRetinaNetよりも更に左上に寄っている。

手法の解説

1. ヒートマップの作成

  • $I \in R^{W \times H \times 3}$ ・・・入力画像
  • $\hat{Y} \in [0,1]^{\frac{W}{R} \times \frac{H}{R} \times C}$ ・・・推定したheatmap。$R$ は縮小率。$C$ はheatmapの数。

骨格推定などと同様、ターゲットのheatmapはガウシアンカーネルで山形にする。

Y_{xyc} = \exp \left( - \frac{(x-\tilde{p}_x)^2 + (y-\tilde{p}_y)^2}{2 \sigma^2_p} \right)

$\tilde{p} = (\tilde{p}_x, \tilde{p}_y)$ は出力画像の大きさにおける物体中心点の座標。

$\sigma_p$ は物体ごとの標準偏差。これも骨格推定と同様だが、2つ以上のpeakによる重なりは最大値を採用する。

2. heatmapに関するLoss

heatmap に対するLoss は focal-loss。

L_k = \frac{-1}{N} \sum_{xyc} 
  \begin{cases}
    (1-\hat{Y}_{xyc})^{\alpha} \log (\hat{Y}_{xyc}) & if \ Y_{xyc} = 1 \\
    (1-\hat{Y}_{xyc})^{\beta} (\hat{Y}_{xyc})^{\alpha} \log (1-\hat{Y}_{xyc}) & otherwise  \\
  \end{cases}

$N$ は画像中のkeypointの数。

3. オフセットに関するloss

出力画像は大きさが $\frac{W}{R} \times \frac{H}{R}$ と粗くなってるので、heatmapのpeakを拾っても元の画像上の位置から微妙にずれてる可能性がある。そこでオフセット $\hat{O} \in \mathcal{R}^{\frac{W}{R} \times \frac{H}{R} \times 2}$ も推定させ、target のオフセットとの L1 で loss をとり、学習させる。

L_{off} = \frac{1}{N} \sum_p \left|\hat{O}_p - \left( \frac{p}{R} - \tilde{p} \right)  \right|   

4. bounding box の幅、高さに関する loss

各 $k$ チャンネルにおける bounding box は1つ推定する。その幅、高さを $w_k, h_k$ とすると、bounding box のサイズは $s_k = (w^{(k)}, h^{(k)})$ となる。

これの推論値 $\hat{S}_{p_k} \in \mathcal{R}^{\frac{W}{R} \times \frac{H}{R} \times 2}$ とで L1 をとり、lossとする。

L_{size} = \frac{1}{N} \sum^{N}_{k=1} \left| \hat{S}_{p_k} - s_k \right|

5. トータルの loss

トータルの loss: $L_{det}$ は以下。

L_{det} = L_k + \lambda_{size} L_{size} + \lambda_{off} L_{off}

ハイパーパラメータの $\lambda$ は $\lambda_{size} = 0.1$ と $\lambda_{size} = 1.$ を用いている。

6. 推論時のbounding box 推定手順

(1)各 $c$ チャンンルの heatmap におけて周辺8近傍のpeakを値が高いものから順に100個

\hat{P}_c = \left\{ (\hat{x}_{c,i}, \hat{y}_{c,i}) \right\}^{100}_{i=1}

拾う。

(2)中心はオフセットも考慮して $(\hat{x}_{c,i} + \delta \hat{x}_{c,i}, \hat{y}_{c,i} + \delta \hat{y}_{c,i})$ とする。

(3)矩形の座標は推定した $(\hat{w}_{c,i}, \hat{h}_{c,i})$ から

左上の座標は、

(\hat{x}_{c,i} + \delta \hat{x}_{c,i} - \frac{\hat{w}_{c,i}}{2}, \hat{y}_{c,i} + \delta \hat{y}_{c,i} - \frac{\hat{h}_{c,i}}{2})

、右下の座標は

(\hat{x}_{c,i} + \delta \hat{x}_{c,i} + \frac{\hat{w}_{c,i}}{2}, \hat{y}_{c,i} + \delta \hat{y}_{c,i} + \frac{\hat{h}_{c,i}}{2})

とする。

ニューラルネットのアーキテクチャ

4つのアーキテクチャを用いた。
1. ResNet-18
2. ResNet-101
3. DLA-34
4. Hourglass-104

3番目のDLAは知らなかったが、[2]で提案されたこのような

CenterNet_img20.png
([2]Figure1より)
ネットワーク。

実験と結果

1. 4つのネットワークで精度・速度を比較

MS COCO datasetで4つのアーキテクチャを比較したものが以下。

CenterNet_img04.png

推論速度は軽いResNe-18が最速だが、精度は今流行りのHourglassがいい。

2. 他の有名モデルとの精度・速度の比較

MS COCO test dataset を用いて既存の有名モデルとの精度・速度の比較をした結果は以下。

CenterNet_img05.png

説明にも書いているが、CenterNet-DLAはDLAのアーキテクチャ、CenterNet-HGはhourglass。average precisionのスラッシュ左側がsingle scale、右がmulti scale。

FASF に比肩しうる精度でありながら3倍の推論速度となっている。

Reference

[2] F. Yu, et. al."Deep layer aggregation", CVPR 2018.

3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
masataka46
株式会社ウェブファーマー代表。 仕事:人工知能システムの開発、人工知能のコンサルティングなど。 執筆した本:GAN ディープラーニング実装ハンドブック(秀和システム)など。 その他:2006年に株式投資を始め、8年で資産を75倍にする。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?