ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CNN이란?
    컴공지식/컴퓨터비전 2024. 10. 24. 20:23

    CNN은 이미지 인식이나 패턴 분석에 주로 쓰이는 딥러닝 알고리즘이다.

    복잡한 이미지를 보고 컴퓨터가 물체가 뭔지 알아맞히게 해주는 거다.

     

    CNN 구조:

    1. Input (입력)
      • 이미지가 CNN으로 들어가면서 분석을 시작
    2. Convolution + ReLU (합성곱 + ReLU 활성화 함수)
      • Convolution(합성곱): 필터를 이용해 이미지의 특징(엣지, 패턴)을 추출
      • ReLU는 음수 값을 0으로 만들어서 비선형성을 추가. 계산을 더 단순하게 만드는 역할이다.
    3. Pooling (풀링)
      • Max Pooling 같은 기법으로 이미지의 크기를 줄인다.
        중요한 정보만 남기고, 덜 중요한 건 버리는 거다.
    4. Flatten (펼치기)
      • 3D로 된 이미지 데이터를 1차원 벡터로 변환
        이렇게 해야 Fully Connected Layer에 넣어서 학습할 수 있다.
    5. Fully Connected Layer (완전 연결층)
      • 여기서는 모든 노드가 서로 연결된다. 이 층에서 CNN이 "이건 자동차야!" 같은 결론을 내리는 거다.
    6. Softmax (소프트맥스)
      • 마지막으로 Softmax 함수가 각 클래스에 해당하는 확률을 계산한다.
        예를 들어 "자동차일 확률 90%, 자전거일 확률 5%" 같은 식으로 말이다.

     

    아래 이미지는 Convolution을 시각화한거다.

     

    ReLU가 사용되는 이유는 

     

    • Gradient Vanishing 문제 해결
      • 기존에 쓰이던 시그모이드(sigmoid) 같은 함수는 학습할 때 기울기(gradient)가 거의 사라져버리는 문제가 있었다.
      • ReLU는 기울기를 0이나 양수로만 만들어서 빠르게 학습할 수 있게 한다.
    • 빠른 계산 속도
      • 음수를 0으로 날리고, 양수는 그대로 두니까 연산이 단순하다. 딱 빠르고 효율적인 함수이다.

    이 과정을 거치면 신경망이 이미지의 복잡한 패턴을 잘 잡아낼 수 있게 된다.
    쉽게 말해, 중요한 정보는 남기고 쓸모없는 건 날리는 거다.

     

     

     

    이거는 Pooling을 나타내는데, 가장 큰값을 중요한 값이라고 생각하고 그것만을 추출해내는 것이다.

     

    '컴공지식 > 컴퓨터비전' 카테고리의 다른 글

    객체 탐지 방법  (1) 2024.10.28
    이미지 매칭 코드  (1) 2024.10.24
    이미지 매칭(Image Matching)이란?  (1) 2024.10.24
    ORB란?  (1) 2024.10.24
    Image feature(이미지 특징)란?  (1) 2024.10.24
Designed by Tistory.