-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix tiseg #79
Fix tiseg #79
Conversation
See #80 for a discussion about that. |
- drop unused and dysfunctional code against overlaps - drop wrong reading order algorithm - improve mask post-processing (closing instead of dilation) - make mask-polygon conversion optional - add optional post-processing to reduce overlaps (bbox-only or mask-based): - non-maximum suppression across classes (min_iou_drop) - non-maximum merging across classes (min_iou_merge) - within-other suppression across classes (min_share_drop) - within-other merging across classes (min_share_merge) - implement correct reading order algorithm (bbox-only or mask-based): - partial order constraints under lr-tb assumption - topological sort - annotate confidence along with coordinate results
Here's more, bringing some sanity to block segmentation. (Changes to the Again, this is not about model quality itself, but what best to make of it. For concerns about training/model quality, cf. last comments in #82. |
Regarding
I already have a commit for this in line, i.e. merely comparing the text score with image score (and ignoring background score), and then white-filling and alpha-masking the image parts in the |
BTW, we still do have a problem with loggers here. In 5a4d874 I had to remove the So how do we do this properly, @kba? Use our |
IIUC (and that's a big if) then yes, please.
The longer I have to deal with the |
I get the same feeling. Also, processing vs non-processing context and module-level imports: Implementing |
I have been actively defending against that with hacks like
It's quite a mouthful to stop those import-time print statements but I see no way around it for |
This brings about the bare minimum functionality of this processor.
Results are not that good, but that's another story. (Legacy text/non-text segmentation does not detect enough non-text, so the recall is bad but precision is good. Deep ML segmentation however fails miserably as it does not even preserve most foreground at all, plus precision is equally bad as recall.)