请问用caffe中siamese网络训练时,图像数据集如何转换成网络输入所需要的image pairs data?

Ubuntu14.04
已邀请:

Goodwin

赞同来自: caffe

两个办法:
(1) 修改convert_imageset的代码,每次读入两个图像,可以参考convert_mnist_siamese_data的代码;
(2) 做两个data layer,分别读取不同数据集文件(如LMDB,HDF5)。
第一种方法有点复杂,但是比较精炼,可以根据具体问题进行调整。第二种方法比较简单,但是需要特别注意处理label等信息。

筱黎2124135913

赞同来自:

请问楼主问题是否解决?

cjwdeq

赞同来自:

参考convert_mnist_siamese_data代码,读取图像patch以后只需要改少量代码就可以,其实就是给datum对象赋值的过程,形如:
datum.set_channels(2);  // one channel for each image in the pair
datum.set_height(rows);
datum.set_width(cols);
datum.set_data(pixels, 2*rows*cols);
这些代码的修改,只要把要set的值取到直接set就行了,你只需要加一些取这些值得过程就好

雨叶清霜

赞同来自:

可以将成对的图像分成两个ImageData输入,但是这样就造成一个问题,就是有两个label(因为ImageData输入时,必须带有label),这就需要自己写一个python layer来将两个label进行合并,网上可以找的到。这样就省去了图像转成leveldb或者lmdb的时间

芗苫若宇 - 90后IT_Girl

赞同来自:

楼主你好,请问这个问题你解决过了吗?可以共享出来一块学习吗?

gybheroin - 90后研究僧

赞同来自:

看我的博客吧,http://blog.csdn.net/gybheroin

要回复问题请先登录注册