1) 강의 복습 내용
1. Computer vision 개요, Classification
https://ltsgod.tistory.com/101
Computer Vision 개요
어떻게 하면 사람의 시각을 컴퓨터로 구현할 수 있을까?? 전통적인 방법 Input - Feature extraction - Classification - Output Deep Learning Input - Feature extraction + Classification - Output Deep Learning을 이용하면 더이상
ltsgod.tistory.com
2. Annotation Data Efficient Learning
https://ltsgod.tistory.com/100
Annotation Data Efficient Learning
1) Data augmentation 우리가 얻는 dataset엔 대부분 bias가 있다. 왜냐하면 실제 data 분포보다 우리가 얻는 data는 일부분에 불가하기 때문이다. 이러한 편향이 좋지 않은 이유는 다음과 같다. 만약 낮에
ltsgod.tistory.com
3. Sematic Segmatation
https://ltsgod.tistory.com/102
Sementic Segmentation(FCN, U-Net, DeepLab)
0) Sementic Segmentation - pixel 단위로 분류하는 것 - 기본적으로 같은 class인데 서로 다른 물체는 구분하지 않음. 1) Sementic Segmentation Architectures AlexNet 같은 fully-connected Layer의 문제점 1. 입력이 바뀌면 fc
ltsgod.tistory.com
4. Object Detection
https://ltsgod.tistory.com/104
Object Detection (R-CNN, YOLO, SSD, DETR, Transformer)
0) Object Detection Semantic segmentation 과 밑의 두 instance segmentation, Panoptic segmentation이 다른점. -> Semantic segmentation 은 같은 클래스내의 Instance는 따로 구분하지 않지만 밑의 두 방법은 같은 class더라도 Ins
ltsgod.tistory.com
5. CNN Visualization
https://ltsgod.tistory.com/105
CNN Visualization
0) CNN Visualization 개요 지금 까지 배운 CNN 기반 Network는 학습가능한 Conv와 non-linear function이 연속으로 되어있는 것으로 볼 수 있다. 이러한 학습이 왜 잘 되는지, CNN 내부에서는 어떻게 학습하고 있
ltsgod.tistory.com
6. Instance Panoptic Segmentation
https://ltsgod.tistory.com/106
Instance Panoptic Segmentation
앞의 Object Detection에서 얘기 했듯 Segmentation 은 같은 클래스내의 다른 객체들은 구분하지 못한다. 따라서 이러한 Semantic segmentation + 물체를 구분하는(object detection)을 활용 한 방법이 Instance Segmentati
ltsgod.tistory.com
2) 과제 수행 과정 / 결과물 정리
1. resnet 구현
https://ltsgod.tistory.com/107
2. Augmentation
https://ltsgod.tistory.com/108
PyTorch Augmentation
Resize() -> 해상도 조정 CenterCrop() 가운데 자름 FiveCrop() -> 가운데랑 모서리들 Grayscale() -> grayscale로 바꿈 Random 방법들 ColorJitter() GaussianBlur() 더보기 GaussianBlur는 이미지 처리에서 많이 사용되는 필터
ltsgod.tistory.com
3. vgg 를 이용한 segmentation
https://ltsgod.tistory.com/109
3) 피어세션 정리
이번 주 피어세션은 과제1에 대한 질의응답을 주로 했던 것 같다. 과제의 난이도가 꽤 있다고 느꼈기 때문이다. 특히 나도 ResNet에 대해서 좀 모호하거나 명칭같은 것이 헷갈렸는데 Skip Connection 이 무엇인지 1 x 1 convolution 같은 것의 원리나 용도 등에 대해서도 좀 더 구체적으로 알 수 있었다. 특히 이론으로만 배우면 데이터의 사이즈는 어떻게 주는지 채널은 늘어나는지 줄어나는지 잘 몰랐는데 직접 코드 짜면서 size, channel수를 확인해보니 조금은 CNN에 대해서 한발짝 다가간 것 같다.
또 3주간의 Git 공부가 끝나고 이제 다음주부터 논문리뷰를 하기로하였다. 첫 발표를 자원해서 내가 맡았다. 논문을 처음 읽어봐서 어떤 식으로 읽어야 할지 어떻게 발표를 해야할지 생각해 봐야겠다.
부캠살롱: 사실 렉걸리고 partition 문제 때문에 제대로 이야기를 듣진 못했던 것 같다. 다음 번에 기회가 된다면 더 다양하게 이야기를 나눠보고 싶다.
멘토링: 이번주는 곧 있을 Competiton에 대한 이야기를 들었다. 멘토님께서 Competiton을 할 때 꼭 성능을 높이는 것에만 집중하지 말고 다양한 시도를 해보라고 조언해주셨다. 여러가지 Augmentation이라던지 paper with codes에서 모델을 가져와 쓰는 거라든지, 여러가지 hyperparameter등을 조절해가며 다양한 경험을 해보는 것이 중요하다고 이야기해주셨다.
스페셜 피어세션: 다른 캠퍼 분들과 이야기를 나누었다. 특히 관심분야에 대한 이야기를 나누었는데 다양한 경험을 한 분들이 계셨다. 그에 비해 내 경험이 제일 떨어지는 것 같았는데 기계학습 프로젝트 얘기에 유쾌하게 웃어주셔서 감사했다. 어떤 분야를 할지에 대한 것은 계속해서 고민해봐야 할 것 같다.
4) 학습 회고
이번 주는 CV를 본격적으로 공부한 week인 것 같다. Image Classification, Semantic Segmentation, Object Detection, Instance Panoptic Segmentation 등등 CV의 대표 task들을 알 수 있었다. 또 여러가지 net..... U-net, YOLO, AlexNet, ResNet, R-CNN 형제들 등등 너무 많은 지식들이 한번에 내 뇌를 때렸다.
최대한 강의 멈춰가며 말 하나하나 이해하면서 넘어가려고 노력했고 나중에 다시 까먹지 않기 위해 강의를 듣자마자 이해한 내용을 바탕으로 블로그에 정리를 했다. 특히 멘토님이 해주신 이야기가 좀 와닿았는데 여기서 배운 내용을 100퍼센트 알고 가는 것은 불가능하다고 하셨다. 70%만 안고가도 많이 안고가는 것이니 burn out 이 오지 않게 멘탈관리 또한 잘 하면서 부스트캠프를 해야겠다는 생각을 했다.
한 강의 듣고 정리를 끝내면 약 2시간 이상 걸렸다. 이해하고 정리하는 것이 꽤 힘들다고 느낀 한주였던 것 같다. 또 이론적인 내용으로는 대략 이해를 해도 구현하는 것은 또 느낌이 다르기 때문에 구현도 자주자주 해봐야 할 것 같다. Segmnetation, object detection 등등 아직은 조금 모호한 느낌이 있다. 남은 심화과제를 풀며 조금 더 잡아가야 할 것 같고 시간이 남을 때 블로그에 정리한 글을 보며 머리에 집어 넣어야겠다.
또 이러한 분야 중에 한 두개 정도 골라 깊게 파봐야 할 것 같다. 그래야지 내가 맞는지 안 맞는지 확인 할 수 있을 것 같다.
+ 시각화 강의는 도저히 정리하지 못하겠어서 그냥 필요할 때마다 찾아봐야겠다.ㅠ