Is there a way to use any pretrain network (not necessarily Resnet) to segment multispectral images in MATLAB? deeplabv3plusLayers only allows [height width 3] or [height width] input images. While I tried bypassing the error deeplabv3plusLayers returns, when I used trainNetwork I get an error referring to the wrong input data 224x224xN. Can the first convolutional layer of the pretrained network be replaced to process more than 3 channels?
Prashant Kumar answered .
2025-11-20
imageSize = [224 224 3]; % Specify the number of classes. numClasses = 10; N = 50; % Create DeepLab v3+. lgraph = deeplabv3plusLayers(imageSize, numClasses, "resnet50"); analyzeNetwork(lgraph) layers = lgraph.Layers %% newlgraph = replaceLayer(lgraph,'input_1',imageInputLayer([224 224 N],'Name','input')); newlgraph = replaceLayer(newlgraph,'conv1',convolution2dLayer(7,64,'stride',[2 2],'padding',[3 3 3 3],'Name','conv1')) analyzeNetwork(newlgraph)