Giter VIP home page Giter VIP logo

paper_survay_memo's Introduction

Pacifinapacific profile

Anurag's GitHub stats

trophy

paper_survay_memo's People

Stargazers

 avatar

Watchers

 avatar

paper_survay_memo's Issues

Anomaly Detection Neural Network with Dual Auto-Encoders GAN and Its Industrial Inspection Applications

AnoGAN系の異常検知手法であるDAGANを提案した。BEGANを参考にdiscriminatorをclassification形式ではなくAutoEncode形式に変えたことで画像生成の安定性を向上させることができた。(GeneratorにUnetを用いているのでDual Auto-Encodersと呼んでいる)
MVtechデータセットで従来のAnoGAN系より、13/17個のclassにおいて優れた結果になった
スクリーンショット 2020-07-07 23 22 14
スクリーンショット 2020-07-07 23 22 56

Attention Guided Anomaly Detection and Localization in Images

ECCV2020 (https://arxiv.org/abs/1911.08616)
VAEベースの異常検知にGradCAMを利用して、通常画像のみで異常箇所検出が可能な手法を提案した。MVTechADなどでSOTA
スクリーンショット 2020-07-19 16 48 55

まずVAEの潜在変数からGradCAMを用いて得られるAttention領域が異常でない箇所と定義する。通常画像では画像全体が異常でないため、Attentionが画像全体に及ぶようにlossをかけることで学習させる。
(これにより異常箇所は1-Attentionで検出できるようになる)
スクリーンショット 2020-07-19 16 46 31

また学習は通常画像のみで学習する他に、少数の異常画像も用いるWeakly supervisedも可能である。
その場合はVAEの潜在変数に全結合をかけ通常、異常の2値分類器に対してGradCAMをかけるように変更する。
ただし2値分類を間違えている状況でattention lossをとると学習に悪影響を及ぼすため、attention lossを使用するのは通常画像に対してその予測が正解しているときだけとしている。
スクリーンショット 2020-07-19 16 46 59

Transformation GAN for Unsupervised Image Synthesis and Representation Learning

(http://www.eecs.ucf.edu/~gqi/publications/CVPR2020_TrGAN.pdf)
GANを教師なし表現学習に利用するタスクでGeneratorの中間層に直接制約をかけることで品質を向上させるTrGANを提案した。
スクリーンショット 2020-07-11 23 10 06

背景

GANを表現学習に利用する研究では学習過程における分布の不安定さが問題になる。例えばdiscriminatorの中間層を特徴表現に使用する場合だとその識別境界は学習段階において変動してしまう(学習初期:物体の大まかな構造→学習後期:物体のテクスチャ品質など)。
conditional-GANを利用すれば学習中に変動しないラベル情報を利用することができるので,改善されるがラベルを大量に必要とする。そこで従来Self-Supervisedの枠組みとしてrotation-detectable regularizationが提案されている。
これはリアル画像にRotationを加えて、Discriminatorは、rotationのパラメータも推定できるように学習,そしてGeneratorは,Discriminatorが生成画像からrotationを識別できるような画像を生成することで,安定した学習を可能にする手法である。
スクリーンショット 2020-07-12 1 03 33

しかしこの論文ではrotation変換は,Generator内部ではなく画像生成後にかけられており、Generatorに課す制約としては不十分ではないか主張している、よって層内部の特徴mapにも直接制約をかけるIntermediate Feature Matching(IFM)とFeature-Transformation Matching(FTM)を提案した。

提案手法

(1)IFM: Generator,Discriminatorの関係はDecoder-Encoderで対になっている。(Generatorの深い層はTextureなどの高レベル情報を獲得し、それはDiscriminatorの浅い層で抽出される)。したがって対になっている中間層どうしでもlocal discriminatorを用意しadversarial lossを計算する。
スクリーンショット 2020-07-12 1 03 45

(2)FTM: 画像とそれにrotationをかけたものからdiscriminatorはrotationパラメータを抽出できるという制約を中間層にまで拡大する。すなわちGeneratorの生成する中間層と,その中間層にrotation変換をかけたものからdiscriminatorはrotationパラメータを抽出できなければならない。(そうなるようにGeneratorに制約をかける)。

ただここで注意しなければならないのは中間層に対するroation変換は画像に対するrotation変換とは別であるという点である。すなわちrotationのパラメータが与えられたときの中間層のrotation変換関数をまず学習させる必要がある。これはGANの学習と並行して行われ、realデータのみを使用して,変換なし画像を通した時の中間層にrotation変換をかけたものが、rotationをかけた画像を通したときの中間層と一致するように学習させる。
こうして得られた中間層のrotation変換関数を用いてgeneratorの中間層にrotation変換をかけ,discriminatorに未変換の中間層とともに渡すことで、discriminatorがrotationのパラメータを予測できるかという損失を計算する 。(予測できなければよい中間層を作ってないGeneratorのミスなのでGeneratorのみの制約である)

スクリーンショット 2020-07-12 1 04 07

結果

画像生成

ImageNetやcifar10で評価し従来より高品質な画像生成が可能になった
スクリーンショット 2020-07-12 1 15 40

表現学習

従来手法とくらべても有力な表現が獲得されていることが確認できた。

スクリーンショット 2020-07-12 1 16 50
スクリーンショット 2020-07-12 1 17 26

注 表現学習の評価に関して

unsupervisedの表現学習の評価は次のように行われる。unsupervisedで獲得した特徴表現(ここではdiscriminatorの各中間層出力)を入力としてAlexnetなどの新たなclassifierをラベルあり学習させ、その正解率で評価する。
表現学習はラベルなしで行われるが、その表現がよいものになっているかどうかはラベルありで学習させてみないとわからないということ。

Deep Hough Transform for Semantic Line Detection

(https://arxiv.org/abs/2003.04676)
直線検出の代表的なアルゴリズムであるハフ変換をdeeplearningでやる手法を提案。
CNNで特徴抽出したものからハフ変換のパラメータであるθ,rを推測させる。画像内の余分に重複する線はr,θのパラメータ空間内では近傍に存在することから3x3のCNNを用いることにより省くことが可能になる。

また特徴抽出のbackbornにはFPNベースでmulti scale予測を行なっている

スクリーンショット 2020-06-15 20 43 00
スクリーンショット 2020-06-15 20 42 50

TubeTK: Adopting Tubes to Track Multi-Object in a One-Step Training Model

https://arxiv.org/abs/2006.05683
MOTタスクにおいてフレームごとにBboxを検出するのではなく,Bboxを時間方向にも拡大したBtubeというもので検出,Trackingを行う手法を提案した。Btubeは3つのbboxと、その時間位置の15パラメータで表現され、間の時刻の検出は線形補完により獲得される。これによりspartial情報だけでなくtemporal情報も考慮に入れたtrackingがend to end に学習できる。
スクリーンショット 2020-06-24 22 17 42

ネットワークは動画シーケンスをsliding windowによって切り取ったものを入力とし、3DCNN-RetinaNetを通すことで、最初、真ん中、最後の3つのbboxとその間のフレーム数が出力される。このとき真ん中のbbox時刻はシーケンスの中間時刻でなくともよく、これにより物体の移動をよく表現できるBtubeが自動的に獲得されることになる。またBtubeどうしの関連づけはIOUと移動方向を用いた貪欲法によって行われ学習パラメータを必要としない。
スクリーンショット 2020-06-24 22 44 21
スクリーンショット 2020-06-24 22 44 12

Knowledge Distillation Meets Self-Supervision

ECCV2020 https://arxiv.org/abs/2006.07114 実装公開済み(https://github.com/xuguodong03/SSKD)
知識蒸留でself supervised学習の考えを取り入れることでSOTAを達成した。
知識蒸留を行う際はteacher modelの予測ラベルとstudent model の予測ラベルのKL divを小さくするように学習する手法が一般的である。しかしこれはclassfication specificに止まっているのでそれ以外の特徴もteacher modelから取り出したい(richer dark knowledge)。
ここではSimCRLなどのself supervised学習で利用される「強いaugementation→contrastive学習」を利用する。 batch内の画像でコサインsoftmaxの予測行列を作り,それに関してもteacher modelとstudent modelのKL divを最小化させることでstudent modelを学習させる。

スクリーンショット 2020-07-18 0 44 27

学習ステップは次の通り
(1)teacher modelをクラス予測だけで学習させる。(強いaugementationは学習を混乱させるのでかけない)
(2)teacher modelの重みをフリーズした後、最終層に全結合層2層のブランチを追加し、強いaugementationをかけたものと同じ画像かどうかを学習させる。
(3)データセットを教師としたクラス予測、contrastive予測、そしてteacher modelを教師としたクラス予測、contrastive予測を全て使い、student modelを学習させる。

この時,teacher modelがあまりにも不正確な予測をしているとstudent modelの学習を悪化させてしまうので
予測が正しい上位kパーセントのサンプルだけを使用する(データセットの正解データは全て使用)

この手法はモデルの最終層出力のみを使用して蒸留しているので、teacher modelとstudent modelが全く異なっていても使用可能である。

スクリーンショット 2020-07-18 0 58 13

スクリーンショット 2020-07-18 0 58 54

Image GANs meet Differentiable Rendering for Inverse Graphics and Interpretable 3D Neural Rendering

ICLR2021 (https://openreview.net/forum?id=yWkP7JuHX1)
StyleGANと微分可能レンダラーを組み合わせることで、手軽なアノテーションのみでimage→3Dモデルを学習させる論文
Screenshot from 2020-10-05 22-31-41

単眼カメラから3D形状(テクスチャも)を予測する研究の多くは3Dデータの正解データが必要で大変である。Syntheticデータを使えばデータの準備は容易くなるがin the wildな環境で課題が残る。

そこでこの論文ではStyleGANに着目した。StyleGANの16個ある潜在変数の内上流の4個を動かし、他を固定させることで同一インスタンスで異なった視点の画像を生成できる。これを利用することでインスタンスのMulti View画像を簡単に入手できる。
(multi-view data generator)
Screenshot from 2020-10-05 22-32-13

StyleGANで生成した異なった視点画像に対し,360度を30度ごとの12個のクラスに分けラベル付けを行う。(この作業は1インスタンスあたり1分以内らしい)
Screenshot from 2020-10-05 22-32-01

この画像をCNNに入力しmeshとテクスチャのパラメータを予測させる。これで3Dモデルができるので、あとはこれを微分可能レンダラーで、アノテーションした角度を元にレンダリングすれば入力画像が再構成される。(inverse graphics model)
最終的にStyleGANの生成画像と再構成画像でCycle Consistency lossをとることにより学習させることができる。
(なおStyleGANで生成した画像にMaskRCNNでセグメンテーションをかけてInstance部分のみでlossを取れるようにしている)

また推論時はStyleGANの生成画像の代わりにin the wildな画像を入力してあげれば任意のインスタンスの3Dモデルが推定できる。

さてここまでの話はStyleGANでMulti view画像を生成できることをベースにしているが,もちろんStyleGANも完璧なDisentangleが可能なわけではない。(上流4つの潜在変数だけを動かしてもTextureや形が変化してしまう可能性もある)
そこでこの論文ではStyleGANがよりDisentangleできるように、推定した形状、テクスチャパラメータを利用して潜在変数自体を生成するMappingネットワークも学習させることを試みている。
Screenshot from 2020-10-05 22-32-24

Mappingネットワークの学習は2ステップで学習される。
最初にMappingネットワークのみを学習させるためにStyleGANのパラメータは固定し、これまで同様meshと、テクスチャを予測させる。そしてmesh,テクスチャと視点角度、background情報(MaskRCNNの範囲外)をMappingネットワークに通すことで潜在変数を推定させる。この新たに予測した潜在変数と最初のStyleGANの潜在変数でLossをとりMapping Networkを訓練する。
(この段階でMesh,テクスチャ、視点は潜在変数の中でDisentangleされる)
さらにdisentangle性を高めるため続いてMappingネットワークとStyleGANのパラメータを同時にfinet-tuneする。
予測したmesh,テクスチャパラメータをMappingネットワークに通して、潜在変数を生成する。これを用いてStyleGANで画像生成し再度mesh,テクスチャを予測する。
こうして再予測されたmesh、テクスチャパラメータでCycle consistency lossをとることでStyleGANのパラメータも微調整可能になる。
またBackgroundもdisentangleするためにmesh,テクスチャを変えた際のbackgroudの一貫性ロスなどもかけている。

まとめると、この論文ではStyleGANで生成した画像を用いた3D推定だけでなく、StyleGANそのものを学習させていくことが可能なので、これら2つを相互に繰り返し行うことでより正確な3D推定が可能になる。

Weakly Supervised Deep Detection Networks

(https://arxiv.org/abs/1511.02853)
画像クラスラベルのみからObject detectionを学習させる研究。2015年の論文
スクリーンショット 2020-07-21 17 42 46

Alexnet全結合前の特徴mapに対し、selective searchの取得領域でspatial pyramid poolingをかけ、各領域ごとの特徴mapを取得する。
次にそれをクラスブランチ、検出ブランチに分離する。クラスブランチではクラスsoftmaxで各領域におけるクラスのscoreを計算し、検出ブランチでは領域softmaxでどの領域が検出に適しているかのscoreを算出する。最後にその2つの要素積をとり全領域で足し合わせることでimage単位のscoreに変換。クラスラベルとの誤差を計算できる。
スクリーンショット 2020-07-21 17 43 08
スクリーンショット 2020-07-21 17 43 24

Swapping Autoencoder for Deep Image Manipulation

(https://arxiv.org/abs/2007.00653)
2つの画像のtextureを入れ替えて画像生成するGANを提案
スクリーンショット 2020-07-09 23 57 41
アーキテクチャはAE形式でtextureとstructureそれぞれを表現する潜在変数にencodeした後、再構成する。画像からtextureの潜在変数を直接推定するのでstyleGANのように推論時のiterationは必要なくリアルタイム変換が可能である。

スクリーンショット 2020-07-09 23 57 55

損失関数は画像の再構成誤差とadversarial誤差に加え、任意の二枚の画像のstructure変数を入れ替えてもdiscriminatorを騙すようにadversarial lossを追加。もちろんこれだけではstructureとtextureをdisentangleできないのでそのための仕組みを2点追加している。
(1)潜在変数のencodeの際、structure変数に関しては空間情報を失わないように畳み込み後の特徴mapを使用するのに対し、texture変数に関してはGAPした後の全結合出力を使うことで差別化
(2)texture変数を入れ替えて再構成した画像に関しては,patch discriminatorを用いてtextureの真偽を判定する。

なお、上記のようにtexture変数を分離しているため、ベッドの縞模様のような構造的なtextureに対しては上手く行かず今後の検討としている。(画像右端参照)

スクリーンショット 2020-07-09 23 58 08

Siamese Box Adaptive Network for Visual Tracking

(https://arxiv.org/abs/2003.06761)
CVPR2020(実装公開済み)
Object TrackingでSiamRPNなどのbox回帰を用いる手法では,物体の形状やaspect比を捉えるため複数のanchorを用意しておく必要がある。しかしanchorの設計はハイパラで経験的なものに左右される。centernetに代表されるようなanchor freeモデルに変える手法を提案。

異なったスケールの特徴をSiamネットおなじみのcross-correlationしてclassificationブランチ、regreesionブランチの2つを取得する。classificationブランチはforeground,backgroundを予測し(centernetでいうheatmapの役割)、regressionブランチはbox conerまでの距離を予測する。
理解が怪しいがcenternetのように中心を示すpeak値を抽出していないことから,bboxは複数できるはず。なのでtestの時は,tracking中は形状、aspectがスムーズに変換するはずということを利用して予測されたbbox群から最適なbboxを選ぶことで予測していると思われる。

SiamFCでは正解ラベル作る時に大きさとか考慮してなくて適当(これは本当にそう思う)ということで一番よいgroundtruthラベルの作り方が語られていて嬉しみ
スクリーンショット 2020-05-09 9 57 48
スクリーンショット 2020-05-09 9 58 01

Self-supervised Video Object Segmentation

https://arxiv.org/abs/2006.12480 (実装公開予定 https://github.com/fangruizhu/self_sup_semiVOS)
スクリーンショット 2020-07-08 16 46 52

self supervisedのdense trackingタスクでSOTAを達成した。ボトルネックにLabカラーのチャネルドロップを用いること、referenceフレームとのaffinity matrixを計算して色復元タスクを解くことは従来通り。それに加えてエラードリフトやオクルージョン対策として2点追加。
スクリーンショット 2020-07-08 16 46 38

(1) momentum memory:

オクルージョン対策のためreference frameに隣接フレームだけでなく離れたフレームも使用して特徴量をmemoryとして保持しておく考えがある。これをMoCo(https://arxiv.org/abs/1911.05722) のdictionaryとして扱い、特徴量抽出のencoderをtarget reference別にして勾配更新をMomentum updateに改良。これによりGPUメモリーをそれほど消費せず安定したtrainを可能にした。

(2)Self-supervisd online adaptation:

trainではなくtest時に,学習させたモデルを教師としてUnetを新たにスクラッチで学習させ、最終的な推論はUnetで行う。 これはmodelが前のフレームのmaskをpropagateして予測するのでオクルージョンからの復元が難しいのに対し,Unetは,単一フレームのみを利用した予測になるので関係なく予測できるためである。一見モデル出力を教師として学習させるのでUnetの出力も同じになり,意味ないと思われるかもしれないがそうではない。Deep image Prior(https://dmitryulyanov.github.io/deep_image_prior) によると教師画像にoverfitする前にインスタンスの学習が行われることが観測できる。つまりUnetのtrainをあるiterationで切ることでより良いモデルにすることができる。そしてその学習曲線を実験で確認した。
スクリーンショット 2020-07-08 16 47 13

さらにこのモデルは100個だけのvideoや、imageをhomography matrixをかけて擬似的な動画にしたものでもある程度学習が可能であり、その際の学習時間はわずか11分である。
スクリーンショット 2020-07-08 16 47 32

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.