How to deploy trained Faster RCNN object detector in Simulink

3 views (last 30 days)
HAMMED OBASEKORE
HAMMED OBASEKORE on 13 Feb 2019
Edited: Arkadiy Turevskiy on 28 Oct 2021
Kindly assist me on how to use my trained Faster RCNN object detector in Simulink.
I have trained a Faster RCNN object detector in matlab, however, I am having difficulty in getting resources and way point on how to use it in simulink.
I humbly need urgent response.

Answers (2)

Patel Mounika
Patel Mounika on 22 Feb 2019
Edited: Patel Mounika on 22 Feb 2019
There is no direct way to use Faster RCNN object detector in Simulink but instead you can use coder.extrinsic to wrap the call to object detector inside a MATLAB Function block.
You can refer to below link to know more about coder.extrinsic:https://www.mathworks.com/help/fixedpoint/ref/coder.extrinsic.html
For example, the MATLAB Function block can be defined as follows:
function[bboxes,scores]= function(I)
coder.extrinsic('detect');
coder.extrinsic('evalin');
[bboxes,scores] = evalin('base','detect(detector,I)'); % detector is fasterRCNNObjectDetector and I is image.
Hope this helps.
  2 Comments
HAMMED OBASEKORE
HAMMED OBASEKORE on 6 Mar 2019
Thanks Patel I eventually got it to work. Here is the correct function inside Matlab Function block in simulink
function [count, bbox ,prob] = fcn(I)
%#codegen
% ensure to initialize your trainned FasterRCNN in the workspace
% I is the Image
coder.extrinsic('evalin')
coder.extrinsic('assignin')
kk= zeros(50,1,'double');
prob = zeros(50,1,'double');
bbox = zeros(50,4,'double');
k=0;
assignin('base','u',I)
[bboxes, scores, cat] = evalin('base','detect(detector,u)')
N = size(scores)
k = N(1)
count = k;
for i = 1:50
if(~isempty(k))
if i > k
break;
end
end
kk(i) = scores(i);
bbox(i,:) = bboxes(i,1:4);
end
prob = kk;

Sign in to comment.


Arkadiy Turevskiy
Arkadiy Turevskiy on 18 Oct 2021
Edited: Arkadiy Turevskiy on 28 Oct 2021
As of R2021b you can use Deep Learning Object Detector block in Computer Vision Toolbox. For mpre information please see Deep Learning in Simulink page in documentation.

Community Treasure Hunt

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

Start Hunting!