Boostcamp AI Tech

부스트캠프 AI Tech 7기. 8주차 회고록

sejongmin 2024. 10. 11. 20:53

 
8주차에는 개천절과 한글날 사이에 새로고침데이가 많아서 2주동안 이어집니다.


월요일 (36일차, 2024-09-30)

1. 새로 배운 내용
- object detection은 대표적으로 Facebook에서 만든 detectron2와 OpenMMLab에서 만든 mmdetection 두 개의 라이브러리가 많이 쓰임.
- mAP는 평가방식으로 많이 쓰이는데, IoU가 50이상일 때 정답으로 간주하고 score 순으로 정렬한 뒤, precision과 recall을 그래프에 찍어 면적을 계산, 각 class들에 AP 평균을 mAP라고 함.
 
2. 피어세션 내용
- 프로젝트 계획을 짰습니다. 공휴일이 껴있는 첫 주는 강의를 듣고, 이후에 프로젝트를 진행하기로 했다.
- 베이스라인 코드로 제공된 코드로 EDA를 진행한 후, 여러가지 인사이트를 발견했다.
- 팀 구호를 만들었다.
ㄴ 하루를 시작할 때 - 선창: 하나 둘 셋! - 후창: 이야호~! (my)
ㄴ 칭찬 할 때 - 선창: OOO아! - 후창: 기특해~!
ㄴ 하루를 마무리할 때 - 선창: 둘 둘 셋! - 후창: 수고했어 오늘도 땅땅~ (my)
 
3. 회고
- 팀 구호 만들 때 내 의견이 많이 반영되었다. 브레인스토밍으로 팀원들이 여러가지 의견을 제시했지만 역시 내 아이디어를 넘어설 수는 없나보다.
- level 1 프로젝트에서 진행했던 기술들 외에 다른 여러가지 기술들을 적용해 보고 싶다. 아마 초반에 기본적인 성능을 높히고, 이후에 짜잘한 기술들을 적용해서 끌어올려야 할 것 같다.


 

화요일 (37일차, 2024-10-01)

1. 새로 배운 내용
- FPN은 backbone을 통해 나온 최종 feature만을 사용하지 않고, Neck을 통해 여러 stage의 feature를 사용해, 작은 크기의 bbox를 잘 탐지할 수 있게 함
- PANet은 FPN을 진행한 후 다시 Botton-up path Augmentation을 통해 여러 stage의 feature들이 더 잘 반영되게 함, 이후 Adaptive Feature Pooing을 통해 학습.
-  DetectoRS는 Bottom-up, Top-down을 Recursive하게 실행. Top-down에서 Atrous convolution(dlilated convolution)을 통해 feature map 크기 증가
 
2. 피어세션 내용
- 강의에서 이해가 안되는 부분에 대해서 이야기를 나눴는데, RPN, SPP에 대해서 설명했다.
- 어제 열심히 구현한 스트림릿 실행 방법을 설명하고, 피드백을 받았다.
 
3. 회고
- 벌써 재밌다. 역시 팀프로젝트는 재밌는 것 같다. 성적만 잘 나온다면 금상첨화일듯
- Streamlit을 만들었는데, 너무 잘 만든 것 같다. 이쪽으로도 공부해서 여러 프로젝트에 써먹으면 좋을 듯 하다.


수요일 (38일차, 2024-10-02)

1. 새로 배운 내용
- 1 Stage Detector는 RPN을 통과하지 않고, Feature map에서 바로 Localization과 Classification을 진행함.
- YOLO는 이미지를 SxS 그리드로 나누고, 각 그리드마다 B개의 box와 score를 계산 한 후, 각 그리드 영억마다 C개의 class에 대한 확률 계산
 
2. 피어세션 내용
- 기존 정적 햄토리 이미지에서 움짤 햄토리 이미지로 프로필 업데이트로 리마인드 했다.
- 공휴일 제외하고 새로고침데이에도 코어타임처럼 만나서 프로젝트 진행했다. 꼴찌를 만회하기 위해!
 
3. 회고
- 원래 강의를 정리하면서 들었는데, 내용도 상당히 많고, 3주에 걸쳐서 들을 수 있기 때문에 정리는 따로 하기로 했다. 부지런히 강의를 들어야 프로젝트에 시간 투자를 많이 할 수 있을 것 같다.


목요일 (39일차, 2024-10-10)

1. 새로 배운 내용
- Model scaling은 width scaling과 depth scaling, resolution scaling이 있는데 다양한 scaling을 적용한 것이 compound scaling, accuracy와 efficiency를 동시에 만족한 것이 EfficientNet, ackbone, FPN, box/class prediction networks 들도 만족한 것이 EfficientDet
- Cascade는 여러 개의 Roi head를 두고, head 별로 iou threshold를 다르게 설정해서 학습해서 iou가 높을 때 성능이 크게 향상함
 
2. 피어세션 내용
- 새로 서버를 만들면, 초기에 만들었던 서버와 세팅 환경이 달라서, 다시 세팅 해줘야 한다. git, gcc 등
- github에서 현재 코드들을 추합한 뒤, 모델을 돌리는 방식을 통일해서 만약 새로운 기능을 추가했을시 모두가 효율적으로 이용할 수 있도록 함
 
3. 회고
- 팀플이 잘 진행되고 있는 것 같으면서 팀원들이 무엇을 하고 있는지 잘 모르겠다는 느낌이 강하다. 좀 더 팀적인 소통이 중요할 것 같다. 
- 부캠에서 살아남기에서 말했던, 성능을 올리는 것에 초점을 두는 것 보다 더 다양하고 효율적인 방식을 찾아서 시도해 보고 기록하는 것이 중요한 것 같다.
 


금요일 (40일차, 2024-10-11)

1. 새로 배운 내용
- ensemble을 하는 방법에는 nms, soft-nms, wbf가 있는데 1-stage, 2-stage 등 여러 모델을 사용해서 ensemble을 한다면 wbf의 효과가 좋을 수 있음.
 
2. 피어세션 내용
- 팀원 주간 회고록을 작성했는데, 팀원들이 도전하고 싶은 일이 많은 것 같다.
- 매일, 매주 어떤 일을 할 것인지 목표를 정하고 다들 어떤 일을 하고 있는지 알 수 있도록 했다.
 
3. 회고
- 어제 새벽까지 여러 이야기를 하다보니까 내가 느끼는 부족함이 나만 느끼는게 아니었던 것 같다. 좀 더 적극적으로 정보를 공유하고 협업할 수 있는 분위기를 조성해야 할 것 같다.
- 노션이나 깃허브를 좀 더 활성화 할 수 있도록 노력해보자 !