1회차.zip

크롤링 수정

  1. 크롤링 (python 활용) - 30분

  2. teachable machine이용 모델 학습( 1에서 다운받은 .zip파일 압축해제 후 업로드)

  3. 모델 추출하기

    https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c4a28cbc-78fe-4de7-9599-c6b62ddb73e9/Untitled.png

    https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3d5b3a5e-0f2c-4b27-81c5-aed95219aca8/Untitled.png

    파일명 : index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        
    
    </body>
    </html>
    

    Teachable Machine에서 가져온 소스코드를 body 안에 넣습니다.

    파일명 : index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        **<div>Teachable Machine Image Model</div>
    <button type="button" onclick="init()">Start</button>
    <div id="webcam-container"></div>
    <div id="label-container"></div>
    <script src="<https://cdn.jsdelivr.net/npm/@tensorflow/[email protected]/dist/tf.min.js>"></script>
    <script src="<https://cdn.jsdelivr.net/npm/@teachablemachine/[email protected]/dist/teachablemachine-image.min.js>"></script>
    <script type="text/javascript">
        // More API functions here:
        // <https://github.com/googlecreativelab/teachablemachine-community/tree/master/libraries/image>
    
        // the link to your model provided by Teachable Machine export panel
        const URL = "./my_model/";
    
        let model, webcam, labelContainer, maxPredictions;
    
        // Load the image model and setup the webcam
        async function init() {
            const modelURL = URL + "model.json";
            const metadataURL = URL + "metadata.json";
    
            // load the model and metadata
            // Refer to tmImage.loadFromFiles() in the API to support files from a file picker
            // or files from your local hard drive
            // Note: the pose library adds "tmImage" object to your window (window.tmImage)
            model = await tmImage.load(modelURL, metadataURL);
            maxPredictions = model.getTotalClasses();
    
            // Convenience function to setup a webcam
            const flip = true; // whether to flip the webcam
            webcam = new tmImage.Webcam(200, 200, flip); // width, height, flip
            await webcam.setup(); // request access to the webcam
            await webcam.play();
            window.requestAnimationFrame(loop);
    
            // append elements to the DOM
            document.getElementById("webcam-container").appendChild(webcam.canvas);
            labelContainer = document.getElementById("label-container");
            for (let i = 0; i < maxPredictions; i++) { // and class labels
                labelContainer.appendChild(document.createElement("div"));
            }
        }
    
        async function loop() {
            webcam.update(); // update the webcam frame
            await predict();
            window.requestAnimationFrame(loop);
        }
    
        // run the webcam image through the image model
        async function predict() {
            // predict can take in an image, video or canvas html element
            const prediction = await model.predict(webcam.canvas);
            for (let i = 0; i < maxPredictions; i++) {
                const classPrediction =
                    prediction[i].className + ": " + prediction[i].probability.toFixed(2);
                labelContainer.childNodes[i].innerHTML = classPrediction;
            }
        }
    </script>**
    
    </body>
    </html>
    
  4. 깃허브에 파일 업로드 후 정적 호스팅 후 실행

  5. 모델 새로 만들어서 바뀌게 해보기

  6. 자기가 원하는 모델 만들어서 결과 나오게 하기

  7. 모델 메타데이터 수정해보기 - 아래 json(my_model/metadata.json)에서 labels 부분의 배열내용 수정하면 출력 라벨을 수정 가능

    https://s3-us-west-2.amazonaws.com/secure.notion-static.com/1a818103-d631-43f8-b9bc-a11f91c2d14a/Untitled.png

-결과 화면

start누르기 전

start누르기 전

start 누른 후

start 누른 후