A MatConvNet-based implementation of the Fully-Convolutional Networks for image segmentation

Overview

MatConvNet implementation of the FCN models for semantic segmentation

This package contains an implementation of the FCN models (training and evaluation) using the MatConvNet library.

For training, look at the fcnTrain.m script, and for evaluation at fcnTest.m. The script fcnTestModelZoo.m is designed to test third party networks imported in MatConvNet (mainly from Caffe).

While we are still tuning parameters, on the PASCAL VOC 2011 validation data subset used in the FCN paper, this code has been used to train networks with this performance:

Model Test data Mean IOU Mean pix. accuracy Pixel accuracy
FCN-32s (ours) RV-VOC11 60.80 89.61 75.49
FCN-16s (ours) RV-VOC11 62.25 90.08 77.81
FCN-8s (ours) RV-VOC11 in prog. in prog. in prog.
FNC-32s (orig.) RV-VOC11 59.43 89.12 73.28
FNC-16s (orig.) RV-VOC11 62.35 90.02 75.74
FNC-8s (orig.) RV-VOC11 62.69 90.33 75.86

The original FCN models can be downloaded from the MatConvNet model repository.

About

This code was developed by

  • Sebastien Ehrhardt
  • Andrea Vedaldi

References

'Fully Convolutional Models for Semantic Segmentation', Jonathan Long, Evan Shelhamer and Trevor Darrell, CVPR, 2015 (paper).

Changes

  • v0.9.1 -- Bugfixes.
  • v0.9 -- Initial release. FCN32s and FCN16s work well.
Comments
  • Reference to non-existent field 'gpus'.

    Reference to non-existent field 'gpus'.

    I was successfully build matconvnet with GPU. Then I tried to run fcnTrain.m and got error as

    Reference to non-existent field 'gpus'.
    
    Error in fcnTrain (line 95)
    bopts.useGpu = numel(opts.train.gpus) > 0 ;
    

    If I comment the line bopts.useGpu = numel(opts.train.gpus) > 0 ;, I got a new error as

    Error using  ' 
    Transpose on ND array is not defined. Use PERMUTE instead.
    
    Error in vl_argparse (line 76)
        values = horzcat(values, struct2cell(args{ai})') ;
    
    Error in cnn_train_dag (line 32)
    opts = vl_argparse(opts, varargin) ;
    
    Error in fcnTrain (line 98)
    info = cnn_train_dag(net, imdb, getBatchWrapper(bopts), ...
    

    I am using MATLAB 2015b in Window OS, newest matconvnet and matconvnet-fcn versions. Someone got the same error? How can I solve it.

    Thanks everybody

    opened by mjohn123 8
  • Seeking help on using pretrained models for inferencing

    Seeking help on using pretrained models for inferencing

    Dear MatConvNet FCN community,

    I'm new to semantic segmentation and was hoping to test the pretrained models posted on the MatConvNet website. I'm simply trying to view inferences made by the model "pascal-fcn32s-dag.mat" on peppers.png.

    I'm trying two approaches and getting stuck in both.

    1. In fcnTest.m, redirecting opts.modelPath from 'data/fcn32-voc11/net-epoch-50.mat' to the pretrained model. I get errors regarding the structure of the pretrained model not matching what is expected.
    2. loading the pretrained model in a test script using the DagNN wrapper and running net.eval({'data', im_}). It runs and I get a 384x512x21 value corresponding to 'upscore,' but I'm not sure how to correctly interpret/print the segmentation.

    Any help would be greatly appreciated!

    Thank you, Stephen

    opened by stephenjlee 6
  • fcntrain.m code does not run out of the box fix

    fcntrain.m code does not run out of the box fix

    Hi,

    First off, thanks guys for making a great package for deep learning (MatConvNet).

    So when I tried to run fcntrain.m after downloading matconvnet-fcn, I ran into several errors where lines using sprintf function where not working as below:

    Warning: Control Character '\J' is not valid. See 'doc sprintf' for control characters valid in the format string.

    In getBatch at 50 In fcnTrain>@(imdb,batch)getBatch(imdb,batch,opts,'prefetch',nargout==0) at 104 In cnn_train_dag>process_epoch at 164 In cnn_train_dag at 84 In fcnTrain at 97 Warning: Control Character '\S' is not valid. See 'doc sprintf' for control characters valid in the format string. In getBatch at 51 In fcnTrain>@(imdb,batch)getBatch(imdb,batch,opts,'prefetch',nargout==0) at 104 In cnn_train_dag>process_epoch at 164 In cnn_train_dag at 84 In fcnTrain at 97 Warning: could not read image 'data oc11' Error using imread (line 349) File "data oc11" does not exist.

    It turns out lines with this: lb = imread(sprintf(imdb.paths.classSegmentation, imdb.images.name{train(i)})) ;

    can be replaced with this: lb = imread([imdb.paths.classSegmentation(1:end-6),imdb.images.name{train(i)},'.png']) ;

    and then the code runs as intended. I'm operating on Matlab2014a on Windows 7 64 bit with a GPU NVIDIA Quadro K1200.

    opened by sjayasur 5
  • why the fcnTrain.m running so slow?

    why the fcnTrain.m running so slow?

    Is it because the DriverVersion and the ToolkitVersion not matched? How to solve this problem? Please help me,thank you! CUDADevice with properties:

                      Name: 'GeForce GTX TITAN X'
                     Index: 1
         ComputeCapability: '5.2'
            SupportsDouble: 1
             DriverVersion: 7.5000
            ToolkitVersion: 6.5000
        MaxThreadsPerBlock: 1024
          MaxShmemPerBlock: 49152
        MaxThreadBlockSize: [1024 1024 64]
               MaxGridSize: [2.1475e+09 65535 65535]
                 SIMDWidth: 32
               TotalMemory: 1.2885e+10
           AvailableMemory: 1.2609e+10
       MultiprocessorCount: 24
              ClockRateKHz: 1076000
               ComputeMode: 'Default'
      GPUOverlapsTransfers: 1
    KernelExecutionTimeout: 1
          CanMapHostMemory: 1
           DeviceSupported: 1
            DeviceSelected: 1
    

    train: epoch 01: 1/565: 0.9 Hz accuracy: 0.677 0.048 0.032 objective: 3.044 train: epoch 01: 2/565: 1.0 Hz accuracy: 0.691 0.048 0.033 objective: 3.035 train: epoch 01: 3/565: 1.0 Hz accuracy: 0.698 0.048 0.033 objective: 2.994

    opened by brisker 4
  • The GPU failed to allocate memory when started to run epoch 2 with fcnTrain.m

    The GPU failed to allocate memory when started to run epoch 2 with fcnTrain.m

    I used Pascal Titan X to run fcnTrain.m. The first epoch went smoothly with 5.5Hz of GPU. However, when it finished epoch 01 and started to do epoch 02, following error showed up. I inspected size of ims. This variable size is 798 kb, and my GPU has 12GB. Matconvnet was compiled under :Windows 10+Pascal Titan X +CUDN 8.0RC+CuDNN 5.1

    train: epoch 02: 1/ 56:Error using gpuArray The GPU failed to allocate memory. To continue, reset the GPU by running 'gpuDevice(1)'. If this problem persists, partition your computations into smaller pieces.

    Error in getBatch (line 91) ims = gpuArray(ims) ;

    Error in fcnTrain>@(imdb,batch)getBatch(imdb,batch,opts,'prefetch',nargout==0) (line 108) fn = @(imdb,batch) getBatch(imdb,batch,opts,'prefetch',nargout==0) ;

    Error in cnn_train_dag>process_epoch (line 197) inputs = state.getBatch(state.imdb, batch) ;

    Error in cnn_train_dag (line 83) [stats.train(epoch),prof] = process_epoch(net, state, opts, 'train') ;

    Error in fcnTrain (line 99) info = cnn_train_dag(net, imdb, getBatchWrapper(bopts), ...

    Following is the epoch 01

    capture

    opened by daofeng2007 2
  • fcnTrain Error using imread (line 349) File

    fcnTrain Error using imread (line 349) File "data oc11" does not exist.

    I am trying to train the fcn model when I got this error, have you ever met this before? Warning: Control Character '\S' is not valid. See 'doc sprintf' for control characters valid in the format string.

    opened by brisker 2
  • for the cnn_train(net, imdb, getBatch, varargin), the format of mnist 'imdb' and the fcn 'imdb' is different

    for the cnn_train(net, imdb, getBatch, varargin), the format of mnist 'imdb' and the fcn 'imdb' is different

    for the imdb data of the mnist example and the fcn example , the 'imdb.images' contains totally different subvariables mnist 'imdb.images': data , data_mean , labels , set fcn 'imdb.images' : id , name , set, classification ,segmentation, size Since the two examples are using the same cnntrain function, I really can not understand how could cnntrain function or cnn_train_dag function can process the two kind of variables in different formats. Can anyone explain on this issue? Thanks a lot !

    opened by brisker 1
  • confusion matrix in SegmentationAccuracy

    confusion matrix in SegmentationAccuracy

    Hi, I believe there is an error in the confusion matrix due to the usage of the same index variable on matrices with different size . This results in a wrong accuracy. Before using the 'ok' variable for indexing 'predictions', 'predictions' should be the same size as 'labels'. A possible fix would be using 'max' instead of 'sort' for the predictions, e.g. [~,predictions] = max(predictions, [], 3) ;

    Thanks.

    opened by liavassif 1
  • Warning: Escaped character '\S' is not valid. See 'doc sprintf' for supported special characters.

    Warning: Escaped character '\S' is not valid. See 'doc sprintf' for supported special characters.

    i got bellow error..when running fcnTrain.m

    In getDatasetStatistics (line 9) In fcnTrain (line 64) Error using imread (line 349) File "data oc11" does not exist.

    Error in getDatasetStatistics (line 9) lb = imread(sprintf(imdb.paths.classSegmentation, imdb.images.name{train(i)})) ;

    Error in fcnTrain (line 64) stats = getDatasetStatistics(imdb) ;

    opened by EMCL 0
  • DAG Batch Normalization Parameter Initialization

    DAG Batch Normalization Parameter Initialization

    I'm a little new to MatConvNet, so this may not be an issue but I thought I'd submit it anyway and see what shakes out.

    I'm using beta23, and I insert a batch normalization layer like this: nn.addLayer('u4_bn',dagnn.BatchNorm(),{'u4_c2_x'},{'u4_bn_x'},{'filters' 'bias' 'moments'})

    I run training using the dag network training included in the examples folder, and it gives an error that the multipliers don't have the same depth as the data. I looked at nn, and the parameters for filters, bias, and moments are empty. So, I changed the code to this:

    nn.addLayer('u4_bn',dagnn.BatchNorm(),{'u4_c2_x'},{'u4_bn_x'},{'filters' 'bias' 'moments'})
    f = nn.getParamIndex('filters');
    b = nn.getParamIndex('bias');
    m = nn.getParamIndex('moments');
    nn.params(f).value = ones(64, 1, 'single') ;
    nn.params(b).value = ones(64, 1, 'single') ;
    nn.params(m).value = zeros(64, 2, 'single') ;
    nn.params(f).weightDecay = 0 ;
    nn.params(b).weightDecay = 0 ;
    nn.params(m).weightDecay = 0 ;
    

    I initialize the network and the params for filter, bias, and moments are still empty. I was able to narrow it down to 'nn.initParams()' seemed to clear the values I was setting. If I set the values of filters, bias, and moments after 'nn.initParams()', then things seem to run smooth. I haven't dug into the code for initParams, but there seems to be a bug here.

    Edit: I posted this in the wrong spot. My apologies.

    opened by Nicholas-Schaub 0
  • I want to use 4 gpus but I got

    I want to use 4 gpus but I got "boost::filesystem::canonical" error

    I have 4 gpus and I set opts.train.gpus = [1,2,3,4] .When I run the fcnTrain.m I got this error: boost::filesystem::canonical why?Have anyone else tried this before?

    opened by brisker 0
  • Not format GZIP

    Not format GZIP

    fcnTest.m makes error.

    ~/~/~/~/berkeleyVoc12Segments.tar.gz

    ERROR: vocSetupAdditionalSegmentations (line 60) untar(archivePath, tempDir) ;

    ERROR: fcnTest (line 46) imdb = vocSetupAdditionalSegmentations(...

    Any body know how to fix this?

    opened by testpiano 0
  • vl_imreadjpeg.m error

    vl_imreadjpeg.m error

    尝试将 SCRIPT vl_imreadjpeg 作为函数执行: C:\Users\Administrator\Desktop\matconvnet-fcn-master\matconvnet\matlab\vl_imreadjpeg.m 出错 getBatch (line 52) rgb = vl_imreadjpeg({rgbPath}) ; 出错 fcnTrain>@(imdb,batch)getBatch(imdb,batch,opts,'prefetch',nargout==0) (line 107) fn = @(imdb,batch) getBatch(imdb,batch,opts,'prefetch',nargout==0) ; 出错 cnn_train_dag>process_epoch (line 178) inputs = state.getBatch(state.imdb, batch) ; 出错 cnn_train_dag (line 89) stats.train(epoch) = process_epoch(net, state, opts, 'train') ; 出错 fcnTrain (line 98) info = cnn_train_dag(net, imdb, getBatchWrapper(bopts), ...

    Anyone Kindly help me or give some code to solve this issue... Waiting for your positive response... thank you...

    opened by zhenghaojie666 1
  • In FcnTest.m my predicted image does not get displayed

    In FcnTest.m my predicted image does not get displayed

    Below is the code of fcntest.m. I have trained the model using deep vgg-16. And i am using the trained model from epoch 20 to test images for segmantation. Everyhting runs smooth but the predicted image is not displayed. Need Help !!

    function info = fcnTest(varargin)

    % experiment and data paths opts.expDir = 'data/fcn32s-voc11' ; opts.dataDir = 'data/voc11' ; opts.modelPath = 'data/fcn32s-voc11/net-epoch-20.mat' ;

    opts.modelFamily = 'matconvnet' ; [opts, varargin] = vl_argparse(opts, varargin) ;

    % experiment setup opts.imdbPath = fullfile(opts.expDir, 'imdb.mat') ; opts.vocEdition = '11' ; opts.vocAdditionalSegmentations = true ; opts.vocAdditionalSegmentationsMergeMode = 2 ; opts.gpus = [] ; opts = vl_argparse(opts, varargin) ;

    resPath = fullfile(opts.expDir, 'results.mat') ; if exist(resPath) info = load(resPath) ; return ; end

    if ~isempty(opts.gpus) gpuDevice(opts.gpus(1)) end

    % ------------------------------------------------------------------------- % Setup data % -------------------------------------------------------------------------

    % Get PASCAL VOC 11/12 segmentation dataset plus Berkeley's additional % segmentations if exist(opts.imdbPath) imdb = load(opts.imdbPath) ; else imdb = vocSetup('dataDir', opts.dataDir, ... 'edition', opts.vocEdition, ... 'includeTest', false, ... 'includeSegmentation', true, ... 'includeDetection', false) ; if opts.vocAdditionalSegmentations imdb = vocSetupAdditionalSegmentations(... imdb, ... 'dataDir', opts.dataDir, ... 'mergeMode', opts.vocAdditionalSegmentationsMergeMode) ; end mkdir(opts.expDir) ; save(opts.imdbPath, '-struct', 'imdb') ; end

    % Get validation subset

    val = find(imdb.images.set == 2 & imdb.images.segmentation) ;

    % Compare the validation set to the one used in the FCN paper % valNames = sort(imdb.images.name(val)') ; % valNames = textread('data/seg11valid.txt', '%s') ; % valNames_ = textread('data/seg12valid-tvg.txt', '%s') ; %assert(isequal(valNames, valNames_)) ;

    % ------------------------------------------------------------------------- % Setup model % -------------------------------------------------------------------------

    switch opts.modelFamily case 'matconvnet' net = load(opts.modelPath) ; net = dagnn.DagNN.loadobj(net.net) ; % makes a DagNN object from net.net net.mode = 'test' ; for name = {'objective', 'accuracy'} net.removeLayer(name) ; end net.meta.normalization.averageImage = reshape(net.meta.normalization.rgbMean,1,1,3) ; predVar = net.getVarIndex('prediction') ; inputVar = 'input' ; imageNeedsToBeMultiple = true ;

    case 'ModelZoo' net = dagnn.DagNN.loadobj(load(opts.modelPath)) ; net.mode = 'test' ; predVar = net.getVarIndex('upscore') ; inputVar = 'data' ; imageNeedsToBeMultiple = false ;

    case 'TVG' net = dagnn.DagNN.loadobj(load(opts.modelPath)) ; net.mode = 'test' ; predVar = net.getVarIndex('coarse') ; inputVar = 'data' ; imageNeedsToBeMultiple = false ; end

    if ~isempty(opts.gpus) gpuDevice(opts.gpus(1)) ; net.move('gpu') ; end net.mode = 'test' ;

    % ------------------------------------------------------------------------- % Train % -------------------------------------------------------------------------

    numGpus = 0 ; confusion = zeros(21) ;

    for i = 1:numel(val) imId = val(i) ; name = imdb.images.name{imId} ; rgbPath = sprintf(imdb.paths.image, name) ; labelsPath = sprintf(imdb.paths.classSegmentation, name) ;

    % Load an image and gt segmentation rgb = vl_imreadjpeg({rgbPath}) ; rgb = rgb{1} ;

    anno = imread(labelsPath) ;

    lb = single(anno) ;

    lb = mod(lb + 1, 256) ; % 0 = ignore, 1 = bkg

    % Subtract the mean (color) ----> i think its normaliation method im = bsxfun(@minus, single(rgb), net.meta.normalization.averageImage) ;

    % Some networks requires the image to be a multiple of 32 pixels if imageNeedsToBeMultiple sz = [size(im,1), size(im,2)] ; sz_ = round(sz / 32)*32 ; im_ = imresize(im, sz_) ;

    else im_ = im ; end

    if ~isempty(opts.gpus) im_ = gpuArray(im_) ; end

    net.eval({inputVar, im_}) ; scores_ = gather(net.vars(predVar).value) ;

    [~,pred_] = max(scores_,[],3) ;

    if imageNeedsToBeMultiple pred = imresize(pred_, sz, 'method', 'nearest') ;

    else pred = pred_ ; end

    % Accumulate errors ok = lb > 0 ; % ok becomes a logical array

    confusion = confusion + accumarray([lb(ok),pred(ok)],1,[21 21]) ; % Plots if mod(i - 1,30) == 0 || i == numel(val) clear info ; [info.iu, info.miu, info.pacc, info.macc] = getAccuracies(confusion) ; fprintf('IU ') ; fprintf('%4.1f ', 100 * info.iu) ; fprintf('\n meanIU: %5.2f pixelAcc: %5.2f, meanAcc: %5.2f\n', ... 100info.miu, 100info.pacc, 100*info.macc) ;

    figure(10) ; clf;
    imagesc(normalizeConfusion(confusion)) ;
    axis image ; set(gca,'ydir','normal') ;
    colormap(jet) ;
    drawnow ;
    
    % Print segmentation
     figure(100) ;clf ;
    displayImage(rgb/255, lb, pred) ; 
    drawnow ;
    
    % Save segmentation
    imPath = fullfile(opts.expDir, [name '.png']) ;
    imwrite(pred,labelColors(),imPath,'png');
    

    end end

    % Save results save(resPath, '-struct', 'info') ;

    % ------------------------------------------------------------------------- function nconfusion = normalizeConfusion(confusion) % ------------------------------------------------------------------------- % normalize confusion by row (each row contains a gt label) nconfusion = bsxfun(@rdivide, double(confusion), double(sum(confusion,2))) ;

    % ------------------------------------------------------------------------- function [IU, meanIU, pixelAccuracy, meanAccuracy] = getAccuracies(confusion) % ------------------------------------------------------------------------- pos = sum(confusion,2) ; res = sum(confusion,1)' ;
    tp = diag(confusion) ; IU = tp ./ max(1, pos + res - tp) ; meanIU = mean(IU) ; pixelAccuracy = sum(tp) / max(1,sum(confusion(:))) ; meanAccuracy = mean(tp ./ max(1, pos)) ;

    % ------------------------------------------------------------------------- function displayImage(im, lb, pred) % ------------------------------------------------------------------------- subplot(2,2,1) ; image(im) ; axis image ; title('source image') ;

    subplot(2,2,2) ; image(uint8(lb)) ; % image(uint8(lb-1)) ; axis image ; title('ground truth')

    cmap = labelColors() ; subplot(2,2,3) ; image(pred) ; % image(uint8(pred-1)) ; axis image ; title('predicted') ;

    colormap(cmap) ;

    % ------------------------------------------------------------------------- function cmap = labelColors() % ------------------------------------------------------------------------- N=21; cmap = zeros(N,3); for i=1:N id = i-1; r=0;g=0;b=0; for j=0:7 r = bitor(r, bitshift(bitget(id,1),7 - j)); g = bitor(g, bitshift(bitget(id,2),7 - j)); b = bitor(b, bitshift(bitget(id,3),7 - j)); id = bitshift(id,-3); % bitshift(id,-3); end cmap(i,1)=r; cmap(i,2)=g; cmap(i,3)=b; end cmap = cmap / 255;

    opened by Tahir-Mujtaba 0
  • pre-trained model lacking fields lead to error

    pre-trained model lacking fields lead to error

    Hi all,

    I've met a similar problem, and do not know what to do with it. The error info is as follows:

    train: epoch 01: 1/ 11:Error using dagnn.DagNN/eval (line 80) No variable of name 'input' could be found in the DAG.

    Error in cnn_train_dag>process_epoch (line 213) net.eval(inputs, opts.derOutputs) ;

    Error in cnn_train_dag (line 83) [stats.train(epoch),prof] = process_epoch(net, state, opts, 'train') ;

    Error in cnn_four (line 61) [net, info] = trainFn(net, imdb, getBatchFn(opts, net.meta), ...

    I use the pre-trained model "imagenet-matconvnet-alex.mat", and found that when calling "eval", the net's lacking of some fields results the error. "net"(or "obj" in def. of "eval") lacking fields like "varNames", "numPendingVarRefs", ... . Does any body know how to fix it?

    Thanks and Regards

    opened by BigBugX 0
  • FCN model initialization for other networks rather than VGG-16

    FCN model initialization for other networks rather than VGG-16

    I want to convert "AlexNet" & "googleNet" network to FCN semantic segmentation network (similar to the way "fcnInitialize" function convert VGG-16 to FCN). Is there any initialization function for this networks?

    opened by Mirsadeghi 0
  • vl_nnloss.m function error

    vl_nnloss.m function error

    Hi I got error when using vl_nnloss function. @ line 225, there is repeated index generated in "ci" variable. I try to fine tune FCN network with batchSize = 200 & numSubbatch = 10, when i change one of this values, i pass the error, So what happen when i choose this parameters and How can i fine-tune the net with this parameters? Thanks

    opened by Mirsadeghi 0
Owner
VLFeat.org
VLFeat.org
This repository implements and evaluates convolutional networks on the Möbius strip as toy model instantiations of Coordinate Independent Convolutional Networks.

Orientation independent Möbius CNNs This repository implements and evaluates convolutional networks on the Möbius strip as toy model instantiations of

Maurice Weiler 59 Dec 9, 2022
Another pytorch implementation of FCN (Fully Convolutional Networks)

FCN-pytorch-easiest Trying to be the easiest FCN pytorch implementation and just in a get and use fashion Here I use a handbag semantic segmentation f

Y. Dong 158 Dec 21, 2022
PyTorch Implementation of Fully Convolutional Networks. (Training code to reproduce the original result is available.)

pytorch-fcn PyTorch implementation of Fully Convolutional Networks. Requirements pytorch >= 0.2.0 torchvision >= 0.1.8 fcn >= 6.1.5 Pillow scipy tqdm

Kentaro Wada 1.6k Jan 7, 2023
Another pytorch implementation of FCN (Fully Convolutional Networks)

FCN-pytorch-easiest Trying to be the easiest FCN pytorch implementation and just in a get and use fashion Here I use a handbag semantic segmentation f

Y. Dong 158 Dec 21, 2022
Dewarping Document Image By Displacement Flow Estimation with Fully Convolutional Network.

Dewarping Document Image By Displacement Flow Estimation with Fully Convolutional Network

null 111 Dec 27, 2022
Dewarping Document Image By Displacement Flow Estimation with Fully Convolutional Network

Dewarping Document Image By Displacement Flow Estimation with Fully Convolutional Network

null 39 Aug 2, 2021
The official PyTorch implementation of the paper: *Xili Dai, Xiaojun Yuan, Haigang Gong, Yi Ma. "Fully Convolutional Line Parsing." *.

F-Clip — Fully Convolutional Line Parsing This repository contains the official PyTorch implementation of the paper: *Xili Dai, Xiaojun Yuan, Haigang

Xili Dai 115 Dec 28, 2022
End-to-End Object Detection with Fully Convolutional Network

This project provides an implementation for "End-to-End Object Detection with Fully Convolutional Network" on PyTorch.

null 472 Dec 22, 2022
Speech Separation Using an Asynchronous Fully Recurrent Convolutional Neural Network

Speech Separation Using an Asynchronous Fully Recurrent Convolutional Neural Network This repository is the official implementation of Speech Separati

Kai Li (李凯) 116 Nov 9, 2022
This project is a loose implementation of paper "Algorithmic Financial Trading with Deep Convolutional Neural Networks: Time Series to Image Conversion Approach"

Stock Market Buy/Sell/Hold prediction Using convolutional Neural Network This repo is an attempt to implement the research paper titled "Algorithmic F

Asutosh Nayak 136 Dec 28, 2022
PyTorch implementation of Graph Convolutional Networks in Feature Space for Image Deblurring and Super-resolution, IJCNN 2021.

GCResNet PyTorch implementation of Graph Convolutional Networks in Feature Space for Image Deblurring and Super-resolution, IJCNN 2021. The code will

null 11 May 19, 2022
BMW TechOffice MUNICH 148 Dec 21, 2022
An implementation of the research paper "Retina Blood Vessel Segmentation Using A U-Net Based Convolutional Neural Network"

Retina Blood Vessels Segmentation This is an implementation of the research paper "Retina Blood Vessel Segmentation Using A U-Net Based Convolutional

Srijarko Roy 23 Aug 20, 2022
PyTorch implementation of convolutional neural networks-based text-to-speech synthesis models

Deepvoice3_pytorch PyTorch implementation of convolutional networks-based text-to-speech synthesis models: arXiv:1710.07654: Deep Voice 3: Scaling Tex

Ryuichi Yamamoto 1.8k Jan 8, 2023
CoSMA: Convolutional Semi-Regular Mesh Autoencoder. From Paper "Mesh Convolutional Autoencoder for Semi-Regular Meshes of Different Sizes"

Mesh Convolutional Autoencoder for Semi-Regular Meshes of Different Sizes Implementation of CoSMA: Convolutional Semi-Regular Mesh Autoencoder arXiv p

Fraunhofer SCAI 10 Oct 11, 2022
Danfeng Hong, Lianru Gao, Jing Yao, Bing Zhang, Antonio Plaza, Jocelyn Chanussot. Graph Convolutional Networks for Hyperspectral Image Classification, IEEE TGRS, 2021.

Graph Convolutional Networks for Hyperspectral Image Classification Danfeng Hong, Lianru Gao, Jing Yao, Bing Zhang, Antonio Plaza, Jocelyn Chanussot T

Danfeng Hong 154 Dec 13, 2022
PyTorch implementation of ShapeConv: Shape-aware Convolutional Layer for RGB-D Indoor Semantic Segmentation.

Shape-aware Convolutional Layer (ShapeConv) PyTorch implementation of ShapeConv: Shape-aware Convolutional Layer for RGB-D Indoor Semantic Segmentatio

Hanchao Leng 82 Dec 29, 2022
Subdivision-based Mesh Convolutional Networks

Subdivision-based Mesh Convolutional Networks The official implementation of SubdivNet in our paper, Subdivion-based Mesh Convolutional Networks Requi

Zheng-Ning Liu 181 Dec 28, 2022
Search and filter videos based on objects that appear in them using convolutional neural networks

Thingscoop: Utility for searching and filtering videos based on their content Description Thingscoop is a command-line utility for analyzing videos se

Anastasis Germanidis 354 Dec 4, 2022