Hareket Algılama İşaret Dili Örneği: Mediapipe, OpenCV ve Tensorflow Kullanımı

Posted by

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.

  1. İ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>
  1. 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>
  1. 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.

  2. 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.

0 0 votes
Article Rating
4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@msa7291
2 months ago

video hiçbir şey anlamıyor dediği adamın videosuna gidip izlemenizi tavsiye ederim

@feyzanurcevahir7021
2 months ago

kodu kopyaladığımda mediapipe'da face_connections yok diyerek error veriyor 🙁

@ozlemozbakr8160
2 months ago

2. yöntemi de anlatın

@yusufsayiner8849
2 months ago

Çok güzel anlatmışsınız kıymetli hocam. Teşekkür ederiz.