1. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Triplet Lossによる
Person Re-identification
株式会社ディー・エヌ・エー
システム本部 AIシステム部
西野 剛平 kohei.nishino@dena.com
2017/3/21
AI研究開発G 週次セミナー
2. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
カメラ間での同一人物の認識
Person Re-Identification タスクとして、この分野は現在も盛んに研究
されている。
Re-Identificationにおける代表的な2つのアプローチ
a) Identification model
b) Verification model
2
3. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Identification Model に関して
概要
1つの画像を入力、多クラス分類タスク
欠点
訓練の目的が予測手順と違うものである事。つまり、Loss関数を最
適化する事で得られる特徴ベクトルが2つ画像の類似性を直接説明して
いない事。また、1classあたりのデータ数が少ない場合はoverfittingに
なりやすい。
Tetsu Matsukawa, Einoshin Suzuki, Person Re-Identification Using CNN Features Learned from Combination of Attributes in Proceedings of International
Conference and Pattern Recognition (ICPR2016), pp.2429--2434, 2016
4. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Verification Model に関して
概要
2つの画像を入力。二値分類タスク、もしくは 類似度の回帰タスク
欠点
同一人物か否かという情報のみで訓練されるため、それ以外の有用な
情報が考慮されていない。画像間の関係性が弱い。
L. Wu, C. Shen, and A. v. d. Hengel, “Personnet: Person reidentification with deep convolutional neural networks,” arXiv preprint arXiv:1601.07255, 2016.
5. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
FaceNet: A Unified Embedding for Face Recognition and Clustering
顔認証 (同一人物か?)、認識 (誰か?)、クラスタリングのための統一的な
システムとして Google Inc. のリサーチャーから CVPR2015で発表
少なくとも発表された時点では顔認識の state of the art
オープンソースAPIとして公開されている「OpenFace」もこの論文を元
に実装されている。
顔画像を128次元の特徴ベクトルとして表現し、特徴ベクトル同士のユー
クリッド距離がそのまま類似度の評価となるような空間にマッピングする事
を目指す。
Triplet Lossを採用
7. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Triplet Loss に関して
入力画像xをd次元のユークリッド空間に埋め込む関数を表現
d次元の超球面上に制約する。すなわち、
目標
ある人物の画像 が 他人の任意の画像
との距離よりも、同じ人物 の他の全ての画像との距離
が近くなる事を保証したい。
※ αはマージン、Tは全ての可能なTripletの集合
8. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Triplet Loss に関して
Loss Function
※ 全てのTripletに関して計算するのは現実的ではないので選択したい.
Triplet選択方針の理想と実際
ハードネガティブとハードポジティブを選びたい
全データから計算してハードネガポジを選ぶのは計算量的に無理
Tripletの現実的な選び方
Hardest PositiveではなくPositiveは全部利用
ランダムに選んだある部分集合内でのHardestNegativeを利用
9. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
FaceNet の 評価
学習
800万人分の1億 〜 2億枚の顔画像データを使って学習する
CNNは入力画像sizeが96X96〜224X224まで異なる6種類を使用
評価関数
ある閾値dを与えた時に、同じ人物のペア同士のL2ノルムの2乗がd以下
となったペアの数 (true accept)
ある閾値dを与えた時に、違う人物のペア同士のL2ノルムの2乗がd以下
となったペアの数、つまり間違った数(false accept)
The false accept rate FAR(d)とThe validation rate VAL(d)で精度を評価
10. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
FaceNet の 評価
Personal Photos
12,000枚の顔画像
12,000^2(12000C2)から選んだ2枚のペアに対してFARとVAL
rateを計算
11. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
FaceNet の 評価
Hold-out Test Set
100万の顔画像
20万ずつ5つに分けて、10万x10万の画像でFARとVAL rateを計算
※ FAR = 0.001の場合、±は5つのテストの誤差範囲
14. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Triplet LossでのRe-IDの実験
ValidのLossが下がらない
判別しようとしているIdentityの数に対してマージンの値が適切では
ない。小さすぎる可能性が高い。
Tripletの選び方でNegativeが変わっていないため、特徴空間に適切
に配置されていない可能性が大。
分離したいIdentityの数が少なすぎるため、そもそもこのLoss関数で
はPositiveの距離が縮まらない。
下記のように改善
Triplet Selectionの選び方を変更。ある部分集合の中でHardest
Negativeを選択し、パラメータ更新毎にNegativeが変わるようにする
。
Triplet Loss Functionを見直し
15. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Triplet Loss Functionの見直し
Person Re-Identification by Multi-Channel Parts-Based CNN with
Improved Triplet Loss Function (CVPR2016)
FaceNetのTripletLossでは、Negativeが十分な距離離れてしまうとLoss
が0となってしまい、Positiveはそれ以上近くならないパターンが発生しう
る。
以下のようにPositive自体を近づける項をTripletLossに追加
16. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Triplet LossでのRe-IDの再実験
17. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Re-ID 再実験 画像確認
428images (107人,カメラ2つ,1人あたりカメラ1つにつき2枚の画像)
18. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
まとめおよび今後に関して
Triplet-Lossを使ったRe-IDはそれなりの精度がでる事は確認できた。
実際には連続フレームのカメラ映像からの人物特定タスクとなるため、ど
の画像を利用するのか、またocclusionをどうするかなど考えなければいけ
ない課題はまだまだありそうである。
実証実験で取得したデータを使ってさらに学習を進められるような枠組み
(ツール含む)はきちんと考えておきたい。