ml5.js是什么
ml5.js 它是基于Tensorflow.js的一个非常简便易用的接口,目的是让更广泛的受众更容易使用机器学习。(演示都是根据官网实例demo)
其他知识点索引点这里
描述
UNET卷积神经网络
描述
U-Net 是一种卷积神经网络,是德国弗莱堡大学计算机科学系为生物医学图像分割而开发的。 [1] 该网络基于全卷积网络 [2],其架构经过修改和扩展,可以使用更少的训练图像并产生更精确的分割。
UNET 允许您分割图像。
face例如,ml5 unet允许您从人的上半身视频中删除背景。
效果如下
代码
<html>
<head>
<meta charset="UTF-8">
<title>poseNet</title>
<script src="../p5.min.js"></script>
<script src="../ml5.js"></script>
</head>
<body>
<h1>UNET example using p5.js</h1>
<script src="sketch.js"></script>
</body>
</html>
// Copyright (c) 2019 ml5
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
/* ===
ml5 Example
UNET example using p5.js
=== */
let video;
let uNet;
let segmentationImage;
// 加载模型
function preload() {
uNet = ml5.uNet('face');
}
function setup() {
createCanvas(320, 240);
// 加载视频
video = createCapture(VIDEO);
video.size(width, height);
video.hide();
// 创建图片
segmentationImage = createImage(width, height);
// 人物背景分离
uNet.segment(video, gotResult);
}
function gotResult(error, result) {
if (error) {
console.error(error);
return;
}
// 得到结果
segmentationImage = result.backgroundMask;
// 得到当前的视频,叠加上去
uNet.segment(video, gotResult);
}
// 画图
function draw() {
background(0)
image(segmentationImage, 0, 0, width, height);
}
下一篇 手势