본문 바로가기

활동 일지/캡스톤디자인프로젝트7

[캡스톤디자인프로젝트] 최종 발표와 수상 드디어 1년간의 졸업 프로젝트가 끝이 났다. 오랜 기간 서비스를 기획, 개발하니까 최종 발표때는 우리 서비스의 필요성 및 기술에 대한 충분한 이해와 확신이 있었고, 그 덕에 발표도 긴장없이 잘 마무리했다. 그리고 감사하게도 장려상을 수상할 수 있었다. 최종 발표를 비롯하여 이것저것 프로젝트 회고를 해보고자 한다. 우선 이번 프로젝트를 통해 처음으로 AI 기반 서비스를 개발해볼 수 있었다. 직접 개발한 파이썬 크롤러를 통해 이미지 데이터를 수집하고, 이를 전처리하여 Yolov5 모델을 학습시키는 과정을 함께하며 AI 모델의 구현 과정 전체를 하나하나 경험해봤다. 또한, Flask를 이용하여 AI 모델을 위한 모델 서버를 개발한 후, 이를 Tencent Cloud GPU 서버에 배포해보며 웹서버와 모델 서버.. 2023. 6. 23.
[캡스톤디자인프로젝트] YOLOv5 & Flask YOLOv5 & Flask 이번에는 Flask를 이용하여 custom YOLOv5가 돌아가는 모델 서버를 만들어 볼 것이다. [참고한 자료] Python 3.7.9 Flask 2.2.3 1. 실행 환경 설정 1-1. Flask 설치 설치하면서 Module Not Found가 뜨면 시키는대로 라이브러리를 install 해준다. $ pip3 install Flask 1-2. 프로젝트 폴더 생성 원하는 위치에 프로젝트 폴더를 만든다. $ mkdir 프로젝트명 1-3. app.py 만들기 생성된 프로젝트 안에 app.py 파일을 만든다. 테스트용으로 "Hello World!"를 출력하는 코드를 작성해봤다. from flask import Flask # App INIT app = Flask(__name__) @a.. 2023. 4. 19.
[캡스톤디자인프로젝트 | 그로쓰] Tencent Cloud GPU 서버 접속 학교에서 발급 받은 Tencent Cloud GPU 서버에 프로젝트 환경 설정을 진행할 것이다. 1. Tencent Cloud 로그인 https://www.tencentcloud.com/en/account/login?s_url=https%3A%2F%2Fwww.tencentcloud.com%2Fko%2Fdocument%2Fproduct%2F213%2F17278 Sign in - Tencent Cloud www.tencentcloud.com 나는 학교에서 발급받은 CAM User 계정으로 로그인하였다. 2. 콘솔 접속 우측 상단의 '콘솔'을 클릭 3. 인스턴스 접속 3-1. 인스턴스 Region 선택 내가 할당 받은 서버는 싱가폴을 메인으로 해서, Region에서 선택해줬다. 3-2. 인스턴스 Start 인.. 2023. 4. 11.
[캡스톤디자인프로젝트 | 스타트] 라즈베리파이 & 카메라 모듈 개발 환경 설정 졸업 프로젝트를 하며 처음으로 라즈베리 파이를 접하고, 개발을 위한 환경을 세팅해봤다. 하드웨어를 본격적으로 다룬 경험은 처음이라 겁도 많이 먹었었는데, 하나하나씩 공부하며 따라하니까 무사히 세팅을 마칠 수 있었다. (중간에 안돼서 열받은 기억도 많지만...결국 되면 다 미화됨ㅋㅋ) 기억 증발 전에 그 과정을 후다닥 기록해보고자 한다. [참고 자료] https://www.youtube.com/watch?v=rEOxUx23A8U&t=417s 목차 1. 기기 세팅 2. Raspberrypi OS 세팅 3. VNC Viewer 설정 4. 카메라 모듈 연결 1. 기기 세팅 준비물 | 라즈베리파이 CPU, 카메라 모듈 우리 팀의 경우, 라즈베리 파이 키트 & 카메라 모듈을 구입했다. 처음에 뭐가 엄청 많아서 당황.. 2022. 11. 22.
[캡스톤디자인프로젝트 | 스타트] Chrome 이미지 크롤링 본격적으로 YOLO 모델을 학습시키기 위해 이미지 크롤링을 진행하였다. 다양한 방법들이 있었는데, 나는 아래의 자료를 참고하여 실습해보았다. https://www.youtube.com/watch?v=1b7pXC1-IbE&t=247s 1. 작업하고자 하는 폴더 생성 2. vscode로 해당 폴더 열기 3. 파이썬 가상 환경 만들기 (venv) ※ 주의 터미널이 cmd여야 한다! 계속 powershell로 진행하다가는 activate 명령어가 실행되지 않는 문제가 있었다. 3-1. 터미널에서 명령어 입력 python -m venv selenium * 공식 문서에는 python3 -m venv /path/to/new/virtual/environment 명령어로 소개되어 있지만, 내 pc에는 PYTHON으로 환.. 2022. 11. 11.
[캡스톤디자인프로젝트 | 스타트] Yolo 사용해보기 팀명 : 존버그 (Zone 이라고 주장하고 있지만 이중적인 의미이다ㅋㅋ) 서비스명 : DeBugging 2022.10.07 멘토링때 들은 기술적 조언 중 하나는, 우리가 '객체 인식'이라는 기술을 사용해야 한다는 것이었다. 객체 인식은 객체의 종류를 판별함과 동시에, 해당 객체의 좌표도 파악하는 기술이었다. 우리 팀은 Yolo라는 알고리즘을 이용하기로 했다. 구글링을 하던 중, 노트북 웹캠으로 Yolo를 실습해볼 수 있는 영상이 있어서 따라해보았다. 악 근데 자꾸만 파일을 찾을 수 없다고 떠서 결국 실습 시간 2시간동안 해결하지 못했다. 아주 오래 기다리면서 NVIDIA도 다시 깔아봤는데 결과는 같았다. 열이 받았다. 그런데..! 실습시간 종료 1분전에 Yolo는 Python 3.8 (3.9였나? 암튼).. 2022. 10. 11.
[캡스톤디자인프로젝트 | 스타트] 주제 구체화 2022.09.30 주제 확정 이후, 멘토님 및 지도 교수님과 면담을 했다. 가장 유의미했던 것은, 기기의 이동성과 관련된 것이었다. 멘토님께서는 기기가 이동하면서 탐지하는 것은 놓치는 해충이 많을 것이며, 해충이 발견되더라도 해당 벌레의 좌표를 매번 현재 기기 기준에서 상대적으로 파악해야 하므로 어려울 것이라고 조언해주셨다. 하지만 팀원들 모두가 이동성이 없는 기기는 매력적인 특성이 확 반감된다고 느껴서 고민이 많았다. 결국, 팀원들과의 논의 끝에 반이동성(?) 기기로 결론을 내렸다. 시간별로 이동을 하긴 하지만 특정 위치까지 이동한 후, 해당 위치에서 멈춰서 해충을 감시하는 것이다. 이동 -> 정지 -> 관찰 -> 이동 -> 정지 -> 관찰 -> ..... 주제의 매력 포인트를 적절히 살릴 수 있는 .. 2022. 10. 11.