You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用TensorFlow.js实现图像文本检测(已有转换完成的EAST模型)

TensorFlow.js 端 EAST 文本检测实现指南

核心落地步骤

  • 输入预处理:EAST 模型要求输入宽高必须为32的整数倍,你可以通过tf.image.resizeBilinear()将输入图像缩放到符合要求的尺寸,同时按照你Keras训练时的归一化规则处理像素值,比如训练时用了/255.0归一化就直接对tensor做除法,用了均值减除以标准差就对应做数值映射。
  • 模型加载与推理:前端环境调用tf.loadLayersModel()加载你转换好的模型文件,推理过程全部包裹在tf.tidy()中执行,避免tensor未释放导致的显存溢出,推理前可以先调用tf.setBackend('webgl')启用WebGL加速,能大幅提升运行速度。
  • 输出后处理:EAST 推理输出包含得分图、几何图两个分支,首先过滤得分低于你设定阈值(默认建议0.5)的候选框,再提取每个候选框的偏移量、旋转角度参数计算出旋转文本框的坐标,最后调用OpenCV.js的cv.NMSBoxesRotated()执行非极大值抑制,过滤重复框得到最终结果。

优化建议

  • 如果你需要更高的推理性能,可以将转换后的LayersModel重新转换为GraphModel格式,推理速度可提升20%~40%,转换时使用tensorflowjs_converter工具指定--output_format=tfjs_graph_model参数即可。
  • 后处理阶段如果你的业务场景只有水平文本,可以省略旋转角度计算逻辑,直接用水平矩形框做NMS,能减少30%左右的后处理耗时。
  • 要得到原始图像对应的文本框坐标,预处理阶段需要记录图像的缩放比例,后处理得到结果后再按比例还原坐标即可。

常见问题规避

  • 转换模型时要确保你Keras训练用的EAST模型输出节点和tfjs模型的输出节点对应,避免出现输出shape不匹配的问题。
  • 前端加载模型时如果出现跨域错误,需要调整静态资源服务器的CORS配置,允许前端域名访问模型文件。

内容的提问来源于stack exchange,提问作者Nimesh Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 10:39:04