최근 4학년 2학기를 끝내고 취업을 준비하게 되어 면접을 보며 CS 전공지식 관련에서 부족함이 많다는 것을 느꼈다. 그래서 면접 예상 질문과 이해가 부족했던 CS 지식들을 정리하기로 했다.
1. CNN 이란?
Convolutional neural network(CNN 또는 ConvNet)은 수동으로 특징을 추출할 필요 없이 데이터로부터 직접 학습하는 딥러닝을 위한 신경망 아키텍처입니다.
CNN은 영상에서 객체, 얼굴, 장면 인식을 위한 패턴을 찾을 때 특히 유용합니다. 오디오, 시계열, 신호 데이터와 같이 영상 이외의 데이터를 분류하는 데도 효과적입니다.
CNN은 다음 세 가지 중요한 요인으로 인해 딥러닝에서 널리 사용됩니다.
- CNN은 수동 특징 추출의 필요성을 제거합니다. 특징은 CNN에 의해 직접 학습됩니다.
- CNN은 고도로 정확한 인식 결과를 생성합니다.
- CNN은 새로운 인식 작업을 위해 다시 훈련시킬 수 있으므로 기존 신경망을 활용할 수 있습니다.
1-1. Yolo 란?
You Only Look Once 의 약자로 Object detection 분야에서 많이 알려진 모델이다. 처음으로 1-stage-detection 방법을 고안하여 실시간으로 Object Detection이 가능하게 만들었다.
기존의 R-CNN 방식은 2-stage-detection은 객체를 검출하는 정확도 측면에서는 굉장히 좋은 성능을 냈지만, 속도(FPS) 측면에서는 너무 느렸다. 실제 Real-time detection을 하기 위해선 보통 30 fps 정도가 필요한데 Faster R-CNN의 경우 5 fps 밖에 되지 않는다.
이런 속도 문제(fps) 를 해결하기 위해 region proposal(bounding box 그려지는 부분)과 classification을 동시에 하는 1-stage-detection 가 제안되었다.
🔎 Yolov5 특징
1. 이미지 전체를 한번만 보는 것
R-CNN: 이미지를 여러장으로 분할하고 CNN 모델을 이용하여 이미지를 분석했다. 따라서 이미지 한장을 보더라도 여러장의 이미지를 분석하는 것과 같았다. 하지만 YOLO는 이러한 과정없이 이미지를 한 번만 보는 특징을 가지고 있다.
2. 통합된 모델을 사용하는 것
기존 Object Detectin 모델은 전처리모델 + 인공신경망 을 결합하여 사용했다. 하지만 YOLO에서는 위를 통합한 모델을 사용한다.
3. 실시간으로 객체를 탐지할 수 있는 것
기존의 R-CNN보다 6배 빠른 성능을 보여준다.
출처 :
'IT 개념 정리' 카테고리의 다른 글
Java와 Javascript의 차이 (0) | 2022.12.12 |
---|