我训练了 U-NET 来分割脑罩。 我的网非常准确,但是有一个问题使我无法梳理头发。
网的输出被转置。 如果我们输入(512,672,50)的图像, 它的输出为(50,672,512)。 移置它们无济于事,因为那时它们不会重叠。
因为我有一个3D图像,所以我将切片传递到网络并将输出附加到新的图像上。 也许是初学者的问题,但是我似乎无法调试它。
代码:-
i=1
final_ar=[]
for l in range(slices):
x=np.array(x_test[l])
x=np.expand_dims(x, axis=0)
predict = model.predict(x, verbose=1)
predict = (predict > 0.5).astype(np.uint8)
temp_ar = np.squeeze(predict[0])
temp_ar = crop_center(temp_ar,height,width)
final_ar.append(temp_ar)
print(i)
i = i+1
final_ar = np.array(final_ar).T #to see overlapping
final_mask = nib.Nifti1Image(final_ar, affine=np.eye(4))
nib.save(final_mask, '/home/vaibhav/mask_nw/mask.nii.gz'
提前谢谢! Vb