关于CREMI数据输入预处理
VinyehShaw opened this issue · 8 comments
作者大大,数据处理readme中没写的很详细我想确认下我想的是否正确
1.对于CREMI数据,是不是原始尺寸12501250,滑动窗口切成 256256,然后online_aug.py改成128128,然后小波变换分成LH两个64128size大小的输入吗
2.CREMI数据的掩码处理用的也是res_image_mask.py吗
正确顺序应该是这样的:(1)滑窗裁剪至256256(同时掩码也需要一摸一样的操作),(2)小波变换得到128128的L和H(掩码也可以resize一份128128的,但不强求,因为后面训练的时候online_aug.py会将mask和image的size调整到一致),(3)训练模型(训练尺寸根据online_aug.py里的参数来确定,我在论文中用的是128128)
res_image_mask.py是给conresnet生成掩码用的,至于conresnet为什么需要这种掩码请看它的原论文
作者大大你好,请教下为什么xnet在训练输入时L和H在经过branch1和2时的通道数为何定义不同一个是3一个是1,定位到xnet.py 132和170行。
self.b1_1_1 = nn.Sequential(
conv3x3(in_channels, l1c),
conv3x3(l1c, l1c),
BasicBlock(l1c, l1c)
)
self.b2_1_1 = nn.Sequential(
conv3x3(1, l1c),
conv3x3(l1c, l1c),
BasicBlock(l1c, l1c)
)
我不知道我数据处理的对不对,在train_sup_Xnet.py中 我的两个输入和mask大小分别为 2,3,128,128 、2,3,128,128、 2,128,128、
我理解的经过小波变换后L和H通道数是一样的,是不是我理解错了
for i, data in enumerate(dataloaders['train']):
inputs_train_1 = Variable(data['image'].cuda()) #2,3,128,128
inputs_train_2 = Variable(data['image_2'].cuda())#2,3,128,128
mask_train = Variable(data['mask'].cuda())#2,128,128
optimizer.zero_grad()
outputs_train1, outputs_train2 = model(inputs_train_1, inputs_train_2)#通道数不对了
torch.cuda.empty_cache()
希望指教感谢
我在写XNet的架构的时候,是在其它基线模型之后,所以习惯性的写了in_channels这个参数,并且把in_channels的默认值习惯性设置为3,在config/dataset_config.py中配置的数据集IN_CHANNELS也是基于数据集原始图像的通道数而确定,这是方便其它基线模型的使用。这不是什么大问题,你在使用的时候注意自己结合数据集的情况调整in_channels就行。
另外,对于原始数据是RGB三通道的图像来说,其实小波变换的方式非常灵活。你可以先将RGB三通道转换成灰度图在进行小波变换得到L和H,这样L和H就是单通道的,训练输入就是[2,1,128,128]。你也可以分别对R、G、B三个通道各自进行小波变换得到各个通道对应的L和H,在concatenate起来,这样训练输入就是三通道的[2,3,128,128]。第二种方法的性能会稍微好一丁点,但说实话这对性能的差异影响不大。
正确顺序应该是这样的:(1)滑窗裁剪至256256(同时掩码也需要一摸一样的操作),(2)小波变换得到128128的L和H(掩码也可以resize一份128128的,但不强求,因为后面训练的时候online_aug.py会将mask和image的size调整到一致),(3)训练模型(训练尺寸根据online_aug.py里的参数来确定,我在论文中用的是128128) res_image_mask.py是给conresnet生成掩码用的,至于conresnet为什么需要这种掩码请看它的原论文
作者大大您好,这里如何是从原始的cremi数据集(hdf)当中得到对应的掩码的呢,也就是如何获得不同神经元的区域,请您不吝赐教,万分感谢!
作者大大,数据处理readme中没写的很详细我想确认下我想的是否正确 1.对于CREMI数据,是不是原始尺寸12501250,滑动窗口切成 256256,然后online_aug.py改成128128,然后小波变换分成LH两个64128size大小的输入吗 2.CREMI数据的掩码处理用的也是res_image_mask.py吗
您好 我想问问您是怎么处理数据集的HDF文件并对他进行预处理的 如果可以的话不知您是否可以提供一下关于CREMI数据预处理的代码
作者大大,数据处理readme中没写的很详细我想确认下我想的是否正确 1.对于CREMI数据,是不是原始尺寸12501250,滑动窗口切成 256256,然后online_aug.py改成128128,然后小波变换分成LH两个64128大小的输入吗 2.CREMI数据的掩码处理用的也是res_image_mask.py吗
您好 我想问问您是怎么处理数据集的HDF文件并对他进行预处理的 如果可以的话,不知您是否可以提供一下关于CREMI数据预处理的代码
同问,请问能提供相应代码吗?
作者大大,数据处理readme中没写的很详细我想确认下我想的是否正确 1.对于CREMI数据,是不是原始尺寸12501250,滑动窗口切成 256256,然后online_aug.py改成128128,然后小波变换分成LH两个64128size大小的输入吗 2.CREMI数据的掩码处理用的也是res_image_mask.py吗
您好 我想问问您是怎么处理数据集的HDF文件并对他进行预处理的 如果可以的话不知您是否可以提供一下关于CREMI数据预处理的代码
这个我后来找到的一份代码倒是,有需要的可以联系我