《简记DBNet》
文本检测常用的模型,如果要检测多个类别,多加 DBHead 是一种方式,而且dbnet 的一个弊端就是有重叠的文本框目标无法区分。
Key Words:dbnet
Beijing, 2022
DBNet 网络结构
- backbone: Resnet18
- neck:FPN
- head:DBHead
- fm 经过各种卷积上采样4倍得到 prob_mask 利用 bce loss训练
- fm 经过另外各种卷积上采样4倍得到 threshold_mask 利用 L1 训练
- sigmoid(k * (prob_mask - threshold_mask) )经过 DB (可微分二值化)得到 binary mask 利用 bce loss 或 dice loss 训练
![](https://i-blog.csdnimg.cn/blog_migrate/f4794016ac0d0c37b15dd2e1e29d63e4.png)
DBNet 后处理操作
- 模型推理得到的结果,如下图右上角所示 记为 pred_prob_mask
- 对 pred_prob_mask 取 0.3 阈值二值化,删除较小的噪声区域
- cv2. findcontours 得到包围每个二值化前景区域的点集合 记为 pred_pts
- 对 pred_pts 进行反 shrink 操作得到 pred_ori_pts
- 利用 minAreaRect 得到从 pred_ori_pts 得到最小包围框(可以不是水平的矩形,4个点,8个值),画到原图上如下图左下角所示
![](https://i-blog.csdnimg.cn/blog_migrate/e95364c6556f13ad46e39d57964432ed.png)