Help us understand the problem. What is going on with this article?

論文まとめ:Objects as Points

はじめに

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.

masataka46
株式会社ウェブファーマー代表。 人工知能の開発。人工知能のコンサルティング。 2006年に株式投資を始め、8年で資産を75倍にする。 情報処理学会、電子情報通信学会、人工知能学会所属。
http://web-farmer.net
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした