전체 글 20

[Back-end] Flask-Darkflow-web-streaming 비동기 처리

[목표 🎯] cv2, darkflow 로 분석한 prediction 결과를 페이지 위에 띄워주기 (cv2.putText() 로 영상 위에 띄우는 거는 우리가 만드는 서비스에 의미가 없기 때문) [생각 🤔] 1. 서버 - 클라이언트 간에 비동기 통신이 가능해야 한다. 👉채팅 구현한 것에서 가져와보자 👉socketio, websocket 조사 (websocket ㅂ2ㅂ2) 👉socketio 이용해서 백엔드 내에서 분석한 결과를 클라이언트의 호출 없이 보내는 방법 시도 👉실패 😭 2. 다시 처음부터 생각 👉html 자체는 정적인 페이지 밖에 만들 수 없다 👉동적 페이지를 만들기 위해서는 자바스크립트 사용 👉조사 => ajax ? 👉ajax setInterval 함수로 1초마다 백엔드로 request를 보내 결..

[Back-end] Darkflow-flask-web-streaming 구현

[Darkflow web streaming 기본 뼈대] from darkflow.net.build import TFNet import cv2 cap = cv2.VideoCapture('your_video_file') model_path = "your_network_cfg.cfg" weights_path = "your_network_weights.weights" options = {"model": model, "load": weights_path, "threshold": 0.1, "gpu": 0.3} tfnet = TFNet(options) stop =False while(not(stop)): ret, frame = cap.read() if(frame.size == 0): #checking here for..

[Back-end] Flask 공부 및 Yolo v3 web streaming 구현

[Flask 공부] https://github.com/Turtlefromocean/Flask_01 Turtlefromocean/Flask_01 Contribute to Turtlefromocean/Flask_01 development by creating an account on GitHub. github.com 1. 기본 틀 from flask import Flask # init app app = Flask(__name__) # Route @app.route('/') def index(): return 'Hello Data Science Optimizers' if __name__ == '__main__': app.run(debug=True) 2. route & html 파일 render_template..

[삽질기록] 모델을 웹상에

[ModelDepot 실행예시] 깃허브 링크 🔗: https://github.com/ModelDepot/tfjs-yolo-tiny-demo ModelDepot/tfjs-yolo-tiny-demo Demo for https://www.npmjs.com/package/tfjs-yolo-tiny - ModelDepot/tfjs-yolo-tiny-demo github.com 포스트링크 🔗: https://towardsdatascience.com/deep-learning-in-your-browser-a-brisk-guide-ca06c2198846 - src/index.js 파일 분석 import * as tf from '@tensorflow/tfjs'; import yolo, { downloadModel } fr..

[YOLO 웹으로 구현한 프로젝트 조사]

[파이썬에서 darkflow 사용하기] 🔗Github : https://github.com/thtrieu/darkflow thtrieu/darkflow Translate darknet to tensorflow. Load trained weights, retrain/fine-tune using tensorflow, export constant graph def to mobile devices - thtrieu/darkflow github.com from darkflow.net.build import TFNet import cv2 options = {"model": "cfg/yolo.cfg", "load": "bin/yolo.weights", "threshold": 0.1} tfnet = TFNet(opti..

ASL, Digit 데이터 수집

[스킵한 데이터셋] 🟤Sign Language MNIST (https://www.kaggle.com/datamunge/sign-language-mnist) (실습기록) 링크🔗 https://github.com/alvinwan/sign-language-translator 하지만 이 데이터셋의 경우 csv 파일로 제공되어 있다. darkflow는 jpg형식의 이미지가 필요한 걸로 알고 있어 jpg 형식으로 변환하려고 시도해봤다. 인터넷에 csv to jpg라고 검색하면 온라인 컨버터 사이트가 많이 뜨는데 용량이 커서 그런지 변환에 계속 실패했다. 따라서 csv 파일을 1000줄씩 끊어서 파일 한개당 약 3.5mb짜리로 분할 후 다시 변환해보았지만 실패했다. 😇 동일한 데이터셋으로 진행한 다른 프로젝트를 보니..

깃헙 프로젝트 코드 분석 기록(cnn_keras.py)

깃허브 예시 프로젝트🔗: https://github.com/EvilPort2/Sign-Language EvilPort2/Sign-Language A very simple CNN project. Contribute to EvilPort2/Sign-Language development by creating an account on GitHub. github.com [예시 프로젝트 실행] Anaconda로 실행 requirements_cpu.txt 수정 (버전 지정) tensorflow==1.5.0 keras==2.1.5 opencv-python==3.4.2.16 [cnn_keras.py 코드 분석] - 라이브러리 및 모듈 import pickle from glob import glob pickle: 텍스트 ..

[삽질일기] GCP에서 GPU 할당받고 우분투 가상환경 실행

GCP로 NVDIA K80 GPU 할당받고, 우분투 가상환경에서 OpenCV 설치 후 Yolo v3 실행 [1탄] GCP에서 NVIDIA K80 GPU 할당받기! ❗️일단 나는 NVDIA K80을 사용할 거니까 사용할 수 있는 위치 먼저 확인하고 🔗 https://cloud.google.com/compute/docs/gpus/#gpus-list GCP 👉 IAM 및 관리자 👉 할당량 페이지에 들어가서 측정항목에서 선택 해제 후 NVIDIA K80 GPUs 만 다시 선택 한도가 1로 되어있는 것을 확인할 수 있다. 🚨 하지만 GPU(all regions) 의 한도도 체크해야 한다! 체크 안하면.. 나중에 아래와 같은 오류가 뜬다. [Error] Quota 'GPUS_ALL_REGIONS' exceeded...

[삽질일기] MAC OS Parallels Ubuntu 18.04 | YOLO v2 실행

[전체코드] sudo apt-get install g++ sudo apt-get install cmake sudo apt-get install build-essential cmake pkg-config libjpeg-dev libtiff5-dev libjasper-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev libv4l-dev v4l-utils libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libqt4-dev mesa-utils libgl1-mesa-dri libqt4-opengl-dev libatlas-base-dev ..