EAST 算法超详细源码解析(二)、模型推断与测试结果生成

Date: 2020/05/10

Author: CW

前言:

继上篇 EAST 算法超详细源码解析(一)、数据预处理与标签生成 后,本文就模型推断与测试结果生成的代码部分进行解读,咦,这是不是还有点“首尾呼应”的 feel,哈哈!


对一张测试图片或整个测试集进行推断

我们可以对一张图片进行推断,也可以对整个测试集(有多张测试图片)进行推断,下图是对一张图片的推断。

detect

再来看看在整个测试集上的推断。


detect_dataset(i)


detect_dataset(ii)

plot_boxes:画出图像中的所有文本框

这部分相对简单,即绘制多边形,只要知道了每个多边形的4个顶点坐标位置即可。

plot_boxes

get_boxes:对模型输出进行后处理,生成最终的预测结果(文本框)

这是核心部分,让我们来一起来仔细研读。

注意这个方法是对一张图片进行处理的,于是 score map 和 geo map 都是3维,在输入该方法前去掉了最外面对应 batch size 那一维(详细可以看前面部分 'detect' 那张图中的代码)。


get_boxes(i)

有了位于文本框内部的点的位置以及它们的geo map,我们就可以转换出对应的文本框位置。

get_boxes(ii)

restore_polys:计算图像中所有文本框4个顶点的坐标


restore_polys(i)

注意,由于模型输出结果是对应在下采样1/4的特征图上的,于是我们需要在坐标转换到输入图像的尺寸。

restore_polys(ii)

以上将角度取反,是因为在生成gt时,d值是将文本框旋转到与水平轴夹角为0的情况下计算出来的(在上一篇解读 EAST 算法超详细源码解析(一)、数据预处理与标签生成 中有详细说明),于是模型学到的d对应的也是文本框与水平轴夹角为0的情况,从而我们根据d计算出文本框顶点坐标后需要将文本框旋转回去,这样得到的顶点坐标才是真实的值。

光说可能不太好理解,画个图以示吾意(如果还没get到 CW 的意思那就只能yy了):

将文本框旋转为真实位置
restore_polys(iii)

最后,记得要判断下旋转后得到的文本框顶点位置是否在输入图像尺寸范围内,如果是,才将其记录下来,作为合法的文本框。

到此,我们已经生成一批预测结果了,但是这其中有许多重复的文本框,需要将其去除,化繁为简。这种后处理通常都会用NMS,但这里的NMS有点不一样哦,做了一些小改动,称为局部感知的 NMS(Locality-Aware NMS)。


locality_aware_nms:后处理,局部感知的非极大值抑制

局部感知的 NMS 的不同之处在于,对于两个框,在它们的 IoU 大于阀值的时候,不是直接去掉一个,而是将它们进行合并。这样,根据 IoU 阀值,相似的框不会去除而是相互合并

locality_aware_nms(i)

合并完毕后使用标准的NMS。

locality_aware_nms(ii)  

iou:计算多边形之间的交并比

这里计算的 IoU 不是常规的bbox而是多边形之间的,但原理其实一致。

iou

weighted_merge:文本框之间的合并


weighted_merge

结语

标准 NMS 的代码就不在这里解读,这已经是常规操作了,大家应该也没什么胃口,模型推断与测试结果生成的代码解读就到此为止。

总地来看,重点部分有两个,一个是从 geo map 转换出旋转的文本框位置,另一个就是局部感知的NMS。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352