
Deep Block의 물체 탐지 애플리케이션 사용 방법을 알아보겠습니다.
이 튜토리얼에서는, 우리는 자동으로 맹꽁이를 찾아내는 AI 모델을 만들 것입니다. 맹꽁이는 한국 토종 멸종위기종입니다. 그리고 사람들이 맹꽁이의 서식지를 파괴하면서, 맹꽁이의 수는 줄어들고 있고 위험에 직면하고 있습니다. 맹꽁이를 찾아 구해봅시다.
-
로그인 후 오른쪽 상단 모서리에 있는 "Try Deep Block" 버튼을 클릭하십시오.
-
콘솔 페이지에서 오른쪽 상단 모서리에 있는 "Create" 단추를 클릭합니다.
- Computer Vision 에서 Object Detection을 클릭하고 “NOT FOR REAL-TIME INFERENCE” 옵션을 고릅니다. 프로젝트 이름을 띄어쓰기 없는 원하는 이름으로 설정하고 "만들기" 단추를 클릭하여 프로젝트를 만듭니다.
- 프로젝트를 엽니다.
- 따라서 하나의 카테고리만 생성하면 됩니다. 그러나 여러 종류의 사물을 탐지하려는 경우 카테고리 창에 더 추가할 수 있습니다. 새 클래스를 만들려면 카테고리 추가 버튼을 클릭하십시오.
And rename the class.
이 프로젝트에서, 우리는 맹꽁이를 탐지할 수 있는 AI 모델을 구축하고자 합니다. 따라서 클래스의 이름은 "Boreal_Digging_Frog"입니다.
상자를 더 잘 볼 수 있도록 각 클래스의 색상 선택기를 클릭하여 각 클래스의 색상을 변경할 수도 있습니다. - 이제 우리는 AI 모델을 훈련시키기 위한 훈련 데이터 세트를 준비해야 합니다.
이 프로젝트를 위해, 우리는 약 120장의 개구리 사진을 준비했습니다.
그러나 우리는 당신이 AI 모델을 훈련시키기 위해 가능한 한 많은 이미지를 준비하는 것을 추천합니다. 각 클래스에 대해 최소 수천 개의 객체 인스턴스 (여기에서는 맹꽁이의 마릿수) 를 준비하는 것을 추천합니다. 준비한 모든 이미지를 선택하고 Manual 창으로 끌어 파일을 업로드합니다. - 훈련 데이터 준비를 시작하겠습니다.
그릴 범주를 선택하고 Draw Mode 버튼을 클릭합니다.
탐지하고 싶은 물체를 감싸는 상자를 그립니다.
상자가 탐지하려는 객체(물체)에 꼭 맞도록 그립니다. 너무 크거나 작아서는 안됩니다. -
각 이미지에 상자를 그린 후 파일 이름을 마우스 오른쪽 단추로 클릭하고 파일을 Done 창으로 이동합니다.
Manual 창에서 한 번에 여러 파일을 선택하고 마우스 오른쪽 버튼을 클릭하여 모든 파일을 한 번에 이동할 수도 있습니다. -
객체가 겹치는 경우 상자를 주의 깊게 그려 두 객체를 분리합니다.
그리고 모든 이미지에 상자를 그릴 때까지 이 과정을 반복합니다. - 상자 그리기 및 Done 창으로 이미지 이동을 마쳤으면 모델 훈련을 시작할 수 있습니다. 실행을 클릭하고 Epohcs 값을 설정한 다음 TRAIN 버튼을 클릭합니다. 모델 훈련을 시작합니다.
여기서는 값을 5,000으로 설정합니다. 그러나 이 Epohcs 값이 절대적인 것은 아닙니다. 훈련 데이터가 많은 경우 Epohcs 값을 줄이는 것이 좋을 수 있으며, Epohcs 을 너무 많이 설정하면 overfitting 문제가 발생할 수 있습니다. 여러 개의 Epohcs 값을 사용하여 모델을 학습해보면 어떤 값이 최적의 Epohcs 값인지 알 수 있습니다. - AI 모델을 훈련하는 동안 남은 시간과 손실과 같은 메트릭스를 볼 수 있습니다.
시간이 좀 걸리므로 프로젝트를 닫았다가 잠시 후에 다시 열어도 됩니다. -
훈련 후, Epochs가 증가함에 따라 Training score이 증가하는지 확인합니다.
- 그렇다면 Predict 탭을 누릅니다.
- 이제 훈련된 AI 모델을 사용해보겠습니다. 추론을 위해 이미지를 준비합니다. 추론할 이미지를 선택하고 이미지를 Predict 창으로 드래그 앤 드롭합니다.
-
추론에 대한 낮은 threshold 점수를 설정합니다. 우리는 보통 첫 번째 추론에서 그것을 30 정도로 설정합니다.
Predict 버튼을 눌러 추론을 시작합니다. -
오래 걸리지 않을 겁니다. 이 경우 모델이 threshold 값이 낮더라도 개구리를 잘 탐지합니다.
그러나 threshold 값이 낮을 때 AI 모델은 일반적으로 잘못된 상자까지 감지하거나 동일한 개체에 많은 상자를 그립니다. 따라서 threshold 값은 낮은 threshold 값으로 먼저 추론한 후에 조정해야 합니다. 만약 AI 모델이 다른 물체를 인식한다면, Boxes 탭에서 그 박스의 확률을 체크하세요.
일반적으로 잘못 감지된 상자의 확률 값은 올바르게 감지된 상자의 확률 값보다 낮습니다.
따라서 threshold 값을 이와 같은 False Positive 상자의 최대 확률 값보다 높게 설정하십시오. 그러면 AI 모델이 물체를 정확하게 감지하게 될 것입니다.
False Positive 상자의 최대 확률 값이 상당히 크다면, AI 모델이 더 많은 훈련 데이터를 준비하는 등 더 많은 최적화가 필요하다는 것을 의미합니다.
이 외에도 너무 낮은 threshold 값을 설정하면 하나의 물체에 여러 개의 상자가 그려져 있을 수 있습니다. 이 경우 threshold 값이 가장 높은 상자 하나만 탐지 되도록 threshold 값을 높여야 합니다.
첫 번째 사례처럼, AI 모델이 threshold 값을 높인 후에도 객체를 찾지 못한다면, AI 모델을 최적화해야 할 필요가 있습니다. -
하지만 훈련 데이터를 많이 넣어도 AI 모델이 완벽하기는 쉽지 않다는 점을 알아두어야 합니다. 예를 들어, 어두운 사진에서 물체를 감지하거나 작은 물체를 감지하는 것은 현대 물체 감지 AI에서 여전히 상당히 어렵습니다.
- AI 모델을 최적화 하는 데 어려움을 겪고 있다면 저희에게 아래로 연락을 주시면 도와드리도록 하겠습니다.