ml5.js框架实现AI图片识别

ml5.js

ml5.js 提供了简单的接口来加载和使用机器学习模型,如图像分类、文本生成、姿态估计等,不需要深入理解底层的数学原理或复杂的编程技巧
ml5.js 构建在 TensorFlow.js 之上,提供了一系列预训练模型和简易的 API 接口

图片识别

先进行一个简单的图片识别demo (这里我使用的是汽车图片)

  1. 首先创建一个index.html
  2. 引入必要的库

创建index.html

复制代码
<!DOCTYPE html>
<html lang="en">
	<head>
		<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.11.1/p5.js"></script>
		<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.11.1/addons/p5.sound.min.js"></script>
		<script src="https://unpkg.com/ml5@1/dist/ml5.min.js"></script>
		<meta charset="utf-8" />
	</head>
	<style>
		html,
		body {
			margin: 0;
			padding: 0;
		}
		canvas {
			display: block;
		}
	</style>
	<body>
		<main></main>
		<script src="sketch.js"></script>
	</body>
</html>

创建sketch.js

复制代码
// 图像分类器
let classifier
// 图像
let img
// 结果
let result

function setup() {
	// 创建幕布
	createCanvas(400, 400)
	// 图像分类器初始化完成后调用classify函数
	if (classifier) {
		classifier.classify(img, (res, error) => {
			if (error) {
				console.error(error)
				return
			}
			result = res
			console.log(res)
		})
	} else {
		console.error('图像分类器未初始化完成')
	}
}

function draw() {
	// 绘制背景
	background(220)
	if (img) {
		image(img, 0, 0, width, height)
	}
	// 绘制结果
	if (result) {
		fill(255)
		stroke(0)
		textSize(18)
		label = 'Label: ' + result[0].label
		confidence = 'Confidence: ' + nf(result[0].confidence, 0, 2)
		text(label, 10, 360)
		text(confidence, 10, 380)
	}
}
function preload() {
	// 图像分类器初始化
	classifier = ml5.imageClassifier('MobileNet', function () {
		console.log('图像分类器初始化完成')
	})
	img = loadImage('https://picsum.photos/id/133/2742/1828')
}
function gotResult(res, error) {
	if (error) {
		console.error(error)
		return
	}
	result = res
	console.log(results)
}

ml5官网

相关推荐
ai生成式引擎优化技术14 分钟前
全球唯一四元结构底层架构问世:TSPR-WEB-LLM-HIC v2.0 终结大模型投毒与幻觉的终极技术范式
人工智能
听你说3223 分钟前
伊萨推出 ROBBI 360 协作机器人焊接工作站 简化自动化焊接部署流程
人工智能·机器人·自动化
weixin_4080996724 分钟前
【实战对比】在线 OCR 识别 vs OCR API 接口:从个人工具到系统集成该怎么选?
图像处理·人工智能·后端·ocr·api·图片文字识别·文字识别ocr
南境十里·墨染春水37 分钟前
C++ 笔记 友元(面向对象)
开发语言·c++·笔记
罗西的思考38 分钟前
【OpenClaw】通过Nanobot源码学习架构---(2)外层控制逻辑
人工智能·机器学习
TT_441940 分钟前
python程序实现图片截图溯源功能
开发语言·python
火山引擎开发者社区1 小时前
明天武汉!用好“龙虾”的关键要素全在这儿
人工智能
梦想很大很大1 小时前
从 0 到 1 实现 AI Agent(02):设计可扩展的 Tool 调用系统
人工智能·llm·agent
木斯佳1 小时前
HarmonyOS 6实战:AI时代的“信任危机“,如何处理应用的请求拦截与安全防护
人工智能·安全·harmonyos
jkyy20141 小时前
食物识别与卡路里估算技术:以视觉技术重构膳食健康管理新范式
人工智能·语言模型·自动化·健康医疗