Index
GLIP
物体検出のおけるラベルの表現を豊かにするために、事前学習を導入した.
- GLIP #アルゴリズム編
前置き
タスク
画像からの物体検出.
- 物体検出 / Object Detection #まとめ編
ラベルの可変性も確認してみる.
データセット
COCO データセットを利用.
ライブラリ / ソースコード
- github.com
- Microsof のコードを利用
実装
実行
環境の構築に時間がかかる.
物体検出のおけるラベルの表現を豊かにするために、事前学習を導入した.
画像からの物体検出.
ラベルの可変性も確認してみる.
COCO データセットを利用.
環境の構築に時間がかかる.
物体検出のおけるラベルの表現を豊かにするために、事前学習を導入した.
画像認識・物体認識のアルゴリズムでは、通常、事前にラベルを固定してから学習を行うが、
生の自然言語を教師にする Natural Language Supervision という考えを導入した CLIP というアルゴリズムがあった.
文章中のフレーズ・単語が、画像中のどの領域に対応するかを推定するマルチモーダルのタスクである
Phrase Groundingがある.
Phrase Grounding を物体の種類と場所を特定する物体検出 / Object Detection のタスクに応用させた.
では、どのようなフレームワークにするのか.
入力は、画像とテキスト.
そして、テキストとしての入力は 2 つ.
画像から物体の領域が検出され、それぞれの領域の特徴量を抽出する.
入力されたテキストからも、特徴量を抽出する.
そして、それらの特徴量の関連性をベクトルの内積として表現する.
CLIP とは異なり、2 つの Encoder の中間出力に関連を持たせる.
さらにこの仕組みを細かくみていく.
式に描いてみる.
Object Detection の場合.
Object Detection に Phrase Grounding を導入した形式で定式化する.
まずは、Class について.
次は、処理.
ここまでは、同様.
ここまでの定式化では、画像とテキストは別々の Encoder によって処理され、
スコアを計算するために、最後に各の情報が初めて触れ合う.
このようなモデルを Late Fusion Model と呼ぶ.
Vision と Language の情報の共有の精度を上げるために、より良い情報の共有の方法を導入する.
動画像データから画像 (フレーム) をサンプリングし、シーケンシャルな (もしくはシーケンシャルでない) 画像データセットを作成する.
今回は、動画からのランダムサンプリングを行う.
今回は、Multi Object Tracking 16 / MOT16 を利用してみる.
Docker Image を作って、どこでも実行できるようにする.
FROM jjanzic/docker-python3-opencv:opencv-4.0.1 RUN apt update RUN apt -y upgrade RUN pip3 install -U pip WORKDIR /home/work
2020 年に Facebook から発表された Transformer を利用した Object Detection のアルゴリズム.
Object Detection #まとめ編
Transformer #まとめ編
実装編 #01
実装編 #02
2020 年に Facebook から発表された Transformer を利用した Object Detection のアルゴリズム.
Non Maximum Suppression (NMS) や Anchor Base のような人での設定が必要となるような処理を撤廃.
NMS
Anchor Base
シーケンシャルなデータからの特徴抽出を行うことができる.
Object Detection でシーケンシャルな入力単位とはなにか.
このアルゴリズムでは、Object Detection を「直接集合予測問題 / Direct Set Prediction Problem」と
みなすことでタスクを解いている.
Bipartite Matching / 2 部マッチングの考えを利用して損失を設計する.
Direct Set Prediction Problem を解くために、いくかの重要な要素がある.
Loss の定義の前に諸定義.
まず 2 つの損失について考える.
2 つ Box の距離を表現.
ラベリングされた物体と対応している予測した物体のマッチングの感度・精度を表現.
そのマッチング関数 の中でもコストを最小化するマッチング関数 を取得.
上で決定したマッチング関数 を利用して、ハンガリアンアルゴリズムにおける損失・評価を計算する.
上の図でも出したが、DETR は、大きく分けると 3 つの要素から構成されている.
処理の内容を確認する前の諸定義.
CNN を利用して特徴マップ を取得する.
Encoder で行われる処理は、以下のよう.
中間特徴マップ を の 畳み込み演算で、圧縮し、
中間特徴マップ を取得する.
Encoder への入力は、シーケンシャルなデータを想定しるため、中間特徴マップ を
のベクトルが、 個ある状態にする.
Transformer / Vision Transformer でも行われる Positional Encoding を施すことで、位置情報を与える.
その後、Encodingを実施し 個の のベクトルを得る.
Decoder の入力は、サイズ の Object Query が 個となる.
Object Query も Encoder 同様に、Positional Encoding が施される.
その後、Decoding され、サイズ の 個のベクトルが出力される.
最終的な予測は、3 層の MLP と活性化関数からなる FFN から最終的な予測が出力される.
End-to-End Object Detection with Transformers
End-to-end object detection with Transformers
Transformerを採用した最新の物体検出手法「DETR」
Transformerを使った初めての物体検出「DETR」
物体検出DETR (DEtection TRansformer)
Transformer を物体検出に採用!話題のDETRを詳細解説!
動画像データから画像 (フレーム) をサンプリングし、シーケンシャルな (もしくはシーケンシャルでない) 画像データセットを作成する.