Tensorflowオブジェクト検出APIはトレーニングセットより異なるサイズの画像でオブジェクトを検出しない -- python フィールド と tensorflow フィールド と object-detection フィールド と object-detection-api フィールド 関連 問題

Tensorflow object detection API not detecting objects in images of different size than training set












0
vote

問題

日本語

Tensorflowオブジェクト検出APIを使用してプロジェクトに取り組んでいます。私はいくつかのテストイメージと訓練を受けたこれらの画像の文字 O を検出するための<コード> rfcn_resnet101_coco モデル。

私はそれを通過していた画像に o を検出していたので、モデルはうまく機能していたと思いました。 とここには

しかし、サイズが最初の2つから大きく変化する2つの画像に渡されたとき、モデルは何も検出できませんでした!たとえば、フルページに渡したときまたはシングルワールドモデルへの出力は入力と同じでした。

私はこれが私がモデルの訓練に使用したオリジナルのトレーニングセットは、最初の2つまたはほぼ同じサイズです。

私のモデルを訓練することができるように、それが様々なサイズの画像で文字 o を検出することができるように、トレーニング入力と同様のものだけではないように疑問に思います。私は私の pipeline.config (https://github.com/marcoistasy/imagineocr/blob/develop/imaagineocr/example_data/model/pipeline.config "rel =" nofollow NOREFERRER「>こちらの」がどこに始まるかわからない。

英語

I am working on a project using the Tensorflow Object Detection API. I have trained my model on several test images and have trained a rfcn_resnet101_coco model to detect the letter o in these images.

I thought the model was working fine as it was detecting o (with decent accuracy) in the images I was passing to it. Please see here and here for examples.

However, when I passed in two more images whose size varied greatly from the first two, the model was unable to detect anything! For example, when I passed in a full page or a single world to the model, the output was the same as the input.

I believe this is because the last two images I passed in where much larger or smaller than the original training set that I used to train the model, whereas the first two or roughly the same size.

I am wondering if there is anyway to train my model such that it can detect the letter o in images of varying sizes and not just those similar to the training input. I thought of tweaking my pipeline.config (found here) but am not sure where to start.

</div
           

回答リスト

0
 
vote

まず、特定の方法で画像を訓練することはお勧めできませんので、特に著しく異なるシナリオ、入力サイズでテストします。 つまり、モデル/トレーニング方式が何らかの形でこの違いを扱っていない限り。

さらに、多くのオブジェクト検出器は基準ボックスとしてアンカーを使用し、モデル列車を意味し、次にそれらに関してオブジェクトを予測します。これらは入力解像度に関して特定のサイズを持っています。挽いた真実のオブジェクトのサイズがアンカーサイズに対応するように訓練しているのであれば、それを検出したいオブジェクトにアンカーが合うようにテストします(小さすぎる、または大きすぎる)、それはそれらを検出しません。

これはあなたがする必要があることを意味します:

  1. 検出したいオブジェクトのサイズ(および縦横比)に対応するアンカーを持っています。
  2. トレーニングセット内のこれらのアンカーに対応する挽いた真理オブジェクトがあることを確認して、モデルは実際にそのような場合から学ぶことができます。
 

First of all, it is never a good practice to train on images in a specific manner and then test it on significantly different scenario, input size in particular. That is, unless your model/training scheme is dealing with this difference in some way.

Moreover, many object detectors use anchors as reference boxes, meaning the model trains and then predicts objects with respect to them. These have specific sizes with respect to the input resolution. If you're training such that the ground truth objects' sizes correspond to the anchor sizes, but then test it such that no anchors fit the objects you wish to detect (either too small or too large), then it won't detect them.

This means you need to:

  1. Have anchors which correspond to the sizes (and aspect ratios) of the objects you want to detect.
  2. Make sure you have ground truth objects which correspond to these anchors in the training set, so that your model will actually learn from such cases.
</div
 
 

関連する質問

-1  Tensorflowを使用して10000のユニークアイテムのモデルを作成する方法それはスケールですか?  ( How to make a model of 10000 unique items using tensorflow will it scale ) 
私は私が10000のユニークなアイテムそれぞれの画像を約100枚の画像を持っているユースケースを持っています。私は私と一緒に10のアイテムを持っていますが、10000セットからのすべてのアイテムを持っていて、私はライブデータのテスト時にのみ10個の項目も知って...

0  2つのクラスのTensorflowオブジェクト検出モデルは1つのクラスを検出し、損失が0.1を超えて減少しない  ( Tensorflow object detection model for two classes only detects one class and los ) 
Tensorflowモデル動物園から「Faster_RCNN_INCESTION_RESNET_V2_ATROU_COCO」モデルを使用して、左右の手袋を検出しています。 私は1855が右側の手袋で、1855が残っている3710の手袋画像(256px x 2...

1  対象検出APIで連合したテンソルフロー  ( Tensorflow federated with object detection api ) 
Tensorflow Federatedで訓練された私のオブジェクト検出モデルのデモを実装しようとします。 今すぐim model_lib_v2 train_loopを変更する方法を理解しようとしているので、TFFクライアントコードをインセルする方法を理解し...

1  特定の特定のクラスだけでTensorFlowオブジェクト検出APIを評価する方法  ( How to evaluate tensorflow object detection api on only one particular class ) 
Tensorflowオブジェクト検出API <コード> faster_rcnn_inception_resnet_v2_atrous_coco から、約10クラスでオブジェクト検出モデルを訓練しました。モデルを評価するために model_main.py ファ...

0  Tensorflowオブジェクト検出APIは損失値のみを表示します。地図値を取得する方法  ( Tensorflow object detection api only shows loss value how to get map value ) 
私は私自身のデータセットを訓練しています tensorflowオブジェクト検出API 。トレーニング中は、こののような損失値トレーニング中またはテンソルボードの上にマップ値を得る方法はありますか? ...

1  TensorFlowオブジェクト検出APIが動作しない損失でも低い  ( Tensorflow object detection api not working even loss is low ) 
Tensorflowオブジェクト検出APIを使用して、クレジットカードのカード番号を検出します。だから私は私のカードのデータセットをトレーニングのための約50000枚のカードと検証のための15000枚のカードを準備します.Myモデルはssd_mobilene...

1  Tensorflowオブジェクト検出:ラベルマップのロード  ( Tensorflow object detection loading label map ) 
次のコマンドを実行した後のラベルマップのロード中のエラーに直面しています。 各ボックスに正しいラベルを追加するために使用される文字列のリスト。 path_to_labels = 'モデル/研究/ object_detection / data / mscoc...

0  テンソルフロー異方体診断検出API V2を用いたマルチチャンネル入力  ( Multi channel inputs with tensorflow objection detection api v2 ) 
5チャンネル画像を使用してTensorflow V2オブジェクト検出APIにネットワークを構築します。ただし、Tensorflow 2.2フレームワークを使用して、最初の畳み込み層の重みを変更する方法について停泊しています。 私はV2モデル動物園から事前訓練...

0  TFオブジェクト検出 - 検出されたオブジェクトの総数が増えていない  ( Tf object detection the total number of detected objects is not increasing ) 
水族館の魚の魚を認識するためのモデルを構築しています(150種類の魚)。 TFオブジェクト検出APIからの転送学習のための faster_rcnn_inception_v2_coco_2018_01_28 モデルを使用しています。私は(80の魚)と(55)が...

0  Tensorflow 1.15は、オブジェクト検出のTensorflow APIのトレーニング中のステップ= 0で損失= 10.34を示します。  ( Tensorflow 1 15 shows loss 10 34 with step 0 during training in tensorflow a ) 
Tensorflowオブジェクト検出APIを実装しようとし、トレーニング中に、結果を下回ると、実行に時間がかかり、より多くの結果が得られないことがあります。 私は7つの画像だけを使用し、テストセットで3つの画像を使用しています。まだより多くの結果が得られませ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有