Simulinkへの​fasterRCNN​ObjectDete​ctorクラスの読み​込み方法について

上記のようなSimulinkブロックを作成し、matファイルに保存している学習済みのFaster R-CNN(fasterRCNNObjectDetectorクラス)をloadしようとしたのですが、以下のようなエラーが出ます。
そのほかFrom WorkspaceブロックやFrom Fileブロックを用いてロードしようとしても同様にサポートされていないとエラーが表示されます。
こちらのwebセミナーではSimulink上でFaster R-CNNが扱えるといった旨の解説がなされているのですが、具体的な読み込み方法についてご存知の方がいらしたらお教えください。

 Respuesta aceptada

Tohru Kikawada
Tohru Kikawada el 20 de Sept. de 2018

2 votos

MATLAB Functionブロックの中ではコード生成可能な関数のみ記述ができます。
fasterRCNNObjectDetector はコード生成に対応していないため、MATLAB Functionブロックの中に直接記述することはできません。 coder.extrinsic を使って外部関数としてMATLAB側で実行するように宣言する必要があります。
具体的には下記のような記述になります。 coder.extrinsic 宣言した関数はコード生成はできませんのでご注意ください。
MATLAB Functionブロックの記述例:
function Iout = myFasterRCNNDetecter(I)
coder.extrinsic('detectFasterRCNN');
Iout = zeros(128,194,3,'uint8');
Iout = detectFasterRCNN(I);
end
MATLAB Functionブロックから呼び出す detectFasterRCNN.m の記述例:
function I = detectFasterRCNN(I)
persistent detector
if isempty(detector)
data = load('fasterRCNNVehicleTrainingData.mat');
detector = data.detector;
end
[bboxes,scores] = detect(detector,I);
if ~isempty(scores)
I = insertObjectAnnotation(I,'rectangle',bboxes,scores);
end
end

1 comentario

Shuto Higashi
Shuto Higashi el 20 de Sept. de 2018
丁寧なご回答誠にありがとうございます。 無事動作を確認することができました。

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2017b

Preguntada:

el 19 de Sept. de 2018

Comentada:

el 20 de Sept. de 2018

Community Treasure Hunt

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

Start Hunting!