obniz-parts-kits
Version:
sdk for obniz ai/iot kits
93 lines (76 loc) • 2.86 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Sample</title>
<script src="opencv3.4/opencv.js"></script>
<script src="howler2.1.2/howler.js"></script>
<script src="../ui/index.js"></script>
<script src="./clmtrackr/clmtrackr.js"> </script>
<script src="./clmtrackr/emotion_classifier.js"> </script>
<script src="./clmtrackr/emotionmodel.js"> </script>
<script src="./clmtrackr/model_pca_20_svm.js"> </script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@4.19.0"> </script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/mobilenet@2.1.1"> </script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/posenet@2.2.2"></script>
<script src="https://cdn.jsdelivr.net/npm/@teachablemachine/image@0.8.5/dist/teachablemachine-image.min.js"></script>
<script src="index.js"></script>
</head>
<body>
<div id="OBNIZ_OUTPUT"></div>
<button onclick="play()">play</button>
<button onclick="playMusic()">playMusic</button>
<script>
async function playMusic(){
await _ai.playMusic('./sample.mp3');
}
async function play(){
await _ai.playAudio(261,500);
await _ai.playAudio(293,500);
await _ai.playAudio(329,500);
await _ai.playAudio(349,500);
await _ai.playAudio(391,500);
await _ai.playAudio(440,500);
await _ai.playAudio(493,500);
await _ai.playAudio(523,500);
}
(async function(){
// weather forecast
const weather = await _ai.getWeather('Tokyo');
console.log(weather);
// // say
// await _ai.say(weather);
// await play();
//
// await playMusic('xxx.mp3');
// Vision
await _ai.startCamWait();
const tmModel = new TMModel('https://teachablemachine.withgoogle.com/models/tI6Hv0sXt/');
while(true) {
// face detection
if (_ai.isFaceInside()) {
console.log('face x: ' + _ai.positionOfFace()); // -1 to 1. notfound = 0
console.log('face d: ' + _ai.distanceOfFace()); // 0 to 100. notfound = 0
console.log('happy :' +_ai.isHappy() + " " + _ai.emotions.happy);
console.log('surprise :' +_ai.isSurprised() + " " + _ai.emotions.surprised);
}
// classify
console.log("classify", await _ai.classify());
// white line detection
console.log("positionOfWhiteline", _ai.positionOfWhiteline());
console.log(
await _ai.isBothHandsUpPose(),
await _ai.isOneHandsUpPose(),
await _ai.isNormalPose(),
await _ai.isLeftHandsUpPose(),
await _ai.isRightHandsUpPose()
);
const prediction = await tmModel.predict(_ai.video);
console.log(prediction);
console.log(await tmModel.predictProbability(_ai.video, "Class 1"));
await new Promise((resolve)=>{setTimeout(resolve, 1000)})
}
})();
</script>
</body>
</html>