Portfolio | 손가현(Gahyun Son)
Phone : 010-9844-1106
E-mail : gahyun.son6@gmail.com
GitHub : https://github.com/gahyunson
PROJECT
재활냥이의 상담소 : Rehabilitation Chatbot (May 2023) | GitHub Repository
Topic Selection: 밤에 갑자기 불편함을 느끼는 경우 등 언제 어디서든 부담없이 질문을 할 수 있는 건강 서비스를 제공합니다. Providing a health service that allows users to ask questions anytime, anywhere when they feel discomfort
Stack : Node.js, Express, MySQL, GPT API, Cloudflare
✔️ 역할
JSON형식의 요청을 파싱하는 Express 미들웨어 구현
POSTmethod 라우팅 핸들러로 request와 response를 처리하는 로직 구현
- Cludflare를 이용해 생성한 도메인을 CORS 미들웨어 설정하여 보안 관리
- API 값의 보안을 위해
dotenv로 환경 변수를 관리
- 상담 GPT API 프롬포트에 사용할 데이터로 채팅내용을 MongoDB로 수집
- GPT API를 이용한 응답 시스템 구현
- 웹 환경을 비롯한 모든 디바이스에 최적화된 반응형 UI 구축
✔️성과
- MySQL에서 MongoDB로의 설계를 변경하여 초기 설계에서 데이터베이스 선택시 고려사항 숙지
- MySQL 데이터베이스를 연결하고 질문, 답변, 시간 정보를 수집하는 로직 구현 경험
- 사용시간 데이터를 수집하여 24시간 재활상담의 필요성을 데이터로 분석할 수 있을 것으로 기대
✔️ Role
- Implemented an Express middleware for parsing
JSON-formatted requests.
- Developed
POSTmethod route handlers to handle request and response logic.
- Managed security by setting up CORS middleware for a domain created with Cloudflare
- Managed environment variables using
dotenvfor securing API values
- Collected user questions and chatbot answers as data for the counseling chatbot prompt using MongoDB
- Implemented a response system using the GPT API
- Built a responsive UI optimized for web environments and all devices
✔️Achievements
- Gained knowledge of considerations when selecting a database by changing the design from MySQL to MongoDB in the initial design phase
- Implemented logic to connect to the MySQL database and collect question, answer, and time information
- Expected to analyze the collected usage time data to understand the need for 24-hour rehabilitation counseling
난 너가 뭘 먹어야할지 알고있다 : I Know What You Should Eat (December 2021) | GitHub Repository
Topic Selection: 사진속 음식 이름, 칼로리, 나트륨 정보를 제공하고 다음 끼니 식사메뉴를 추천합니다. Providing information on food names, calories, and sodium content in food photos and recommending the next meal.
Stack: Python , TensorFlow , PyTorch , Google Colab(GPU 사용) , ngrok, Slack
✔️ 역할
- 차후 데이터를 추가하여 전이학습하기 위한 데이터 전처리, 전이학습, 예측 결과 파이프라인 자동화 구축
ngrok을 이용한 API 주소 배포하여 서비스 구현
- 실험한 모델의 구조와 성능 결과 및 서비스 내용을 문서화하고 발표 진행
- 이미지 데이터 라벨링과 영양소 데이터 일치화 작업
- TensorFlow를 이용한 CNN 정확도 50%에서 활성화 함수 ReLU와 max pooling Layer 추가하여 정확도 87%로 향상된 CNN 모델 설계
- Pytorch 이용한 Resnet34 전이학습으로 정확도 100%로 향상된 모델 설계
✔️성과
- Zoom, Slack을 이용한 활발한 의견 공유하며 팀원들의 참여도를 높이는 방법을 탐구함
- 모델 생성 후 서비스 제공을 위한 배포의 중요성 숙지
✔️ Roles
- Built a data preprocessing, transfer learning, and prediction pipeline for future transfer learning with added data.
- Deployed the API address using
ngrokto implement the service.
- Documented and presented the structure and performance results of the experimented models and service details.
- Performed image data labeling and matching of nutritional data.
- Designed a CNN model with improved accuracy from 50% to 87% by adding the ReLU activation function and max pooling layer using TensorFlow.
- Designed a model with 100% accuracy using Resnet34 transfer learning with PyTorch.
✔️Achievements
- Explored ways to increase team members' participation by actively sharing opinions using Zoom and Slack.
- Recognized the importance of deployment for providing services after model creation.
[2022년 인공지능 경진대회] 스마트카 음성인식 고도화 : [2022 AI Competition] Advanced Speech Recognition for Smart Cars (June 2022) | GitHub Repository
Stack: Python , TensorFlow , PyTorch , Google Colab(GPU 사용)
✔️역할과 성과
- Zoom, Colab, SNS를 이용한 적극적인 진행사항 공유로 프로젝트의 명확한 방향성 설정과 효율적인 작업 수행
- 논문을 기반으로 주파수 영역을 20~40ms 단위로 설정
- 시각화 분석을 기반으로 특징 추출방법은 mel spectrogram 지정하여 loss값 감소 관찰
- 6등을 기록하며, loss 값을 0.06으로 달성하는 성과를 이끌어냄
✔️Role and Achievements
- Set clear project direction and performed efficient work through active sharing of progress using Zoom, Colab, and SNS
- Set the frequency domain to 20-40ms based on the paper
- Observed a decrease in loss values by specifying mel spectrogram as a feature extraction method based on visualization analysis
- Achieved 6th place with a loss value of 0.06
RSNA Breast Cancer Detection (February 2023)
Topic:의료 이미지와 메타 데이터를 이용한 유방암 유무 분류 모델링. Modeling breast cancer detection using medical images and metadata
Stack: Python , TensorFlow , Google Colab, Kaggle Notebook(GPU 사용)
✔️역할과 성과
- VGG16 모델 논문 리딩, 코드(Sequential API, Subclassing API) 구현, GitHub Respository
- 작업자의 환경(GPU 사용이 어려움)과 양성과 음성 데이터가 50배 이상 데이터 개수 차이가 나는 제약상황을 클래스별 같은 개수의 데이터 샘플링으로 극복하고자 함
- Breast Cancer DICOM 데이터 EDA(Link)를 통해 데이터를 파악하고 작업 방향성 설정
✔️Role and Achievements
- Read the VGG16 model paper, implemented the code (Sequential API, Subclassing API) GitHub Repository
- Overcame constraints such as the worker's environment (difficulty in using GPUs) and a large difference in the number of data samples between positive and negative classes by sampling an equal number of data samples for each class
- Explored the work direction by understanding the Breast Cancer DICOM data EDA(Link)
RSNA Cervical Fracture Detection (September 2022)
Topic Selection: 척추 골절 이미지를 이용한 Detection 시도. Attempting detection using cervical spine fracture images
Stack: Python , TensorFlow , Google Colab, Kaggle Notebook(GPU 사용)
✔️역할과 성과
- Cervical DICOM EDA(Link)으로 Detection을 위해 사용할 수 있는 Bounding Box 외의 데이터를 확인. 해당 글은 4개의 투표를 받아 다른 이용자들에게도 유용한 정보를 공유한 성과를 얻음
- YOLO 모델 논문 리딩, 코드(Sequential API, Functional API) 구현
✔️Role and Achievements
- Verified data other than bounding boxes that can be used for detection through Cervical DICOM EDA(Link). The post received 4 votes and achieved the achievement of sharing useful information with other users
- Read the YOLO model paper and implemented the code (Sequential API, Functional API)