ml5.js机器学习的经典应用:图像分类。
这个实例展示了如何在ml5.js中使用预先训练过的MobileNet模型(经过训练以识别某些图像内容的机器学习模型)。
项目包括:一张任意图片(本例用官网的小鸟图)和一个index.html文件。
1.引入ml5库
// 最新版本
<script src="https://unpkg.com/ml5@latest/dist/ml5.min.js"></script>2.展示待识别的图片
<img id='image' src="./assets/bird.png" width="300">3.显示返回结果
<p>结果:<span id="result">...</span></p>
<p>概率:<span id="probability">...</p>4.加载模型和识别
这里用Promise形式,更简洁。
ml5.imageClassifier('MobileNet')
.then(classifier => classifier.classify(image))
.then(results => {
result.innerText = results[0].label;
probability.innerText = results[0].confidence.toFixed(4);
});完整代码:
// index.html
<html>
<head>
<meta charset="UTF-8">
<title>图像分类 MobileNet - ML5</title>
<script src="https://unpkg.com/ml5@latest/dist/ml5.min.js"></script>
</head>
<body>
<h1>图像分类 MobileNet模型</h1>
<p>结果:<span id="result">...</span></p>
<p>概率:<span id="probability">...</p>
<img id='image' src="./assets/bird.png" width="300">
<script type="text/javascript">
const image = document.getElementById('image');
const result = document.getElementById('result');
const probability = document.getElementById('probability');
ml5.imageClassifier('MobileNet')
.then(classifier => classifier.classify(image))
.then(results => {
result.innerText = results[0].label;
probability.innerText = results[0].confidence.toFixed(4);
});
</script>
</body>
</html>在线体验:demo
(版权归享岚网所有,未经许可不得转载)


