Computer Vision Application

Computer Vision Application

멘토
과제 및 면접
과제 O | 면접 X
세션 시간
세션 시간 토요일 오후 2시 - 4시
모집 인원
모집인원 6명

🗒️ Computer Vision Application 2024 봄 커리큘럼


모집 인원 6명 (2개 팀)
활동 시간 매주 토요일 오후 2시 - 4시
활동 방법 매주 토요일 대면 정기 세션 + 주중 팀별 자유미팅
2주차 세션의 경우, 예외적으로 토요일 오전 또는 일요일 오후 진행 예정

🤔 어떤 것을 하나요?

컴퓨터 비전에는 정말 다양한 세부 태스크가 있습니다. 그 중에서 이번 기수는 아래 내용을 중심으로 프로젝트를 기획하고 진행합니다.

  • Classfication
  • Object Detection
  • Image Segmentation
  • Diffusion-Based Image Generation

하나의 태스크만 진행할 수도 있지만, 주제에 따라 여러 태스크가 결합될 수도 있습니다. 예를 들어, “사진 속 마스크 쓴 사람의 얼굴 생성”이라는 주제로 프로젝트를 진행한다면, 프로젝트 파이프라인은 다음과 같이 구성할 수 있습니다.
notion image

⭕ 이런 것을 해요!

  • 10주간 몰입하여 수행하기에 적합한 주제를 선정하고 파이프라인을 구성해요.
  • 프로젝트를 수행하기 위해 관련 모델들을 리서치하고 토론해요.
  • 존재하는 데이터를 불러오거나, 직접 데이터를 수집해서 모델을 학습시켜 보아요.
  • 수행한 프로젝트를 정리하고, 데모를 준비하고, 발표해요.
  • 각기 다른 배경을 가진 팀원이 모여서 머리를 맞대고 함께 성장하는 것을 목표로 해요!

❌ 이런 것은 하지 않아요!

  • Text Processing이 메인이 되는 프로젝트는 하지 않아요. (
    Natural Language Processing
    팀이 있어요!)
    • 단, 파이프라인의 구성요소 중 하나로는 들어갈 수 있습니다.
  • Pose Estimation, 3D Generation 등의 주제는 확장성과 선호도 등을 고려하여 진행하지 않아요.
  • 특정 태스크의 정확도를 높이는 것만을 목표로 하지 않아요. (대회가 아니에요!)
 

👀 선발 기준

이번 기수는 학기 중에 진행된다는 점을 고려하여, 입문자보다는 딥러닝 관련 경험(수업, 프로젝트 등)이 있는 분을 대상으로 선발합니다. 꼭 컴퓨터 비전이 아니어도 괜찮습니다만, 딥러닝에 관한 기초 지식, 논문 리딩 및 기본적인 코드 작성 능력을 필요로 합니다.
그러나, 이러한 기본적인 요구사항이 갖춰져 있다고 판단될 경우 절대로 능력대로 줄 세워서 선발하지 않습니다. 하나의 팀으로써 좋은 프로젝트를 만들어 가기 위해서는 다양한 배경과 강점을 가진 사람이 함께하는 것이 더 중요합니다.
또한, 지원자가 주당 최소 6시간 이상의 시간 투자를 할 수 있음을 가정하겠습니다. 만약 학업 또는 개인적인 일로 인해 바쁘다면, 프로젝트를 수행하는 팀원들에게 피해를 주는 것이므로 지원을 삼가 주세요!

❓ 저는 문과인데요…

  • 오히려 좋습니다. 본인만이 가진 독특함은 분명 프로젝트 흐름에 도움이 될 것입니다.
  • 프로젝트 진행에 필요한 딥러닝 지식은 멘토에게 물어보세요!
  • ‘나만의 방식으로’ 프로젝트에 기여할 수 있는 바(디자인, 스토리라인 등..)를 생각해서, 과제 1에 잘 어필해 주세요.

❓ 저는 코딩을 잘하는데 아무 이점도 없는 건가요?

  • 당연히, 풍부한 딥러닝 지식을 갖췄거나 코딩을 잘한다면 팀에 꼭 필요한 인원입니다.
  • 남들보다 월등히 잘한다면, 높은 확률로 선발될 것입니다.
 

📑 활동 계획

전반기 (1~4주차)

멘토 세션 (30분), 프로젝트 세션 (90분)으로 구성됩니다.
프로젝트 세션에서는 팀별 주제 공유 및 피드백을 기반으로, 주제를 선정하고 이에 맞는 파이프라인을 구성하는 것을 목표로 합니다.
멘토 세션에서는 프로젝트에 수행하는 데 필요한 모델들을 리서치하고, 불러오고, 학습시키고, 결과물을 확인하는 방법에 대해 다룹니다.

후반기 (5~9주차)

전반기에 선정한 주제 및 파이프라인을 기반으로 프로젝트를 진행합니다.
프로젝트 세션만 진행하며, 팀원 간 적극적인 토론 및 피드백을 통한 완성도 높은 프로젝트 수행을 목표로 합니다.
주차
활동 내용 [ 프로젝트 세션 | 멘토 세션 ]
1주차
OT | 지난 기수 프로젝트 소개
2주차
주제 선정 (1) | 코드 세션 (1): 모델 불러오기 (Github, HuggingFace)
3주차
주제 선정 (2) | 코드 세션 (2): Data preprocessing & Visualization
4주차
파이프라인 구성 | 코드 세션 (3): Traning & Hyperparameter Tuning
5주차
관련 논문 리뷰 및 팀 세미나 준비
6주차
구현 및 피드백 (1)
7주차
구현 및 피드백 (2)
8주차
구현 및 피드백 (3)
9주차
최종 정리 및 리허설 준비
10주차
오픈 세미나

💻 사전 과제 안내

deep daiv. 수료 경험이 있는 팀원의 경우, 프로젝트를 성공적으로 수행할 능력이 갖춰져 있다고 판단하여 큰 가산점을 부여할 예정입니다. 그러나. 기존 팀원이라고 합격을 완전히 보장하지는 못하므로, 과제를 이행해 주실 것을 권장드립니다!
모든 과제는 노션 페이지에 작성 후 공유 → 게시 → 웹에 게시, 이후 게시한 페이지 링크를 제출해주시기 바랍니다.
신규 팀원의 경우, 지원서 과제 제출란에 과제 페이지 링크를 입력하여 제출해 주세요!

과제 1 (필수)

과제 1은 정성평가입니다. 지원자의 배경 및 기본적인 딥러닝 지식 관련 질문을 통해, 지원자가 10주간 몰입하여 성공적으로 팀 프로젝트를 수행할 수 있을 지 판단합니다. 신규 팀원의 경우, 지원서의 질문과 겹치는 문항이 일부 있으나 본 과제에서 작성한 내용을 중점적으로 보도록 하겠습니다. 지원서에 작성한 내용을 기반으로 사진 등의 자료를 통해 설명해 주세요. 답변 양식 및 글자 수 제한은 없습니다.
기존 팀원의 경우, 이전 기수에 진행했던 프로젝트를 토대로 Question 1번에 작성해 주시고, 2, 3번은 자유롭게 작성해 주세요.
신규 팀원의 경우, 지원서에 작성한 내용을 확장하여 Question 1, 2번에 작성해 주시고, 3번은 자유롭게 작성해 주세요.

Question 1. 딥러닝 프로젝트 경험

꼭 컴퓨터 비전이 아니어도 괜찮습니다. 딥러닝 관련 수업(독학 포함), 경진대회, 공모전 또는 이전 기수 프로젝트 등에서 수행한 딥러닝 프로젝트 개요와 본인의 역할을 서술해 주세요. 깃허브 링크 또는 노션 페이지 링크를 공유해 주셔도, 여러 개를 나열해 주셔도 좋습니다.

Question 2. 내가 나서면 이 정도 ~

딥러닝 프로젝트를 제외하고, 나는 몰입하면 이정도까지 해낼 수 있다! 라는 것을 작성 해 주세요. 코딩 관련 경험도 좋고, 학점 자랑도 좋습니다. 더 나아가서, 운동, 음악, 글짓기 대회 수상 경험도 좋아요. 본인이 가장 좋아하고, 잘하는 것을 했을 때의 잠재력을 마음껏 어필해 주세요.

Question 3. 주제 또는 각오 (Optional)

여러분의 통통 튀는 아이디어를 기대합니다. 수행하고 싶은 프로젝트가 있다면, 간단하게 설명해 주세요.
생각이 잘 나지 않는다면, 프로젝트에 임하는 각오 및 딥다이브 활동을 통해 얻고자 하는 바를 간단하게 적어주세요. (200자 이내)

과제 2 (Optional)

과제 2는 정량평가이며, 특정 주제에 적합한 모델을 불러와 학습할 수 있는지 알아보는 과제입니다. 모집 기간이 대학교 중간고사 기간임을 감안하여, 코드를 직접 작성하지는 않는 것으로 하겠습니다. 또한, 본인이 아직 본 과제를 완벽히 이해할 수 없다고 판단한다면 제출하지 않으셔도 괜찮습니다. 앞서 말씀드렸듯 절대로 컴퓨터 비전 지식이 월등히 갖춰진 사람들로만 팀을 구성하지 않습니다.
그러나, 과제 2를 수행하는데 있어 요구되는 능력은 각 팀에서 꼭 필요하다고 판단하여, 과제를 성공적으로 수행한 상위 N명의 경우 과제 1과 상관없이 우선 선발하도록 하겠습니다. 답변 양식 및 글자 수 제한은 없습니다. 다만, 장황하게 설명하기 보다는 핵심 아이디어만 작성해주세요

Background

우리는 다음과 같은 이미지에서 건물을 추출하는 모델을 만드는 것을 목표로 세그멘테이션 태스크를 수행하려 합니다.
또한, 이미지 및 Ground Truth 쌍이 학습용 데이터셋으로 주어져 있습니다.
notion image
이미지
Segmentation Mask(Ground Truth)
Segmentation Mask(Ground Truth)

Question 1. 모델 선정

(1-1) (5pts) 우리는 Github 또는 Hugging Face 등에서 모델을 불러와 이미지에서 건물을 추출하려 합니다. 이 때, 사용할 모델에 대해 설명하고, 모델 출처(링크)를 첨부해 주세요. (’모델’이라 함은, 아키텍쳐 및 사전학습 된 가중치를 모두 포함하는 개념입니다.)
(1-2) (10pts) 모델 아키텍쳐의 Backbone으로 CNN 기반 모델과 Transformer 기반 모델 중 어떤 것을 선택할 것인지 제시하고, 그 이유를 자세히 설명해 주세요. (단, 모델의 Scale은 같다고 가정합니다.)

Question 2. 모델 학습

(2-1) (5pts) 우리는 특정 metric을 통해 추론 결과가 Ground Truth와 얼마나 일치하는지 판단하려고 합니다. 이 때, 어떤 metric을 사용할 것인지, 학습 과정에서는 어떤 Loss Function을 사용할 것인지 제시하고 그 이유를 설명해 주세요.
(2-2) (10pts) 우리는 코랩을 사용하여 앞서 제시한 데이터셋을 모델에 학습시키려 합니다. 하지만 위 이미지는 고해상도의 이미지(1024 x 1024)이기 때문에, 메모리 부족으로 학습에 실패합니다. 이 난관을 해결하기 위해 가장 적절한 방법을 제시하고 그 이유를 설명해 주세요. (단, 모델 및 GPU는 교체할 수 없으며, 나머지는 자유롭게 가정합니다.)
  • 병렬적으로 적용할 수 있다면 여러 방법을 제시해도 좋습니다.
  • 구체적인 수치를 예시로 들어 설명해도 좋습니다.
  • 제시한 방법의 Side-Effect가 있다면 함께 설명해 주세요.
 
※ 면접은 실시하지 않으며, 동점자 발생 시 모두 선발됩니다.