전체 글 79

[Multi-modal] GLIP : Grounded Language Image Pretraining

오늘은 Microsoft에서 발표한 GLIP : Grounded Language Image Pretraining(2021) 논문을 정리해보도록 하겠습니다. 글 중간중간 논문에 나오지 않은 제 생각과 정보가 들어가 있으니 틀린게 있다면 언제든지 알려주시길 바랍니다. ** vision-language multimodal의 근본논문 중 하나인 CLIP과 이름이 상당히 유사합니다. 실제로도 CLIP을 기반으로 아이디에이션한 논문입니다. GLIP의 주요 contribution은 Image Level -> Instance Level에 있다고 생각합니다. 그럼 논문의 흐름을따라 내용을 정리를 시작해보겠습니다. 1. Introduction 2개 이상의 modality를 사용하면, 각각의 modality로 부터 얻은 r..

Deep Learning 2022.07.22

[Multi-modal] PhraseCut / VGPhraseCut Dataset 소개

PhraseCut: Language-based Image Segmentaiton in the Wild 2020년 발표된 Dataset + multimodal segmentation framework 를 제시한 논문이다. Visual Genome의 Bounding Box annotation을 활용해, Phrase와 그에 해당되는 region을 mask annotation 했다. Visual Genome이 어떤 dataset인지, PhraseCut은 어떤 modification을 적용했는지 알아보자~~! ** Phraes Cut의 HulaNet 모듈에 관한 설명은 해당 글에서 다루지 않습니다! Visual Genome. PhraseCut의 baseline PhraseCut의 base가 되는 Visual Ge..

[졸업프로젝트] Smart farm using Drone an AI : Grape berry counting & Grading

안녕하세요 오늘은 요즘 진행중인 졸업프로젝트에 관해서 포스팅하려 합니다. 프로젝트는 기술적으로 4가지 파트로 나뉩니다. AI, Drone, Front/Backend. 그 중에서도 제가 맡은 AI부분에 집중해서 설명해보도록 하겠습니다. 1. 왜 포도인가요? 많고 많은 작물,과수 중에 포도를 선택한 이유는, 가장 노동집약적인 작물이라고 판단했기 때문입니다. 포도의 특성상, - 대규모 농가의 비율이 큼(와이너리) - 세계적으로 재배되는 작물 - 재배에 인간의 노하우가 많이 필요함 -> 노동자의 숙련도가 중요하다. 대규모 농가에서 노동자의 숙련도가 필요한 작업을 하려면 비용이 올라가고, 작업이 연장됩니다. 한정된 인원으로 제공할수 있는 노동력또한 한정적이기 때문이지요. 결과적으로 비용이 증가하고 품질관리가 미흡..

FireWhere - 항공사진 기반 입지 제안 시스템

올해 5월 열린 Junction X Seoul 해커톤을 동기들과 나가게 되어 AI 부문에서 무려 2등을 수상하였다!! JunctionX Seoul 2021 🏆 WINNERS junctionx-seoul-2021.oopy.io 첫 해커톤+ 첫 대회인만큼 너무 감격스러웠는데 일에 치이다보니 반년이 지나서 정리를,,, 우선 해커톤의 주제는 인공위성 사진을 사용한 AI프로젝트!! 데이터를 제공해주지 않아서 학습데이터의 자유도는 매우 높았고 (그만큼 주제 정하긴 어려웠지만 ㅎㅎ) 처음에는 산불감지 모델을 할까? 하다가 데이터셋을 찾지 못하여 입지추천 시스템으로 노선 변경!! 더 잘할수 있었지만, 학부 3학년들이 48시간 이내에 만든것 치고는 괜찮은것 같다는 생각..을 해도 될까요? [목차] 1. 기술 테크 2. ..

Week 11/12/13 - Semantic Segmentation - 대회 꿀팁

대회나 Task를 진행할 때 주의해야할 사항들! 1. Debugging 디버깅 모드는 실험 환경이 잘 설정되어 있는지 체크하는 과정이다. 대부분의 모델 학습,테스트는 실행하자마자 뚝딱하고 나오는게 아니라 시간이 걸리는 경우가 많다. 따라서 자기 전에 모델을 돌려놓고 잠드는 개발자들이 많다. (잠자는 시간까지 헛투루 쓰지 않는 딥러닝 개발자들 ^.^이랄까 ㅎㅎ) 여하튼 그런식으로 작업을 하는 개발자들이 많은데, 종종 돌리고 일어났을때 에러 메세지와 함께 정상작동이 되지 않아 종료된 경우를 마주하기도 한다. 정말 대략 난감 ㅜㅇㅜ 그래서 해야하는건 Debugging!!!! 5분만 투자해서 잠자는 시간을 벌자 카이스트 김현우 마스터님이 공유해주신 방법이다. if cfg.debug = True: # 디버깅 모드..

Week 11/12/13 - Semantic Segmentation - UNet++

Unet에는 두가지 한계점이 있다. 1. 깊이가 4로 고정되어 있다, 2. SKip connection이 너무 simple하다 이 두가지 한계점을 극복한 더 나은 버전의 Unet이 Unet++이다. ( unet투플러스 라고 읽는다 ) 각각의 한계를 어떻게 극복했는지 살펴보면, 1. Encoder를 공유하는 다양한 깊이의 U-Net 생성 2. Dense Skip Connection 기존 : upsample한 feature map에 skip connection을 활용해 concat한 후, convolution Dense Skip connection 바로 단순 concat하지 않고 중간에 여러개의 단계를 두어 convolution을 겹겹이 한다. 그림의 물음표->X0,2는 X0,0과 X0,1과 upsample..

Week 11/12/13 - Semantic Segmentation - UNet

Unet Unet은 바이오 메디털 분야에서 처음 발표된 논문이다. 의료 영상 분석에서 Segmentation은 꽤나 중요한 부분을 차지하는데, 위 그림과 같이 세포를 분석할때 매우 얇은 선을 기준으로 분리되기도 한다. 이때 인간이 놓치는 부분을 최소화 하고자 딥러닝 모델이 사용 되는데, 데이터도 너무 부족하고(병 걸린 사람을 늘릴수도 없고,, 데이터 수집 불가.. 레이블링도 심지어 일반인이 할 수 없다. 완전 Hogh Cost 데이터란 말씀! ) 기존의 모델들이 이정도로 정교하지는 않았어서 실질적으로 불가능한 태스크였다. 이런 장애물들을 상당 부분 극복한게 Unet이다!! 그럼 unet의 구조를 살펴보자 Unet Architecture 가장 큰 특징중 하나는 Contracting Path(encoder)..

Week 11/12/13 - Semantic Segmentation - PSP2Net

PSPNet 에는 세가지의 도입 배경이 있다. 1. Mismatched Relationship 이미지는 호수에 보트가 떠있는(굉장히 context상으로 말이 되는) 사진이다. 하지만 왼쪽에서 세번째, FCN의 결과를 보면 가장 오른쪽의 보트가 자동차(남색)으로 인식되었음을 확인 할 수 있다. 얼핏 보면 보트와 자동차의 외관이 닮았기 때문이다. 하지만 물에 떠있다는 context정보를 추가하면 정확도가 좀 더 올라가지 않을까? idea -> 주변의 특징을 고려 2. Confusion Categories 유사한 카테고리를 헷갈리는 문제점도 있다. 지역적인 부분만 봐서는 building인지 skyscraper인지 알기가 힘들다. idea -> contextual information 필요 3. Inconspi..

Week 11/12/13 - Semantic Segmentation - DeepLab v1

이번 포스팅에서는 DeepLab version 1에 대해 살펴보겠다. Receptive Field를 확장시킨 모델 Receptive Field란 하나의 뉴런이 얼마만큼의 정보를 바라봤는지를 나타낸다. Convolution을 진행하다 보면 레이어가 점차 깊어질수록 activation map의 한 점에 영향을 주는 Pixel들이 점차 많아진다. 이를 좀 더 직관적으로 보면, A,B,C 모두 같은 새를 바라보고 있다. A,C 와 B로 그림을 나눠볼 수 있다. 기준은 뭘까? 바로 B는 몸통을 집중적으로 보고 있고 A와 C는 새의 전반적인 정보를 모두 포함한다는 것이다. B와 C를 비교했을때는, 컴퓨터 입장에서 B를 새라고 인식하기 보다 C를 새라고 인식하기 더 수월할 것이다. -> 즉, receptive fie..

Week 11/12/13 - Semantic Segmentation - DeconvNet

DeconvNet은 Deconvolution과정이 빈약해서 생기는 FCN의 한계점들을 보완하는 모델이다. DeconvNet. 이름에서 알 수 있듯이 Deconvolution과정에 힘을 준 모델이다. Architecture Decoder를 Encoder와 대칭으로 만든 형태 Conv BLock이 VGG16를 사용해, [ Conv - BN - ReLU ] x 2 - Max Pooling의 과정을 거친다. Deconvoliution Block은 정확히 반대순서로 간다. UnPooling - [ Transpose Conv - BN - ReLU ] x 2 Unpooling과 Deconvolution을 동시에 반복적으로 사용하는 방법의 장점은 아래와 같다. 1. Unpooling은 디테일한 경계 포착 2. Tran..