javascript - ml5.js styleTransfer 仅适用于 1:1 纵横比?
问题描述
我正在试验ml5.jsstyleTransfer
中的方法。它工作得很好,但我遇到了一个问题,它似乎只使用方形图像作为输入源——任何其他纵横比都会导致输出乱码,其中 x/y 坐标出现插值。
这似乎是一个错误,但我想知道我是否做错了什么?
我正在使用ml5-examples存储库中的起始代码,特别是这里:
https ://github.com/ml5js/ml5-examples
您可以在此处查看该代码的功能演示:
https ://ml5js.org/docs/style-transfer-image-example
我从原始源代码中唯一改变的是我的输入图像是非方形纵横比。这是我正在使用的图像,尽管我已将其缩小到大约 300x225 像素。
为了重现我试图描述的问题:
- 转到演示页面。单击“转移”按钮一次,看看它是如何工作的。
- 使用浏览器检查器(我使用的是 Chrome)并将输入图像 (
#inputImg
) 的高度和宽度设置为 300 x 200 像素。 - 点击“转移”,注意明显的乱码结果。
相比之下,为 Deeplearn.js 设置了一个几乎相同的演示:
如果您采取类似的步骤并将输入图像的纵横比倾斜为除正方形以外的其他值,则结果将按预期工作——输出图像是输入图像的样式转换版本,与输入图像具有相同的纵横比。
DeepLearn.js 现在已被弃用,但据我了解,它实际上是 ml5.js 的基本代码,所以我很好奇这个错误在原始实现中不存在。
有什么我忽略的吗?或者这是 ml5.js 的错误?
很抱歉没有链接到 CodePen 演示或其他东西 - 需要加载模型有点棘手。我可以尝试将我的代码托管在某个地方,以查看它是否有助于澄清问题。
解决方案
推荐阅读
- c++ - C++ 与函数联合,Arduino 编译器错误“无法重载”
- java - Java 和 Selenium:页面对象中的静态方法
- facebook - 通过密钥查找应用 ID,无需从 facebook 开发者控制台登录
- python - '贪婪的'消极后视-如果前面有单词则不匹配
- video - 从 MP4 中提取 VOSUB
- c# - c# 从方法异步任务返回几个值
- python - 在 train_test_split 中使用 'stratify' 并没有什么不同。它是干什么用的?
- regex - 在 julia 中查找文件替换内容的正确方法是什么?
- javascript - 编写此代码的正确方法是什么,以便我创建的表 td:button 在我列出的项目中出现一行?
- python - 使用 Python 为线性方程组求解器创建数组