본문 바로가기

개발/딥러닝20

[논문 리뷰] You Only Look Once:Unified, Real-Time Object Detection(YOLO v1) ssd와 마찬가지로 물체가 어디 있고 어떤 문체인지 판단하는 네트워크입니다. 모델이 상당히 간단하고 앵커박스가 없는 것이 특징입니다.  모델 구조 처음 448*448 크기의 이미지로 시작합니다. 이 이미지를 Conv2D를 이용해 7&7*30으로 줄입니다. 마지막 라벨에서는 7*7*30이 됩니다. 7*7은 피쳐의 크기입니다. 클래스가 20개고 각 피쳐픽셀 당 2개의 바운딩 박스가 들어있습니다. 각 바운딩 박스는 5개의 값으로 이루어 지는데요, 중심 좌표(x,y)와 너비와 높이(w,h)와 컨피던스 스코어(c)로 이루어져 있습니다. 그래서 각 피쳐픽셀 당 20+(5*2)=30개로 이루어 집니다. 이전에는 바운딩 박스마다 클래스를 주었는데요, 이번에는 피쳐픽셀 당 라벨이 정해집니다.백그라운드이 전에는 각 바운딩.. 2024. 7. 31.
[논문 구현] SSD: Single Shot MultiBox Detector 로스 구현 우선 이 전에 만든 AnchorBox 레이어는 제거해 주도록 하겠습니다. 로스를 계산할 때 필요할 줄 알았는데 로스를 계산할 때가 아니라 데이터 전처리 단계에서 진행하는 것이 훨씬 좋을 것 같네요. 각각의 anchorbox마다 양성인지 아닌지, 양성이면 어떤 객체인지 IOU를 기반으로 전부 작성해 주고 loss를 계산해 줍니다. 이제 로스를 구현해 보겠습니다.논문에서는 smoothL1 로스를 사용했습니다. 로스는 다음과 같이 생겼습니다. -0.5 ~ 0.5까지는 $\frac {x^2}{2}$, 나머지는 $\left\vert x \right\vert - 0.5$ 를 사용합니다. 모든 곳에서 미분 가능하게 하기 위해서인 것 같습니다.아래와 같이 계산합니다. tf.를 사용해 줘야 나중에 학습이 가능합니다. 그.. 2024. 7. 28.
[논문 구현] SSD: Single Shot MultiBox Detector 모델 구현 이제 SSD를 구현해 보겠습니다. 저는 이미지를 받으면 트럼프 카드의 위치와 카드의 색(빨강, 검정)을 찾아주는 인공지능을 만들 것입니다.  논문에서는 vgg-16을 Conv5_3 레이어까지 가져왔습니다. 아래 그림에서 D에 해당하는 부분입니다. 이 부분 먼저 구현해 보겠습니다. 여기서 he_normal은 가중치를 초기화 해 주는 방법 중 하나입니다. kernel_regularizer은 커널의 가중치가 너무 커지는 것을 막기 위한 것입니다. 해당 모델의 summary를 출력해 봅니다. 이 뒤 부분도 진행해 줍니다. 다행히 논문과 같은 구조가 나왔습니다. 이제 각 클래스 별 confidence와 위치를 가져올 것입니다. 이 값들은 c4_3, c7, c8_2, c9_2, c10_2, c11_2에서 Conv2.. 2024. 7. 24.
[논문 리뷰] SSD: Single Shot MultiBox Detector Faster R-CNN에서는 학습하는 데에 여러 단계가 필요했습니다. 이 과정을 한 단계로 줄인 것이 SSD입니다.모델이 상당히 간단한 녀석이기 때문에 실제로 구현한다고 생각하면서 구현에 필요한 정보 기준으로 말씀드리겠습니다.기본 개념R-CNN에서는 selective search, faster-rcnn에서는 resion proposal network와 anchor box를 통해 물체가 있을만한 곳을 살펴보았습니다. 근데 selective search는 뭔가 정확하지 않을 것 같고 anchor box는 크기가 너무 정해져 있어 큰 물체와 작은 물체가 함께 있으면 둘 다 인식하기 어렵습니다.SSD에서는 같은 크기의 anchor box(논문에선 default box로 표현하는데 편의를 위해 anchor box.. 2024. 7. 20.
[논문 리뷰] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks faster R-CNN은 R-CNN(https://codestudycafe.tistory.com/63)을 조금 더 빠르게 바꾼 모델입니다. R-CNN에서 어떤 것이 달라졌는지로 시작해 보겠습니다.무엇이 달라졌나?R-CNN은 2000개의 영역을 뽑아내고(resion proposal) 각 영역에 대해 CNN을 돌립니다. 그러면 CNN을 2000번 돌리게 되는데 이것을 한 번으로 줄였습니다.end-to-end 학습이 가능합니다. SVM을 제거해서 한번에 학습이 가능합니다.3개의 모델을 합쳐서 만들었습니다.(CNN, resion proposan network, fast R-CNN)어떻게 진행되나?다음 과정을 거칩니다.먼저 CNN을 통과시켜 feature map을 뽑아냅니다.resion proposal netwo.. 2024. 7. 2.
[논문 리뷰] Rich feature hierarchies for accurate object detection and semantic segmentation(R-CNN) 이 전의 논문 리뷰에서는 모델의 구조에 집중을 했었습니다. 이 논문에서 딥러닝스러운 부분은 사실 cnn이 전부고 이미지를 전처리하는 데에 신경을 많이 쓰고 있습니다. 따라서 이 리뷰도 전처리에 신경을 쓰도록 하겠습니다. 무엇을 하는 녀석인가각 객체들이 어디에 있는지 찾아주는 인공지능입니다.개요객체를 탐지하는데 크게 3 단계를 거칩니다.각 이미지를 적절한 영역(2000개)로 나눕니다.각 영역을 cnn에 넣습니다.그렇게 나온 정보를 이용해서 어떤 객체인지 분류합니다. 적절한 영역을 어떻게 나누는가?이 논문에서는 selective search 기법을 사용해서 구역을 나누었습니다. 헷갈릴 수 있으니 용어부터 잡고 진행합니다. resion proposal : 객체가 있을 만한 곳을 찾는 것selective sea.. 2024. 6. 30.