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

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

Réponse acceptée

Eiji Ota
Eiji Ota le 18 Juin 2018
添付して頂いたPDFを拝見しますと、"Rutting_Level2" のラベルに相当する BoundingBox のデータが存在しないためにエラーが発生しているようです。
  1 commentaire
MASAYUKI EGUCHI
MASAYUKI EGUCHI le 19 Juin 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);

Connectez-vous pour commenter.

Plus de réponses (5)

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

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

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

MASAYUKI EGUCHI
MASAYUKI EGUCHI le 24 Juin 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 commentaire
MASAYUKI EGUCHI
MASAYUKI EGUCHI le 24 Juin 2018
追伸ですが、現在PCのCドライブの使用容量がなぜかいっぱいになるという状況に陥っており、まともにMathlabが動作していません。そのため、添付のFasterCNNRGB004.pdfのような結果となっており、コードの間違いがないか確認したいと思った次第です。 よろしくお願いいたします。

Connectez-vous pour commenter.


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

Connectez-vous pour commenter.

Catégories

En savoir plus sur シミュレーションの実行 dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!