文字检测模型EAST应用详解 ckpt pb的tf加载,opencv加载(east文本检测)

网友投稿 541 2022-09-21

文字检测模型EAST应用详解 ckpt pb的tf加载,opencv加载(east文本检测)

文字检测模型EAST应用详解 ckpt pb的tf加载,opencv加载(east文本检测)

参考链接:https://github.com/argman/EAST (项目来源)

https://github.com/opencv/opencv/issues/12491  (遇到的问题)

https://pyimagesearch.com/2018/08/20/opencv-text-detection-east-text-detector/   (opencv加载)

文字检测有很多比较好的现成的模型比如yolov3,pesnet,pennet,east。不一一赘述,讲一下自己跑通east的过程。

在https://github.com/argman/EAST链接中-项目,windows下,各种包的版本要正确否则会出一些乱七八糟的错误。

运行EAST/eval.py。没有什么特别的问题要说,我在cpu下单张640*480的图能够达到每张0.4秒左右,还是非常优秀的。中英文数字都可。

但是源代码是ckpt,非常大,转成pb会稍微小点。添加:

##生成pb模型,但需要修改model.py

output_graph_def = tf.graph_util.convert_variables_to_constants(self.sess, # The session is used to retrieve the weights

tf.get_default_graph().as_graph_def(), # The graph_def is used to retrieve the nodes

["feature_fusion/Conv_7/Sigmoid", "feature_fusion/concat_3"]

)

output_graph='D:\\work\\video\\hand_tracking_no_op\\hand_tracking\\EAST\\east_icdar2015_resnet_v1_50_rbox\\out.pb'

with tf.gfile.GFile(output_graph, "wb") as f:

f.write(output_graph_def.SerializeToString())

print("%d ops in the final graph." % len(output_graph_def.node))

位置在eval.py中的

saver.restore(self.sess, model_path)后面。注意如果你想要opencv加载pb还要修改model.py中的内容,这个在后面一篇文章中会讲到。

生成后用tf加载,方法跟加载ckpt相似:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:tomcat简单优化
下一篇:使用zabbix_sender
相关文章

 发表评论

暂时没有评论,来抢沙发吧~