Open limoran233 opened 3 years ago
For each target we have one instance of the discriminator, each containing a set of parameters representing the target. So, for each frame with K targets there will be K target score predictions with dim [1,1,m,n].
The segnetwork predicts a segmentation mask per target. The scores of the masks are only fused in the end. There extists the option of processing multiple targets simultaneously (multi_targets = True) , but that only concatenates them in dim=0. This could potentially make the processing slightly faster, but will not have any impact on the accuracy.
Thank you very much for your quick reply, I am more clear now. By the way, the masks for multiple targets are fused together in the memory module, but separated in the discriminator for single-target processing. Am I right?
The masks from different targets are first fused, then separated for each target before stored in the memory
Ah, although I don’t understand it very well, thank you very much. I will continue to think seriously.
在discriminator.py中,
class Discriminator(nn.Module): ... def apply(self, ft):
与seg_network.py中, class SegNetwork(nn.Module): ... def forward(self, scores, features, image_size):
Hello, I print cft and scores, and found that for the evaluate process of each frame, the sequence has several targets, and it will print cft and scores the same times. The size of scores is [1,1,m,n], and for different target, the parameters are not the same. I want to know why this is and where is it set up? Another question: In seg_network.py, I found that num_targets and num_fmaps are always 1, and there are several num_targets in the target, and output 1 the same times, so multi_targets is always False, but the result of segmentation is multi-target. Why? ? I am really confused and need your answer. Looking forward to your reply!