Open jaxony opened 7 years ago
Hey, thanks for the interest!
I haven't seen any noticeable improvements to be honest but I haven't run any thorough tests so I've been getting weird results with my implementation anyway.
Minor update on this question:
I've compared the qualitative results of the two networks and it seems like MaxUnpooling gives slightly smoother segments with fewer holes.
You can reproduce this by running the code using overfit mode python run.py --mode overfit
, using 200 epochs on 4 or 8 samples. In order to do that you have to change these lines to
data['sample_size'] = 8
experiment['epochs'] = 200
and add a random seed here to ensure that the samples will be the same in the two experiments. So change it to something like:
image_ids = self._coco.getImgIds()
np.random.seed(1024)
self._image_ids = np.random.choice(image_ids, size=min(len(image_ids), self._sample_size), replace=False)
After you run it, for each sample you'll get a plot with the original image, the detections and the ground truth, which should help you visualize the results.
EDIT: The next version of master will plot a binary mask for each object instead of a single mask for the whole image.
Thanks for your work on getting ENet in Keras! Have you found any increases in accuracy from using MaxUnpooling instead of just naive UpSampling?