[Ikaria] 기업협업 회고

그냥·2022년 8월 11일
0

1. 이카리아 AI

1) 솔루션

웨어러블 디바이스

  • 웨어러블 디바이스로부터 생체 정보 데이터를 주기적으로 받아 건강 정보를 모니터링

용종 의심 부위 표시

  • 내시경 시 용종으로 의심되는 부위를 딥러닝 알고리즘을 통해 표시하는 솔루션

2) 인프라 구성도

  • 웨어러블 디바이스 API 인프라 구성도. AWS의 API GW, Lambda, SQS, Dynamo DB, RDS를 사용해서 인프라를 구성.


2. 과제

1) Docker

  • 과제 내용
    도커 실습 예제. 도커 이미지를 바탕으로 MySQL, Django 컨테이너를 만들어서 장고 컨테이너에서 홈페이지를 들어오는 Client의 IP를 받아 IP를 조회할 수 있는 API 구현

  • 흐름도
    1) MySQL과 Django에 적절한 image를 기반으로 컨테이너 생성
    2) MySQL과 Django 컨테이너를 연동
    3) Django 컨테이너에서 IP 조회 API를 구현
    4) Client가 GET 호출을 하면 IP 및 데이터가 MySQL DB에 저장됨
    5) Client에 response로 IP 및 데이터를 전송


2) API GW / Lambda

  • 과제 내용
    API GW, Lambda 실습 예제. 1번 과제랑 동일하지만 Docker 컨테이너에서 구현한 API를, API GW / Lambda로 구현

  • 흐름도
    1) Client로부터 GET 호출 발생
    2) GET 호출을 API GW가 Lambda로 라우팅 해줌
    3) Lambda에서 AWS RDS, Dynamo DB로 데이터를 전송 및 받아옴
    4) Lambda에서 Client로 IP 및 데이터를 전송.


3) Traffic Test1

  • 과제 내용
    트래픽 테스트 예제. 10000번의 HTTP 호출을 하여 Lambda에서 10000번의 쿼리문을 DB에 보내고 DB에 몇 개의 데이터가 저장되는지 확인.

  • 흐름도
    1) Client에서 Multi Thread를 만들어 10000번의 호출을 보냄
    2) API GW에서 Lambda로 호출을 라우팅 해줌
    3) Lambda에서 10000번의 호출에 대해서 10000번의 쿼리문을 DB에 보냄
    4) DB에서 몇 개의 데이터가 저장되었는지 확인


4) Traffic Test2 - SQS

  • 과제 내용
    두 번째 트래픽 테스트 예제. 첫 번째 예제에서는 1/5 정도의 데이터만이 DB에 저장이 됨. 이를 해결하는 방법에 대해서 진행한 예제.

  • 흐름도
    1) Client에서 10000번의 호출을 보냄
    2) API GW에서 Lambda로 호출을 라우팅 해줌
    3) Lambda에서 호출을 내용을 SQS로 메시지를 보냄
    4) SQS에서 Queue로 여러 개의 메시지를 축적하여 한 번에 Trigger Lambda로 보냄
    5) Trigger Lambda에서 Bulk Message에 대해서 하나의 쿼리문으로 Bulk Message 내용을 받아 DB로 전송
    6) DB에 모든 데이터가 저장됨


5) Object Detecting / Tracking

  • Yolov4 Darknet
    1) Graphic Driver, CUDA, cudnn 설치
    2) Yolov4 알고리즘으로 내시경 영상을 돌려 용종 Detecting 영상을 만듦

  • DeepSort
    1) 필요 라이브러리를 설치
    2) DeepSort 알고리즘으로 내시경 영상을 돌려 용종 Detecting 영상을 만듦
    3) Detecting이 제대로 되지 않아 iou, anchor 값을 변경해서 다시 해봄.
    4) 그래도 좋은 결과가 나타나지 않아, SORT 알고리즘으로 돌려보려고 했음. 하지만 SORT 알고리즘을 커스텀해서 사용하기에는 실력이 부족하였음.



3. 회고

1) 좋았던 점

  • AWS 서비스를 많이 다뤄볼 수 있는 기회를 마련해주어서 좋았음.
  • 트래픽 테스트와 이것을 해결할 수 있는 방법을 제시해주어 좋았음.
  • GPU를 사용하기 위한 기본 세팅에 대해서 알 수 있어서 좋았음.
  • 전체적인 개발, 컴퓨터의 역사에 대해서 알 수 있어서 좋았음.

0개의 댓글