전체 글50 AI 프로젝트 (재움) 깃허브 주소 : github.com/tatittato/test_jaeum 1. 프로젝트를 시작하게 된 이유 수면장애는 전세계 45%, 대한민국의 110만명이 겪고 있는 문제이며 계속 증가하는 추세 슬립테크 시장은 급속하게 성장, 2026년에는 321억 달러 규모를 예상 기존 수면 어플들은 물리적 통증의 원인을 파악하기 어려움, 이에 따라 AI 영상인식을 활용하여 원인을 파악하고자 함 2. 프로젝트 개요 프로젝트 명: 재움 인원 : 4명 사용기술 및 개발환경 Front-end : HTML5(웹표준), BootStrap, Jinja2 Back-end : Python, openCV, FastAPI tool : VScode DB : mySQL API : MediaPipe, ChatGPT 3.5 API 관리 : .. 2023. 11. 16. 프로젝트 '재움' 개발과정(5) chatGPT api를 이용하여 GPT에게 정보를 주고 수면 피드백을 받아보겠습니다! 먼저 open api key를 이용해 사용하여야 하는데요 gpt 3.5 turbo를 사용하였습니다. 서버에서 전달받은 데이터를 토대로(chatGPT를 이용할 때 직접 쓰는 질문이랑 같습니다.) 답변을 해줄겁니다. gpt에게 어떤 데이터를 넘겨줄 것인지 정하겠습니다. start_sleep : 수면 시작 시간 total_sleep : 총 수면 시간 sleep_event : 수면 자세 bad_position_time : 바르지 않은 수면 자세 시간 을 넘겨주도록 하겠습니다. 촬영 종료 버튼을 누르면 바로 피드백을 받을 것이기 때문에 버튼을 눌렀을 때 gpt에게 질문을 던져줘야 합니다. 아래 엔드포인트를 통해 닉네임과 수면정보.. 2023. 11. 7. js 로 서버로 값 보내서 두개의 테이블 가지고 오기 record.js 에서 nickname과 sleep_info_id 서버로 전달 console.log("닉네임 값:", nickname); // 닉네임 값을 확인하기 위한 로그 const sleepInfoId = document.getElementById("sleep_info_id").value; console.log("수면정보아이디 값", sleepInfoId); // 수면정보 아이디 값 확인 const requestData = { nickname: nickname, // 닉네임을 데이터 객체에 추가 sleep_info_id: sleepInfoId, }; fetch("/record/info_and_event", { method: "POST", // 데이터를 보내기 위해 POST 방식 사용 headers:.. 2023. 11. 2. Mediapipe와 OpenCV를 이용한 얼굴 모자이크 처리 안녕하세요! Mediapipe의 face detection 기술을 통해 얼굴 모자이크를 해보겠습니당 라이브러리가 설치되어 있지 않다면 먼저 설치해 주세요! pip install opencv-python pip install mediapipe 먼저 필요한 라이브러리를 import 해줍니다. import cv2 import mediapipe as mp # 미디어파이프 초기화 mp_face_detection = mp.solutions.face_detection mp_drawing = mp.solutions.drawing_utils face_detection = mp_face_detection.FaceDetection(min_detection_confidence=0.30) 웹캠을 사용해 줍니다. 보통은 0으로 .. 2023. 10. 31. 프로젝트 '재움' 개발과정(4) 안녕하세요! 오늘은 실시간으로 캡처된 이미지에 라벨을 달고 자세가 3번 연속 바뀌었을 때 데이터베이스에 수면이벤트가 저장되도록 해보겠습니다. 먼저 record.js에 함수를 추가해주겠습니다. 이전에 작성하지 않았던 captureAndUploadFrame 함수입니다. // 이미지 업로드 함수 function captureAndUploadFrame() { // HTML 요소를 동적으로 생성합니다. 이 캔버스는 이미지를 그리기 위한 렌더링 대상이 됩니다. const canvas = document.createElement("canvas"); // 캔버스 크기 설정 canvas.width = videoElement.videoWidth; canvas.height = videoElement.videoHeight; .. 2023. 10. 31. Git branch 전략 Git 브랜치 전략은 협업하는 개발자들이 Git을 사용할 때 중요한 역할을 한다. 이러한 전략은 코드를 효율적으로 관리하고 협업을 원활하게 하며 충돌을 최소화하고 안정성을 유지하기 위해 사용됨 중요한 이유 동시 개발 및 협업 : 여러 개발자가 동시에 프로젝트를 진행하고 협업이 가능함. 각 개발자는 자신의 작업을 별도의 브랜치에서 진행, 이후에 메인 코드베이스와 통합한다.코드의 안정성 유지 : 메인 브랜치(주로 "master" 또는 "main")를 안정한 상태로 유지. 이는 사용자에게 항상 안정적인 소프트웨어 릴리스를 제공하고 긴급 수정을 쉽게 적용할 수 있게 해 준다.충돌 최소화 : 코드 변경 사항을 메인 브랜치에 통합할 때 충돌을 최소화하기 위한 규칙과 절차를 정의. 이로 인해 코드 통합이 원활하게 이.. 2023. 10. 27. 이전 1 2 3 4 5 ··· 9 다음