按照国际惯例,看效果:
素材准备:
自己在PS中绘制黑底白字手写字体,导出jpg,尺寸28*28!
素材设置
基本步骤
-
准备工作:从 ONNX Model Zoo 下载手写识别 ONNX 模型文件
-
【下载模型】MNIST 手写数字识别模型 mnist-12.onnx,并将其拖入项目窗口的 Assets 文件夹。
-
【下载模型】本案例提供了一个示例模型https://download.csdn.net/download/leoysq/88661406https://download.csdn.net/download/leoysq/88661406
-
【编写脚本】将脚本附加到场景中。
- 将模型资产拖入游戏对象检查器窗口中的 modelAsset 字段
- 下载下面的 digit.png 图片并将其拖入项目窗口的 Assets 文件夹。在导入设置中将 "Non-Power of 2"设置为 "None",然后单击 "Apply"。
- 将 digit.png 拖入游戏对象 Inspector 窗口中的 inputTexture(输入纹理)字段
- 点击播放。在 GameObject 的 "检查器 "窗口中,结果数组的每一项都显示了模型预测图像是数字的程度。例如,数组的第 0 项表示模型预测图像是手写 0 的程度。
笔者亲笔代码:
代码的程序逻辑:
基本流程就是:
- 下载模型
- 放入Unity资产文件夹(或者自己创建文件夹)
- 按照Sentis插件包!
- 脚本中引用using Unity.Sentis;
- 把资产拿到代码中
- 加载这个资产为模型
- 创建张量数据便于输入模型
- 创建一个工作流线程IWorker变量=WorkerFactory.CreateWorker();
- 执行工作流运算张量数据oneWorkLineAI.Execute(InputTensor);
- 输出数据(默认张量格式&