tensorflow.js - 使用 tensorflowjs 进行文本检测
问题描述
我想只使用 tensorfow.js 或 opencv.js 在图像中进行文本检测,我已经在 keras 上构建了一个 EAST 模型并转换为 tensorflowjs 模型
任何人都可以帮我解决这个问题,任何资源都会很棒
谢谢。
解决方案
因此,最初您需要下载 East freeze 模型,然后使用以下命令将其转换为 tensorflow.js 模型
tensorflowjs_converter --input_format=tf_frozen_model --output_node_names='feature_fusion/Conv_7/Sigmoid,feature_fusion/concat_3' /path_to_model /path_to_where_you_want_save_converted_model.
接下来在获取输入图像并加载模型后,下面的代码将检测文本是否存在
$("#predict-button").click(async function () {
let image = $("#selected-image").get(0);
let tensor = tf.browser.fromPixels(image)
.resizeNearestNeighbor([640, 320])
.expandDims(0);
tensor = tf.cast(tensor, 'float32')
const [output1, output2] = await model.predict(tensor);
const data1 = await output1.data();
const data2 = await output2.data();
由于东部模型给出了两个输出,即分数和几何。所以这里 data1 将给出几何图形(我忽略了它,因为我的最终目标是检测文本是否存在而不是本地化它)并且 data2 将给出分数。
接下来,我设置了 0.5 的阈值来区分文本是否存在。如果概率大于 0.5,则文本存在,如果小于 0.5,则文本不存在于文本中。
注意:现在,我跳过了预处理步骤(调整大小除外),他们从输入图像的 RGB 值中减去平均 RGB 值。
推荐阅读
- animation - 如何围绕自己的中心旋转 SVG 对象?
- sql - sql查询从重复项中查找缺失值
- winapi - 如何在 Win32 中设置 Emoji 弹出位置
- jquery - 删除功能完成后添加的类 jquery
- python - 无法再运行 pytest,因为 importlib-metadata entry_points() 因 configparser.DuplicateOptionError 而失败
- python - 在 pandas 和 NDFrame 中找到相似的序列(逐行)
- flutter - 默认 Scaffold 主体的颜色是什么?
- javascript - 如何通过单击调用 php 文件来处理上传的文件
- java - Process.WaitForExit() 挂起
- java - JLayer 关闭应用后仍在播放 MP3