Matlab 的detectMaskRCNN 函数错误与变量之间的大小差异

问题描述

背景信息 我是编码新手,并且一直致力于掩码 rcnn(修改后的更快 rcnn)项目以识别图像中的 Stryker Miltary Vehicles。我在 matlab 的 mask rcnn 训练示例和 matlab 答案的帮助下毫无问题地训练了 maskrcnn 网络,但是当我尝试运行函数 detectMaskRCNN 时,出现错误。主要错误是在 Matlab 的 detectMaskRCNN 函数中运行第 39-45 行后,YRCNNReg 变量和 bBoxes 的大小不同。我知道在阅读文档 YRCNNReg 应该是 [numClasses*4 numObs] 之后,YRCNNReg 变量的大小不正确。我尝试遍历函数中如何创建 YRCNNReg 的代码,但我无法理解多层中发生了什么。我所知道的是,两个变量都使用 numClasses 但 YRCNNReg 包括背景类,而 bBoxes 不包括。例如,YRCNNReg 大小是 8x1000 单个,bBoxes 是 1000x4 单个。传入的 params 参数表示要检测的 numClasses 为 1。所以我不确定如何解决这个大小差异。非常感谢您的帮助!

问题 所以我的问题是“我怎样才能让 YRCNNReg 达到正确的大小?在这个过程中的什么地方导致了这种差异?”

参考链接https://www.mathworks.com/help/deeplearning/ug/instance-segmentation-using-mask-rcnn.html

这类似于我用来训练我的神经网络的训练示例,但我更改了试图识别的类。

错误

Arrays have incompatible
sizes for this operation.

Error in
helper.applyRegression
(line 24)
    gx = BoxIn(:,3).*x +
    px; % center position

Error in detectMaskRCNN
(line 93)
bBoxes =
helper.applyRegression(bBoxes,reg,params.MinSize,params.MaxSize);

detectMaskRCNN 正在运行的代码

line 38: % Run prediction on the inputs

line 39: [bBoxes,YRCNNClass,YRCNNReg,featureMap] = predict(...

line 40:                                        dlnet,X,'Outputs',outputNodes);

line 41:           
                         
line 42 % Extract data from the output dlarrays

line 43: bBoxes = extractdata(bBoxes)';

line 44: YRCNNClass = extractdata(YRCNNClass);

line 45: YRCNNReg = extractdata(YRCNNReg);

...

line 93: bBoxes = helper.applyRegression(bBoxes,params.MaxSize);

https://github.com/matlab-deep-learning/mask-rcnn/blob/main/detectMaskRCNN.m

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...