Mediapipe ile Opencv ve Tensorflow kullanarak hareket algılama yapmak oldukça ilginç ve faydalı bir uygulamadır. Bu tutorialda, işaret dili örneği üzerinden nasıl yapabileceğinizi adım adım göstereceğim.
- İlk olarak, Mediapipe, Opencv ve Tensorflow kütüphanelerini projenize ekleyin. Bunları aşağıdaki şekilde import edebilirsiniz:
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/@mediapipe/holistic/build/mediapipe-holistic.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>
<script src="https://cdn.jsdelivr.net/npm/opencv.js"></script>
</head>
<body>
// Your code here
</body>
</html>
- Devamında, kameradan görüntüyü almak için aşağıdaki JavaScript kodunu kullanabilirsiniz:
<script>
const videoElement = document.getElementById('video');
const canvasElement = document.getElementById('canvas');
const canvasCtx = canvasElement.getContext('2d');
// Access the webcam
navigator.mediaDevices.getUserMedia({ video: true })
.then((stream) => {
videoElement.srcObject = stream;
});
videoElement.addEventListener('loadeddata', async () => {
const videoWidth = videoElement.videoWidth;
const videoHeight = videoElement.videoHeight;
videoElement.width = videoWidth;
videoElement.height = videoHeight;
// Load the Mediapipe model
const holistic = new Holistic({
locateFile: (file) => {
return `https://cdn.jsdelivr.net/npm/@mediapipe/holistic/${file}`;
}
});
holistic.setOptions({
selfieMode: false,
smoothLandmarks: true,
minDetectionConfidence: 0.5,
minTrackingConfidence: 0.5
});
// Initialize the model
holistic.onResults((results) => {
canvasCtx.save();
canvasCtx.clearRect(0, 0, videoWidth, videoHeight);
canvasCtx.drawImage(videoElement, 0, 0, videoWidth, videoHeight);
if (results.poseLandmarks) {
// Do something with the pose landmarks
}
if (results.leftHandLandmarks) {
// Do something with the left hand landmarks
}
if (results.rightHandLandmarks) {
// Do something with the right hand landmarks
}
canvasCtx.restore();
});
holistic.send({ image: videoElement });
});
</script>
-
Ardından, işaret dili algılama işlemini gerçekleştirmek için pose ve el landmarks’larını kullanabilirsiniz. Bu adımları TensorFlow veya OpenCV ile yapabilirsiniz.
- Son olarak, işaret dili örneklerini tanımlayarak, bu örnekleri algıladığınızda belirli bir eylem gerçekleştirebilirsiniz. Örneğin, bir harf veya kelime tanımlandığında ekrana yazdırabilirsiniz.
Bu adımları takip ederek, Mediapipe, Opencv ve Tensorflow ile işaret dili örneği üzerinden hareket algılama yapabilirsiniz. Bu sayede, işaret dilinde iletişim kurmada kullanılabilir ve farklı uygulamalara entegre edilebilirsiniz.
video hiçbir şey anlamıyor dediği adamın videosuna gidip izlemenizi tavsiye ederim
kodu kopyaladığımda mediapipe'da face_connections yok diyerek error veriyor 🙁
2. yöntemi de anlatın
Çok güzel anlatmışsınız kıymetli hocam. Teşekkür ederiz.