menu
close_24px
APPLICATIONS

객체 탐지

Overview

객체 탐지(감지)란 무엇일까요?

Deep Block Help Center_Mastering the data labeling tool #1

객체 감지는 차량, 사람, 건물 등 이미지에서 관심 있는 객체를 식별하는 것을 목표로 하는 컴퓨터 비전 기술입니다. 객체 감지 모델은 이미지에 있는 객체의 위치와 ID를 나타내는 경계 상자 및 클래스 레이블 집합을 출력합니다. 또한 모델은 각 감지의 신뢰도 점수를 분석가에게 제공하여, 추측 결과가 얼마나 신뢰할만한 지 나타낼 수도 있습니다.

컴퓨터 비전에서 객체 감지가 사용되는 몇 가지 이유는 다음과 같습니다.

  1. Automation: 객체 감지를 사용하면 감시 카메라 모니터링, 이미지에서 객체 감지 및 계산, 비디오에서 움직이는 객체 추적 등 수동 개입이 필요한 작업을 자동화할 수 있습니다.

     

  2. Object Tracking: 객체 감지 모델을 사용하여 이미지의 객체를 추적할 수 있습니다. 일반적으로 객체 감지 모델은 객체 추적 알고리즘과 결합됩니다.

     

  3. Object Counting: 개체 수를 세는 것은 의료 및 병리학 분야에서 매우 중요합니다. 객체 감지를 통해 찾아낸 객체의 개수는 Deep Block을 통해 쉽게 확인할 수 있습니다.

  4. Context Awareness: 영상이나 복잡한 이미지를 이해하기 위해서는 이러한 이미지와 영상 속에 어디에 어떤 사물이 존재하는지 이해해야 합니다. 이를 위해 객체 감지 모델의 추론 결과는 다중 모달 ML 모델에 입력으로 다시 전달되어야 합니다.

  5. Object Classification: 때때로 사람들은 이미지나 사물을 분류해야 할 때가 있습니다. 객체 감지는 객체를 감지하는 동시에 해당 객체가 어떤 카테고리에 속하는지 알려 주기 때문에 단순한 이미지 분류 모델보다 훨씬 유용합니다.

Get Started

  • Console로 이동합니다.
  • "CREATE" 를 클릭하면 새 프로젝트 팝업창이 표시됩니다.
  • "COMPUTER VISION"을 클릭하세요.
  • "OBJECT DETECTION"을 클릭하세요.
  • 필드에 프로젝트 이름을 입력합니다.
  • "CREATE"를 클릭하세요.
object detection

Workflow

객체 감지 모델을 교육하는 워크플로는 3단계로 나뉩니다.

  1. Train: 훈련 단계는 AI 모델링 파이프라인에서 가장 중요한 단계입니다. 이는 2개의 모듈로 나누어져 있습니다:

  2. Evaluate: 보이지 않는 새로운 데이터에 대해 훈련된 모델의 성능을 평가합니다.

  3. Predict: 새로 훈련된 모델을 적용하여 훈련 데이터에서 학습된 패턴을 기반으로 예측을 수행합니다.

Train

  • 프로젝트 뷰의 왼쪽 상단에 있는 "TRAIN"을 클릭하면 "1. Preprocess" 모듈이 표시됩니다.
Deep Block Help Center_Object Detection#2-2
1 - Preprocess

"TRAIN" 단계를 클릭하면 기본적으로 "1. Preprocess" 모듈이 표시됩니다.

  • 그렇지 않은 경우 "1. Preprocess"를 클릭하십시오.

객체 탐지 모델 학습을 시작하려면 먼저 주석을 추가할 이미지 데이터를 수집해야 합니다. 여기에는 해결하려는 사용 사례와 관련된 여러 소스의 이미지가 포함됩니다.

데이터에 주석을 달 준비가 되면 라벨링 도구 마스터를 참조하여 이미지나 데이터 세트를 가져오고 이미지에 라벨을 붙이는 방법을 알아보세요.

이미 주석 데이터가 있는 경우, json 형식의 주석 정보를 Deep Block에 업로드할 수 있습니다.

주석이나 이미지 데이터 수집을 저희에게 맡기고 싶으시거나, 트레이닝 데이터의 양이 적은 경우에는 문의해 주시기 바랍니다.

Deep Block Help Center_Object Detection#3
2 - Run

이제 데이터에 주석이 추가되었으므로 훈련 모듈을 실행할 수 있습니다.

  • 워크플로의 "TRAIN" 단계에서 "2. Run" 모듈을 클릭하여 모델 훈련을 시작합니다.
  • Epochs 필드에 적절한 값을 입력합니다.
  • 인터페이스 오른쪽 상단에 있는 'TRAIN'을 클릭하세요.
  • 이 프로세스 중에 몇 가지 처리 및 로드 팝업 창이 표시되며, 클릭하여 사라지게 할 수 있습니다.
  • 훈련 진행 상황을 보여주는 그래프가 나타나고 각 주기마다 발전합니다. 모든 훈련 주기가 끝날 때까지 기다리시거나, Deep Block을 종료한 이후 학습이 완료되면 다시 접속하시면 됩니다.
Deep Block Help Center_Object Detection#4

Epoch에 적합한 값을 선택하는 방법은 무엇입니까?

에포크는 기계 학습의 전체 교육 데이터 세트에 대한 단일 반복입니다. 각 에포크 동안 모델은 일련의 훈련 데이터에 대해 훈련되고 모델의 매개변수는 결과에 따라 업데이트됩니다. 각 시대의 목표는 훈련 데이터에 대한 모델의 성능을 향상시키는 것입니다. 일반적으로 모델이 전체 교육 데이터 세트를 여러 번 확인하고 데이터의 패턴을 학습할 수 있는 충분한 기회를 갖도록 교육 프로세스 중에 여러 시대가 실행됩니다.

객체 감지 모델 학습을 위해 15 Epoch로 클래스당 최소 1000개의 주석을 준비하는 것이 좋습니다. 그러나 이 값은 데이터 양, 데이터 품질 등 여러 요인에 따라 달라질 수 있습니다.

각 클래스당 4000개의 주석과 같이 많은 주석이 있는 경우 10 epoch 미만으로 훈련할 수도 있습니다.

여기를 클릭하여 최적의 훈련 시기를 결정하는 방법에 대해 자세히 알아보세요.

내 모델이 제대로 훈련되었는지 어떻게 알 수 있나요?

훈련 점수의 진행 상황을 보여주는 그래프가 나타나고 각 주기마다 발전합니다. 그래프 곡선이 지속적으로 올라가면 모델이 제대로 훈련되고 있다는 의미입니다.

그러나 모델 성능을 평가하는 가장 정확한 방법은 철저한 모델 성능 평가를 통해서입니다.

여기에서 검증 데이터를 사용하여 모델의 효율성을 테스트하는 방법을 알아보세요.

What is the loss?
  • Loss 점수 그래프를 표시하려면 "Loss"을 클릭하세요.

머신러닝 모델의 학습 목표는 Loss 값을 최소화하여 모델이 목표 값(Ground Truth)에 최대한 가까운 예측을 할 수 있도록 하는 것입니다.

Loss score는 각 학습 반복 중에 계산되며 모델의 가중치를 업데이트하는 데 사용됩니다.

Loss 값은 저희가 공개한 무료 딥 러닝 과정에서 설명됩니다.
무료 딥 러닝 과정과 다음 동영상을 통해 손실 함수에 대해 알아보세요.

 

Deep Block Help Center_Object Detection#5
3 - Configuration

"Configuration" 패널에는 이미지 처리 설정을 변경하는 다양한 옵션이 포함되어 있습니다.

  • 이미지 분할

Deep Block의 가장 큰 장점은 매우 쉬운 프런트 엔드 인터페이스매우 큰 규모의 이미지를 효과적으로 처리할 수 있는 능력입니다.

사용자는 Deep Block 내에서 초고해상도 이미지에서 학습 데이터를 구축하고, 빠른 속도로 모델을 훈련하고, 훈련된 모델을 바탕으로 초고용량 이미지를 초고속으로 분석하는 것이 가능합니다.

또한 Deep Block을 사용하면 원본 이미지 파일을 변경하지 않고 대용량 이미지에서 학습 데이터를 구축하고, 인공지능 모델을 훈련시킬 수 있습니다.

위성 또는 현미경 이미지를 Deep Block에 업로드하고 이러한 이미지를 분석하는 AI 모델을 간편하게 만들어보세요.

Deep Block의 이미지 분할 기능을 사용하는 방법은 다음 링크를 확인하세요.

Deep Block 플랫폼은 이미지 분할을 통해 고용량 이미지를 효과적으로 관리하고 분석합니다.

이 접근 방식은 객체 감지 또는 이미지 분할과 같은 작업을 수행할 때 특히 유리합니다.

이 기사에서 Deep Block의 힘을 확인하세요.



적절한 수의 행과 열을 선택한 후 "Divide"를 클릭하여 이미지 분할 프로세스를 시작합니다. 프로세스가 끝날 때까지 상태는 "분할"로 변경됩니다.

분할 프로세스를 최적화하려면 약 1000픽셀 x 1000픽셀 크기를 목표로 각 조각의 균형 잡힌 크기를 유지하는 것이 좋습니다.

기계 학습 모델은 충분한 배율로 이미지의 객체를 보고 기억해야 합니다.
이에 대해서는 우리의 기사를 참조하십시오.

예를 들어, 8k x 8k 픽셀 크기의 이미지를 8 x 8 그리드로 분할하여 분석할 수 있습니다.

divide-1

Evaluate

  • 프로젝트 보기의 왼쪽 상단에 있는 "EVALUATE" 단계를 클릭하여 "3. Evaluate" 모듈을 표시합니다.
Deep Block Help Center_Object Detection#6-2
1 - Check the categories

"3. Evaluate" 모듈은 "1. Preprocess" 모듈과 유사합니다.

카테고리 패널에는 "1. Preprocess" 모듈과 동일한 카테고리 또는 클래스 레이블이 표시됩니다. 카테고리에 대해 자세히 알아보려면 라벨링 도구 익히기를 참조하세요.

2 - Import and label your evaluation dataset

Evaluate 패널은 "1. Preprocess" 모듈의 Train 패널과 유사하며 동일한 기능을 따릅니다. 여기에서 평가 단계를 위해 검증 이미지나 데이터 세트를 가져올 수 있습니다.

평가 데이터세트는 훈련 데이터세트와 달라야 모델 기능을 객관적으로 검증할 수 있습니다.

이미지 및 데이터 세트를 가져오는 방법에 대해 자세히 알아보려면 라벨링 도구 익히기를 참조하세요.

데이터를 가져온 후에는 훈련 단계에서와 마찬가지로 학습 데이터를 그리거나 학습데이터를 가져와야 합니다.

이런 방식으로 평가 모듈은 ground truth를 모델 예측과 비교하고 점수를 계산할 수 있습니다.

Deep Block Help Center_Object Detection#7
3 - Evaluate

평가 데이터 세트에 레이블이 지정되고 준비되면 이제 평가 모듈을 시작할 수 있습니다.

  • 프로젝트 보기의 오른쪽 상단에 있는 "Evaluate"를 클릭하세요.
    데이터세트가 처리됩니다. 평가가 끝나고 처리 상태가 'IDLE'로 돌아올 때까지 기다려 주세요.
4 - Performance Scores

평가 후 이제 성능 점수를 확인할 수 있습니다.

  • 프로젝트 보기의 왼쪽 하단 패널에 있는 "Score" 탭을 클릭하세요.

모델 성능 점수는 중요한 3가지 측정항목으로 구성됩니다.

  • mAP: mAP(평균 평균 정밀도)는 모델의 평균 정확도를 측정하는 척도입니다. 모델의 평균 정밀도는 다양한 재현율 값에 대한 정밀도 점수의 평균으로 정의됩니다. 정밀도는 참양성 탐지 수를 총 탐지 수로 나눈 값으로 정의됩니다. 정밀도 점수가 높다는 것은 모델이 잘못된 긍정 탐지를 거의 생성하지 않는다는 것을 의미합니다. 더 나아가 mAP 점수가 높으면 모델이 여러 재현율 값에서 거짓양성 탐지를 거의 생성하지 않는다는 의미입니다.

  • Recall: 재현율은 참양성 수를 참양성 및 위음성 사례의 총 수로 나눈 값으로 정의됩니다.
    재현율 점수가 높다는 것은 모델이 이미지에서 실제 개체를 놓칠 가능성이 적다는 것을 의미합니다.


  • F1 Score: 이미지의 객체를 올바르게 식별하고 분할하는 능력 측면에서 모델의 전반적인 성능을 평가하는 데 사용됩니다.
    F1 점수는 정밀도와 재현율의 균형을 유지하여 단일 숫자를 제공합니다.
    F1 점수는 정밀도와 재현율의 조화 평균입니다.

Predict

  • 프로젝트 뷰의 왼쪽 상단에 있는 "PREDICT" 단계를 클릭하면 "4. Predict" 모듈이 표시됩니다.
Deep Block Help Center_Object Detection#8-2
1 - Threshold value

임계값 점수는 훈련된 기계 학습 모델의 감지 민감도를 나타냅니다.

임계값이 낮으면 기계 학습 모델은 거의 확신 없이 가능한 한 많은 개체를 찾으려고 시도합니다.

임계값 점수가 높으면 머신러닝 모델은 보장할 수 있는 분석 결과만 보여줍니다.

모델을 훈련시킨 후에는 먼저 임계값이 낮은 이미지를 분석하여 발견된 모든 개체의 신뢰도 점수를 확인한 다음 점차적으로 임계값 점수를 높여 최적의 임계값 점수를 결정하는 것이 좋습니다.

임계값 점수가 낮은 이미지를 먼저 분석한 후, 이미지의 추론 결과에 따른 각 경계 상자의 신뢰도 점수를 확인하고, 임계값을 위양성 사례의 신뢰도 점수보다 높게 높여 추론 정확도를 향상시킬 수 있습니다.

threshold

이를 통해 객체를 찾기 위한 최적의 임계값을 설정하는 동시에 위양성 사례를 줄일 수 있습니다.

  • 임계값 점수(%) 필드에 적절한 값을 입력합니다.

물체 감지에서 임계값 선택은 감지 결과의 품질에 큰 영향을 미칠 수 있으므로 프로세스에서 중요한 단계입니다.

잘 훈련된 머신러닝 모델로 추론을 수행하면 높은 임계값 점수를 설정할 수 있으며, 이미지에 존재하는 모든 대상 개체가 정확하게 캡처됩니다.

정밀한 물체 감지기가 필요한 경우 당사 팀과 함께 가장 정확한 ML 모델을 구축하세요.

2 - Prediction Dataset
이제 모델을 훈련하고 평가했으므로 대규모 프로젝트를 통해 테스트해 볼 차례입니다. 이미지를 업로드하여 훈련된 모델을 시험해 보세요.

  • 웹캠을 통해 이미지를 추가하려면 " Deep Block_Icon_Webcam " 을 클릭하세요.
  • 사용하려는 이미지를 가져오려면" Deep Block_Icon_Image Upload " 을 클릭하세요.
  • 이미지를 선택한 후  " Deep Block_Icon_Remove " 를 클릭하면 이미지가 제거됩니다.
  • 예측이 이미 이루어진 경우"CLEAR BOXES" 를 클릭하여 모든 바운딩 박스를 제거하세요.

지원되는 이미지 파일 형식은 png, jpg, svg, tiff, bmp, gif, geotiff 및 jp2(최대 파일 크기 10GB)입니다.

Deep Block Help Center_Object Detection#9
3 - Detect

데이터 세트가 업로드되면 추론을 시작할 준비가 된 것입니다.

여기서 중요한 점은 대규모 이미지를 분석할 때에는 이미지를 여러 섹션으로 나누어 분석해야 한다는 점이다.
이에 대해서는 다음 글을 참고하시기 바랍니다.

드론 사진으로 훈련된 AI 모델을 사용하여 항공 사진 분할하기.

대규모 이미지 분석을 위한 Deep Block의 특허 알고리즘의 힘

  • 먼저, 이미지 해상도가 크다면 이미지를 트레이닝할 때처럼 분할하세요.
    이미지를 보다 정확하게 분석하려면 더 정확함 옵션을 사용하는 것이 좋습니다.
    dialog-3
  • 프로젝트 보기의 오른쪽 상단에 있는 "PREDICT"을 클릭하세요.
  • 처리가 시작됩니다. 업로드된 이미지 수에 따라 이 프로세스는 몇 분 정도 걸릴 수 있습니다. "STOP"를 클릭하면 언제든지 중지할 수 있습니다.

처리 상태가 "IDLE"로 돌아올 때까지 기다리십시오.

4 - Statistics

통계 탭은 각 워크플로우 별로 프로젝트 데이터세트 내 또는 선택한 이미지에 있는 상자 수를 나타냅니다.