[AI] Caffe 이해 및 사용

wangki·2025년 7월 14일
0

AI

목록 보기
1/1

what is Caffe?

딥러닝 프레임워크

딥러닝 모델을 만들고, 학습시키고, 사용하는 데 필요한 도구 모음이라고 생각하면됨.

Caffe의 핵심: .prototxt, .caffemodel

  • .prototxt
    역할: 신경망의 설계도 또는 구조를 정의하는 텍스트 파일
    내용: 신경망이 어떤 계층(layer)들로 구성되어 있는지, 각 계층이 어떻게 연결되어 있는지, 필터 크기는 얼마인지 등의 구조적 정보가 들어있다. 사람이 읽고 이해할 수 있는 텍스트 형식이다.

  • .caffemodel
    역할: 위 설계도에 따라 학습된 가중치(weights)데이터가 담겨있는 이진 파일이다.
    내용: 수많은 이미지 데이터로 학습을 마친 후, 각 신경망 연결의 중요도를 나타내는 숫자 값들이 저장되어 있다.
    이 파일이 바로 모델의 지식에 해당하는 부분이다.

.prototxt파일은 텅 빈 뇌 구조이고, .caffemodel파일은 그 뇌에 학습을 통해 채워진 지식과 경험이라고 할 수 있다.

클래스 파일이 필요한 이유

GoogleNet과 같은 이미지 분류 모델은 학습에 사용된 수많은 클래스에 각각 번호를 붙여 구분한다.

  1. 모델의 출력: 이미지를 입력하면, 모델은 1000개의 클래스 각각에 대한 확률 점수를 출력한다. 그리고 가장 확률이 높다고 판단되는 클래스이 번호를 알려준다.
  2. 숫자-문자 변환: 모델이 가장 높은 확률을 가진 클래는 281입니다 라고 결과를 줬을 때, 281번이 무엇을 의미하는지 사람은 알 수 없다.
  3. 정답 해설치 역할: 이때 클래스 텍스트 파일이 정답 해설지 또는 라벨 맵 역할을 한다.
    이 파일에 각 번호에 해당하는 실제 사물의 이름이 순서대로 적혀 있다.

영상의 경우는 어떻게 처리할 수 있는지?

프레임을 읽어온다.
그러면 프레임이 하나의 이미지가 된다.
이 후 이미지와 동일하게 전처리하여 blob으로 만든다.
blob을 모델에게 넘겨서 추론을 실행한다.

⚠️ blob 이란?
딥러닝 모델이 이해할 수 있는 표준화된 형식으로 이미지를 담은 4차원 행렬이다.
표준 규격에 맞게 포장한 데이터 덩어리라고 생각하면 된다.

좌표를 얻고 싶다면 ?

객체 탐지 모델을 사용해야함

0개의 댓글