Ask Your Question

Revision history [back]

Caffe (FlowNet 2.0) and wrong number of inputs

Hello,

im using OpenCVSharp (C#) and im trying to use the pretrained FlowNet 2.0 model to estimate the OpticalFlow between two images. https://github.com/lmb-freiburg/flownet2

Using https://github.com/shimat/opencvsharp/OpenCVSharp in version 4.2.0.202001 (Released 08.01.2020)

For FlowNet 2.0 the models can be downloaded through an shell script. They contains different version of the model with different feature sets. They contain an "weights.caffemodel" and two "prototxt" templates. One for training and one for deployment. In the Deployment-Template i have replaced some placeholder to real resolutions.

I'm loading the model and sets my 2 inputs. But if i'm calling Forward i always get the exception "inputs.size() >= 2".

using (var net = CvDnn.ReadNetFromCaffe(@"Resources\FlowNet2_deploy.prototxt.template",
    @"Resources\FlowNet2_weights.caffemodel.h5"))
{
    net.SetPreferableBackend(Net.Backend.OPENCV);
    net.SetPreferableTarget(Net.Target.CPU);

    var img0 = CvDnn.BlobFromImage(left, 1.0, new Size(1024, 720), new Scalar(), true, false);
    var img1 = CvDnn.BlobFromImage(right, 1.0, new Size(1024, 720), new Scalar(), true, false);
    net.SetInput(img0, "img0");
    net.SetInput(img1, "img1");

    var predict = net.Forward("predict_flow_final");  << exception
}

Has anyone an idea what this can be? Maybe OpenCV is not compatible to this CNN?