【R-CNN】複数の画像の学習について

2 visualizzazioni (ultimi 30 giorni)
MASAYUKI EGUCHI
MASAYUKI EGUCHI il 17 Giu 2018
Commentato: MASAYUKI EGUCHI il 27 Giu 2018
CNNで複数の画像特徴(例:カメラ、テレビの様に)を学習させたいと考えております。 学習させたいのは、床の損傷です。床の損傷を部分的な損傷のLvel1~4、幅広い損傷のLevel1~4にわけ、これを学習させたいと思っております。 単一の損傷であれば、ビデオセミナー 「Fast R-CNNによる物体の検出と識別」等で記載があったのですが、複数の画像特徴を学習させる方法がわかりません。 別添のPDFのコードをどのように変更すれば、複数の画像特徴を学習できますでしょうか?ご教示願います。

Risposta accettata

Eiji Ota
Eiji Ota il 18 Giu 2018
添付して頂いたPDFを拝見しますと、"Rutting_Level2" のラベルに相当する BoundingBox のデータが存在しないためにエラーが発生しているようです。
  1 Commento
MASAYUKI EGUCHI
MASAYUKI EGUCHI il 19 Giu 2018
ご連絡ありがとうございます。 ラベルを修正したところ下記のエラーが出ました。 こちらについてもご教示願えないでしょうか? よろしくお願いいたします。
エラー: vision.internal.cnn.fastrcnn.RegionReader (line 146) ポジティブまたはネガティブ学習サンプルとして使用する領域提案が見つかりません。 エラー: vision.internal.cnn.fastrcnn.TrainingRegionDispatcher (line 63) vision.internal.cnn.fastrcnn.RegionReader(... エラー: fastRCNNObjectDetector/createTrainingDispatcher (line 668) dispatcher = vision.internal.cnn.fastrcnn.TrainingRegionDispatcher(... エラー: fastRCNNObjectDetector.train (line 173) dispatcher = createTrainingDispatcher(... エラー: trainFasterRCNNObjectDetector (line 297) [~, fastRCNN] = fastRCNNObjectDetector.train(trainingData, fastRCNN, options(2), params, checkpointSaver);

Accedi per commentare.

Più risposte (5)

Eiji Ota
Eiji Ota il 19 Giu 2018
領域提案(Region Proposal)がうまく見つかっていないような印象があります。ラベルの方のデータで、gTruth の中の LabelDataをみると、どうも同じ BoundingBox のデータが何度も入ってしまっている印象がありまして、ラベルがうまく作れているか、ちょっと心配ですね。大丈夫かもしれませんが… ラベルデータをロードして、gTruth.LabelData{2, 1}{:}などとタイプしてみて下さい。あと、提案領域がうまく作れていないようであれば、Step1とかStep2のエポック数を増やしてみるのもありかもしれません。

MASAYUKI EGUCHI
MASAYUKI EGUCHI il 20 Giu 2018
ご連絡、ありがとうございます。 コメントいただいてから、再度回しなおしてみたら、解析することができました。 しかしながら、率でアウトプットされ、「Spotted_Level2」等のラベルで表現されません。ラベルで表現するためにはどのコードを改善すればよいでしょうか?お手間をおかけいたしますが、よろしくお願います。

Eiji Ota
Eiji Ota il 20 Giu 2018
いまの呼び方だとラベルの情報が戻って来ないので、下のように戻り値を3個にすればラベルが戻ってきます。
[bboxes, scores, label] = detect(detector, I);
戻ってきたラベルを画像をアノテーションするときの文字列として使えばOKです。
I = insertObjectAnnotation(I, 'rectangle', bboxes, label);

MASAYUKI EGUCHI
MASAYUKI EGUCHI il 24 Giu 2018
ありがとうございます。ご教示いただいたように、下記の入力でラベルの表示ができました。 (添付: ~RGB001) I = imread('D:\7000RGB_150per.jpg'); [bboxes,scores,label] = detect(detector, I); I = insertObjectAnnotation(I, 'rectangle', bboxes,cellstr(label)); figure imshow(I)
ラベルと率を両方表示する場合、下記の通りでよいでしょうか? I = imread('D:\7000RGB_150per.jpg'); [bboxes,scores,label] = detect(detector, I); annotation = sprintf('%s:%f)', label, scores); I = insertObjectAnnotation(I, 'rectangle', bboxes,annotation); figure imshow(I)
引き続き、よろしくお願いいたします。
  1 Commento
MASAYUKI EGUCHI
MASAYUKI EGUCHI il 24 Giu 2018
追伸ですが、現在PCのCドライブの使用容量がなぜかいっぱいになるという状況に陥っており、まともにMathlabが動作していません。そのため、添付のFasterCNNRGB004.pdfのような結果となっており、コードの間違いがないか確認したいと思った次第です。 よろしくお願いいたします。

Accedi per commentare.


Eiji Ota
Eiji Ota il 24 Giu 2018
コードの方を拝見致しますと、CheckPointPath というオプションが有効になっておりまして、これが有効になっていますと、計算の途中結果をディスクに保存するようになります。計算の途中結果が必要ないようであれば、このオプションを無効にしてして頂くと、ディスクの容量を節約することができます。
  1 Commento
MASAYUKI EGUCHI
MASAYUKI EGUCHI il 27 Giu 2018
ありがとうございました! 正常に処理を完了させることができました!

Accedi per commentare.

Categorie

Scopri di più su シミュレーションの実行 in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!