faster r-cnn についての質問

Faster R-CNNにていて教えていただきたいことがあります。今、ディープラーニングで研究を行うにあたり先行研究(同研究室)で行われていたFaster R-CNNのネットワークを比較実験するために、学習済みのネットワークを調べています。このネットワークは2017aでのバージョンで作成されています。
ここで何点か疑問に思ったので質問いたします。
まず、InputLayerを調べてみると[32 32 3]と比較的小さいサイズになっているのですが、アンカーボックスのサイズはそれより大きい224*212などのサイズになっています。学習データはsmallestImageDemensionで700*700の同一サイズに変更されていますが、自分の理解ではそれをさらに32*32にリサイズされ入力層に流れると思っています。そこで下記のURLで同じような質問をしてあるのを見つけたのですが、どうやら仕様が2017とでは違うようで、2017では検出するオブジェクトの検出するサイズに合わせて入力サイズを決めているそうなのですが、答えにある内容があまり理解できませんでした。
この質問者と同じ疑問ですが[32 32]の画像ではあまりにも小さすぎると思い、どうやって学習していたのか疑問です。2020verで例にのっとって入力サイズを224*224で行ってもうまく学習できません。
もし2017verでFRCNNを学習していた方や、この変更点について少しでも知っている方がいましたら、教えていただけると幸いです。
よろしくお願いいたします。

8 comentarios

Kenta
Kenta el 25 de Sept. de 2020
こんにちは、以前の結果と比べたいのであれば、それはややこしい状況ですね。例えば、以前のデータがあるのであれば、2020bで以前のものと改良版を両方実行してみて比べるのはどうか?と思ったのですが、それは可能な状況なのでしょうか?
HY
HY el 25 de Sept. de 2020
kenta様。回答いただきありがとうございます。
本来であれば先行研究のネットワークをベースに、様々なCNNや検出器を変更して試したいのですが、そもそも先行研究と同じ学習ができないため困っています。
以前のデータは全てそろっている状態です。2017のコードで実行するとミニバッチサイズがそろってない、とエラーが発生してしまいます。2020aでは、学習データをデータストアに入れてサイズを合わせて学習していますが、2017のバージョンでは、そのようなことはせず、ラベル付けされたテーブル表記(?)の学習データをそのまま入力しています。別枠でも質問しましたが、入力が32*32と非常に小さく、そもそも2017verとは学習方法が異なっているように感じます。
Kenta
Kenta el 25 de Sept. de 2020
なるほど、詳しく教えていただきありがとうございます。
>>別枠でも質問しましたが、入力が32*32と非常に小さく、そもそも2017verとは学習方法が異なっているように感じます。
ありがとうございます。別枠の質問がありましたね、失礼しました。
transformを使っての実装はすでにされましたか?それを使って、2020bでやれば、比較ができると思うのですがいかがでしょう。
HY
HY el 26 de Sept. de 2020
返信していただきありがとうございます。
チュートリアルのようにデータストアへ学習画像とラベルを入れてtransformを使用することは可能ですが、700*700などにサイズを変更して学習させると、inputLayerが32*32であるためかエラーが発生します。(32*32に変更すれば学習できますが、画像が小さすぎます。)
データストアを使わずに、table状態の学習データをtransformしたいのですが上手くできませんでした。(そもそもsmallestImageDimensionがtableの学習データサイズを変更できると説明にあったので必要ないよう感じますが...)
ちなみにミニバッチサイズを1すれば学習はできますがほぼ認識できません。サポートセンターに問い合わせたら、NumRegionsToSampleをミニバッチサイズにするように言われましたが、それでも上手くいきません。そもそも、領域をサンプリングする設定だから関係ないように感じますが。。。
余計なことまで長々と話してしまいすみません。
Kenta
Kenta el 26 de Sept. de 2020
詳しくありがとうございます。
手短な返信で恐縮ですが input layerの入力サイズを700などの大きめの値に統一するのではいかがでしょうか?
HY
HY el 26 de Sept. de 2020
色々と検討していただき、ありがとうございます。
試しましたが損失が14前後のまま学習が上手くされませんでした。
Kenta
Kenta el 26 de Sept. de 2020
なるほど、ありがとうございます。
それではなぜ、先行研究のほうではうまく行ったんですかね?もし、以前どこかの質問やコメントですでに言及があれば申し訳ありません。
バックボーンネットワークを変えたり、アルゴリズムをR-CNN系からYOLOなどに変更してうまくいくとよいのですが、、、
HY
HY el 26 de Sept. de 2020
一番上の質問に載せたURLでも質問しているように、2017aでの学習方法が今と違うみたいでこの違いがわかれば、なぜ先行研究が上手くいったのかわかりそうです。。。
同時進行でYOLOなども行っている状態です。
色々と検討していただき誠にありがとうございます。

Iniciar sesión para comentar.

 Respuesta aceptada

Kenta
Kenta el 26 de Sept. de 2020

0 votos

コメントのほう、ありがとうございます。2017のバージョンは使ったことがなくて、今回の状況だと私にはわかりそうにありません。
ひとまず画像サイズを同一にするようtransformしてみて、かつ特徴抽出のバックボーンのネットワークを変えたりしてみるとよいかもしれません。また、transform後のバウンディングボックスと入力画像も可視化してみて、しっかりとうまくラベリングや前処理ができているかも見てみると良いと思います。色々と原因になりそうなことがあって、ここで同定できず残念ですが、こちらや以前のコメントなど参考になれば嬉しいです。

1 comentario

HY
HY el 26 de Sept. de 2020
ありがとうございました。 色々と確認してみます。

Iniciar sesión para comentar.

Más respuestas (0)

Preguntada:

HY
el 25 de Sept. de 2020

Comentada:

HY
el 26 de Sept. de 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!