인공지능 블록 > 분류 모델 - 이미지

model_classification_image

모델이 학습할 이미지를 업로드하거나 직접 촬영해서 데이터로 입력하고, 입력한 데이터를 직접 분류해서 학습시키면 나만의 인공지능 모델이 만들어집니다.

이미지 모델을 선택하면 아래와 같이 이미지 모델 학습하기 창이 나타납니다.

learning-image-model

먼저 모델의 이름부터 지어볼까요? 이름 상자를 클릭해서 모델의 이름을 정합니다.

① 클래스 만들기

모델 학습의 첫 단계는 데이터 입력 영역을 클래스로 채우는 것이에요. 클래스는 학습할 데이터의 묶음이고, 데이터를 분류하는 기준입니다. ‘클래스 추가하기’ 버튼을 클릭하면 클래스를 필요한 만큼 추가할 수 있어요.

image-model-class

각 클래스를 선택하면 자세한 정보와 함께 이미지를 입력할 수 있어요. 이름 상자를 클릭하면 클래스의 이름을 정할 수 있습니다. 학습 모델이 알려주는 결과 값으로 클래스 이름을 사용하니까 클래스 이름을 알아보기 쉽게 정해주는 것이 중요해요.

다음으로는 왼쪽의 목록 상자를 클릭하면 이미지를 어떻게 입력할 것인지 선택할 수 있어요.

image-model-class-camera

이 때 각 클래스를 충분히 학습을 할 수 있도록 최소 5개 이상의 이미지를 입력해야 합니다. 입력한 이미지는 정사각형으로 잘라서 반영해요. 입력한 각 이미지는 마우스 포인터를 대거나 터치하면 나타나는 [X] 버튼을 눌러서 삭제할 수 있습니다.

② 학습 조건 설정하기

image-model-leaning

이렇게 2개 이상의 클래스를 만들고 나면, 학습 박스의 [모델 학습하기] 버튼을 클릭할 수 있습니다. 이 버튼을 눌러 학습을 바로 완료할 수도 있지만, ‘모델을 학습시킬 수 있습니다.’ 글씨를 클릭해서 다양한 학습 조건을 설정할 수 있어요.

image-model-attribute

③ 학습 결과 확인하기

학습 조건을 모두 설정했다면 [모델 학습하기] 버튼을 클릭해서 학습을 완료하고, 결과 박스에서 결과를 확인할 수 있습니다.

image-model-result

클래스에 이미지를 입력한 것처럼, 이미지를 업로드해서 학습 모델이 이미지를 제대로 학습했는지 확인할 수 있어요.

각 클래스에 얼마나 가까운지 막대 그래프로 비교해보세요!

image-model-chart

이렇게 학습을 완료했다면, 학습 영역에서 [차트] 버튼을 클릭해 학습의 과정을 그래프로 확인할 수 있어요.

가로축은 세대(Epoch)를 나타냅니다. 세로축에서 acc는 학습 정확도를 의미하고, val_acc는 검증 정확도를 나타냅니다. 정확도가 1에 가까울수록 더 정확한 분류 결과를 얻을 수 있어요.

1. 학습한 모델로 분류하기

block-ai-model-01

데이터 입력 팝업 창을 열고, 입력한 이미지를 학습한 모델로 분류합니다.

model-data-upload-window

동시에 작품을 일시 정지해요. 오른쪽 아래 버튼을 클릭해서 창을 닫지 않고도 작품을 다시 시작할 수 있습니다.

오른쪽 위의 [X] 버튼을 클릭하면, 데이터를 입력하지 않고 창을 닫을 수도 있어요.

2. 비디오 화면을 학습한 모델로 분류 [시작하기]

block-ai-model-img-02

실행 화면에 표시한 비디오 화면을 학습한 모델을 통해 실시간으로 분류합니다.

이 블록을 사용하기 위해서는 ‘인공지능 > 비디오 감지’의 block-ai-video-01 블록을 먼저 조립해서 실행 화면에 비디오 화면을 표시해야 해요.

학습한 분류 모델의 실시간 분류 결과를 block-ai-model-03 블록으로 확인할 수 있어요.

3. 분류 결과

block-ai-model-03

입력한 데이터를 학습한 모델로 분류한 결과를 가져오는 값 블록입니다.

입력한 데이터와 가장 유사한 클래스의 이름을 가져와요. 만일 데이터를 입력하지 않았다면 아무 것도 가져오지 않아요.

4. [클래스] 의 신뢰도

block-ai-model-04

입력한 데이터가 분류된 클래스에 대한 신뢰도를 가져오는 값 블록입니다.

만일 데이터를 입력하지 않았다면 0 을 가져와요.

목록 상자()를 클릭하면 신뢰도를 가져올 클래스를 선택할 수 있어요.

5. <분류 결과가 [클래스] 인가?>

block-ai-model-05

입력한 데이터가 선택한 클래스와 가장 비슷하다면 참, 아니라면 거짓으로 판단하는 블록입니다.

만일 데이터를 입력하지 않았다면 항상 거짓을 가져와요.

목록 상자()를 클릭하면 결과를 확인할 클래스를 선택할 수 있어요.