AI/CV

· AI/CV
1) Multi-Modal learning Overview Multi-Modal-learning이란 다른 특성을 갖는 data(ex. text, sound)를 같이 활용하는 것을 말한다. 이러한 Multi-Modal이 마주하는 challenge는 다음과 같다. 1. Different representations between modalities - data간의 표현양식이 다르다. 이를 테면 audio 같은 경우는 1d로 표현되고 Image 는 2d 형태로 표현된다. Text 의 경우 embdding vector로 표현되기 때문에 각각에 특성에 맞게 다뤄야한다. 2. Unbalance between heterogeneous feature spaces - feature space에 대한 특징이 unbalan..
· AI/CV
1) CLIP(Contrastive Language-Image Pre-training) OpenAI에서 개발한 인공지능 모델입니다. 이 모델은 이미지와 텍스트를 함께 학습하여 이를 활용하여 각각의 정보를 서로 연결하고, 이미지에서 텍스트를 생성하거나 텍스트에서 이미지를 생성하는 작업에 사용될 수 있습니다. CLIP은 텍스트와 이미지 간의 유사성을 학습하는 대신, 이미지와 텍스트가 함께 있는 문장을 이해하도록 학습합니다. 이를 통해, 예를 들어 "검은 색의 개"라는 문장과 "검은 색의 고양이"라는 이미지가 어떻게 연결되는지를 학습할 수 있습니다. 이 모델은 이미지 분류, 이미지 생성, 이미지 검색, 자연어 처리, 질의응답 등 다양한 분야에서 활용될 수 있습니다. 또한, 이미지와 텍스트를 함께 고려하는 다양..
· AI/CV
1) Transformer https://ltsgod.tistory.com/94 Transformer 1) Transformer Sequential model이 다루기 힘든 문제들 중간에 시퀀스 데이터가 누락되거나, 순서가 바뀌거나 잘리는 문제들은 Sequential model로 다루기가 쉽지 않다. Transformer 는 Sequential model처럼 재귀적 ltsgod.tistory.com 2) Vision Transformer 이러한 transformer 들을 각각 classification, Detection, Segmentation 에 적용한 사례들을 봐보자. 1. ViTs(Vision Transformers) - classification 먼저 각각 patch 들을 나눠준다. 이 때도 각..
· AI/CV
1) 3D Overview 왜 3D가 중요한가?? 우리가 일상적으로 사는 공간이 3D이기 때문이다. 따라서 앞으로 사용하게 될 프로그램에서 이러한 3D를 인식하는 것이 중요할 것이다. 이러한 3D를 적용하는 다양한 분야가 있다. AR/VR 3D printing Medical application 우리가 3D 세상을 어떻게 인식하는가?? 우리는 3D 그대로를 인식하는 것이 아니라 projection 된 2D의 image를 보게 된다. 만약 이러한 이미지가 2개 이상 있다면 우리는 3D로 복원할 수 있다. 3D data는 어떻게 표현하는가?? 우리는 2D image는 3차원 형태로 표현했다. width * height 에 RGB라면 3개의 channel이 가지도록 말이다. 3D data의 경우 unique하..
· AI/CV
1) Conditional generative model 이것은 무엇인가?? 조건이 주어졌을 때 image를 해석해주는 것을 말한다. 예를 들어 위와 같이 실제 이미지를 가방으로 번역하는 함수가 있다고 한다. 이러한 모델은 조건에 해당하는 결과가 나오는 모델이다. generative model 자체가 확률분포를 모델링하는 기법이기 때문에 확률분포로 표현할 수 있다. 그리고 이러한 조건이 주어지면 확률분포가 확률이 높은 구간의 image가 sampling 되어 나올 것이다. Generative model VS Conditional generative model Generative model 같은 경우에는 생성만 가능했지 이것을 조작하지는 못했다. 하지만 Conditional genrative model 같..
· AI/CV
앞의 Object Detection에서 얘기 했듯 Segmentation 은 같은 클래스내의 다른 객체들은 구분하지 못한다. 따라서 이러한 Semantic segmentation + 물체를 구분하는(object detection)을 활용 한 방법이 Instance Segmentation이다. 1) Instance segmentation 1. Mask R-CNN 그전의 Faster R-CNN은 RPN으로 나온 Bounding Box Proposals 를 이용해 RoI pooling 시켜주었다. 이 때 RoI pooling은 정수좌표들만 지원했었는데 Mask R-CNN의 RoIAlign은 정교한 소숫점 pixel level의 pooling 을 지원해 준다. 또 Mask R-CNN은 기존의 Faster R-C..
· AI/CV
0) CNN Visualization 개요 지금 까지 배운 CNN 기반 Network는 학습가능한 Conv와 non-linear function이 연속으로 되어있는 것으로 볼 수 있다. 이러한 학습이 왜 잘 되는지, CNN 내부에서는 어떻게 학습하고 있는지 등을 보기 위해서는 내부를 까봐야한다. 하지만 여러 단계의 weight로 이루어져 있어 복잡한 내부를 이루고 있다(Black Box) 따라서 이러한 Black Box 의 내부를 까봐야하기 때문에 Visualization이 필요하다. CNN에서 낮은 레벨의 계층에서는 방향성을 가진 선이나 block들이 분포되어 있는 것으로 관찰된다. 또 높아질 수록 의미있는 표현이 학습된다. 첫번째 계층의 Activation visualization을 봐보자. Alex..
· AI/CV
0) Object Detection Semantic segmentation 과 밑의 두 instance segmentation, Panoptic segmentation이 다른점. -> Semantic segmentation 은 같은 클래스내의 Instance는 따로 구분하지 않지만 밑의 두 방법은 같은 class더라도 Instance를 구분한다. 밑의 두 방법에는 classification 과 Box localization 이 들어간다. 이것은 Semantic segmentation 보다 어려운 문제에 속하고 이렇게 classification + Box localization 이 들어간 것을 Object Detection이라고 한다. Object Detection 적용분야 자율주행 OCR(Optical ..
· AI/CV
0) Sementic Segmentation - pixel 단위로 분류하는 것 - 기본적으로 같은 class인데 서로 다른 물체는 구분하지 않음. 1) Sementic Segmentation Architectures AlexNet 같은 fully-connected Layer의 문제점 1. 입력이 바뀌면 fc에서의 차원이 바뀌어 호환되지 않는다. 예를 들어 만약 100 * 100의 이미지가 input으로 들어가 학습된 network가 있다면 test시 200 * 200 의 이미지가 들어간다면 fc layer에서 차원이 맞지 않게 된다. 반면 FCN은 특정해상도에서 학습되어도 test할 때는 임의의 차원의 이미지를 사용할 수 있다. 2. image의 공간정보가 저장되지 않는다. 왜냐하면 1개의 vector로..
· AI/CV
어떻게 하면 사람의 시각을 컴퓨터로 구현할 수 있을까?? 전통적인 방법 Input - Feature extraction - Classification - Output Deep Learning Input - Feature extraction + Classification - Output Deep Learning을 이용하면 더이상 Feature Extraction을 사람이 할 일이 없다. 1) CV task에서 CNN을 사용하는 이유 0. K-NN 알고리즘 - K개의 이웃의 data를 보고 그 중 가장 가까운 곳에 속해있는 data로 분류하는 알고리즘. 검색 알고리즘이라고 할 수 있다. 만약 모든 data를 가지고 있다면 KNN을 통해 분류할 수 있을 것이다. (검색문제로 치환가능) 하지만 KNN의 문제점은..
· AI/CV
1) Data augmentation 우리가 얻는 dataset엔 대부분 bias가 있다. 왜냐하면 실제 data 분포보다 우리가 얻는 data는 일부분에 불가하기 때문이다. 이러한 편향이 좋지 않은 이유는 다음과 같다. 만약 낮에 찍은 고양이 사진만 넣어서 학습시키고 어두운 고양이 사진을 넣는다면 network는 좋은 결과를 주지 못한다. 한번도 training 단계에서 보지 못한 data이기 때문이다. 이는 data가 실제의 모든 data 분포를 커버하지 못해서 나온결과이다. 그렇다면 이 빈 공간을 어떻게 채우면 좋을까?? 이 때 Data Augmentation을 사용하면 data의 빈 공간을 어느정도 커버할 수 있다. Crop 한더던지 Rotate한다던지의 방법을 통해 말이다. 앞의 예에서 어두운 ..
LTSGOD
'AI/CV' 카테고리의 글 목록