이미지 분할
이미지 분할
OVERVIEW
이미지 분할이란 무엇일까요?
이미지 분할은 이미지를 여러 세그먼트 또는 영역으로 분할하는 프로세스입니다. 각 세그먼트는 특정 개체나 개체의 일부에 해당합니다. 이미지 분할의 목표는 이미지에 존재하는 사물이나 구조물을 추출하여, 분석하는 것입니다.
Deep Block을 사용하면 해당 카테고리 또는 클래스 라벨 아래에서 다양한 객체를 분리할 수 있습니다. 이렇게 하면 다음과 같은 컴퓨터 비전 작업을 자동화할 수 있습니다.
- 객체 인식: 이미지를 구성 객체로 분할하면 각 객체를 개별적으로 인식하고 식별하는 것이 더 쉬워집니다.
- 형태학: 이미지 분할을 사용하면 크기, 모양, 색상 등 이미지의 개체나 영역에 대한 정보를 추출하여 정밀하게 분석할 수 있습니다.
- 이미지 분류: 분할을 통해 추출된 영역은 별도의 이미지가 될 수 있으며, 이미지 분류 작업의 입력으로 사용될 수 있습니다.
이를 통해 인스턴스(폴리곤)를 보다 정밀하게 분류하고, 보다 자세하게 분석할 수 있습니다. - 배경 빼기: 이미지 분할을 사용하여 이미지의 배경에서 개체를 분리할 수 있습니다.
- 측정: 분할 작업은 물체의 면적과 길이를 측정하고 기타 측정 작업에도 사용할 수 있습니다.
Get Started
- CONSOLE로 이동합니다.
- "CREATE"를 클릭하면 새 프로젝트 팝업 창이 표시됩니다.
- "COMPUTER VISION"을 클릭하세요.
- "IMAGE SEGMENTATION"을 클릭하세요.
- 필드에 프로젝트 이름을 입력합니다.
- "CREATE"를 클릭하세요.
Workflow
이미지 분할 모델을 교육하는 워크플로는 3단계로 나뉩니다.
-
Train: 훈련 단계는 AI 모델링 파이프라인에서 가장 중요한 단계입니다. 이는 2개의 모듈로 나누어져 있습니다:
-
Preprocess: 훈련 프로세스를 실행하기 전에 데이터를 신중하게 선택하고 객체 레이블 및 다각형과 같은 학습 라벨을 달아야 합니다.
-
Run: 모델 훈련을 실행하면 모델이 데이터의 패턴을 학습할때까지, 학습 데이터 배치가 여러번 모델에 입력됩니다.
-
-
Evaluate: 새로운, 보지 않은 데이터에 대해 훈련된 모델의 성능을 평가하고 정확성과 성능을 향상시키기 위해 필요한 조정을 수행합니다.
-
Predict: 새로 훈련된 모델을 활용하여 학습된 패턴을 기반으로 새로운 이미지에 대하여 예측을 수행합니다.
Train
- 프로젝트 보기의 왼쪽 상단에 있는 "TRAIN"을 클릭하면 "1. Preprocess" 모듈이 표시됩니다.
"TRAIN" 단계를 클릭하면 기본적으로 "1. Preprocess" 모듈이 표시됩니다.
이미지 분할 모델 학습을 시작하려면 먼저 주석을 추가할 이미지 데이터를 수집해야 합니다. 여기에는 해결하려는 사용 사례와 관련된 여러 소스의 이미지가 포함됩니다.
데이터에 annotation을 달 준비가 되면 라벨링 도구 마스터 글을 참조하여 이미지나 데이터 세트를 가져오고 이미지에 라벨을 붙이는 방법을 알아보세요.
학습 데이터 준비를 이해하려면 다음 문서를 읽어보세요.
- Trial and Error
- Importance of Early Stopping & Appropriate Epoch
이제 데이터에 주석이 추가되었으므로 훈련 모듈을 실행할 수 있습니다.
- 워크플로의 "TRAIN" 단계에서 "2. RUN" 모듈을 클릭하여 패널을 전환합니다.
- Epochs 필드에 적절한 값을 입력합니다(아래 참조).
- 인터페이스 오른쪽 상단에 있는 'TRAIN'을 클릭하세요.
- 이 프로세스 중에 몇 가지 처리 및 로드 팝업 창이 나타나며, 클릭하여 사라지게 할 수 있습니다.
- 훈련 진행 상황을 보여주는 그래프가 나타나고 훈련이 진행됩니다. 모든 훈련 주기가 끝날 때까지 기다리십시오.
Epoch에 적합한 값을 선택하는 방법은 무엇입니까?
에포크는 기계 학습의 전체 교육 데이터 세트에 대한 단일 반복입니다. 각 에포크 동안 모델은 일련의 훈련 데이터에 대해 훈련되고 모델의 매개변수는 결과에 따라 업데이트됩니다. 각 시대의 목표는 훈련 데이터에 대한 모델의 추론 성능을 향상시키는 것입니다.
일반적으로 20 에포크가 딥 러닝 모델을 훈련하는 데 좋습니다. 이를 통해 모델이 적절한 횟수만큼 반복적으로 훈련 예제(학습 데이터)를 확인하고 가중치와 편향을 계속해서 개선할 수 있기 때문입니다.
그러나 Epoch의 수와 과적합 사이에는 상충 관계가 있습니다. 모델이 너무 많은 에포크 동안 훈련되면 훈련 데이터를 기억하기 시작하고 새로운, 보이지 않는 데이터를 일반화하는 능력이 저하될 수 있습니다.
Epochs 필드의 일반 값으로 20을 사용하는 것이 좋습니다. 그러나 이 값은 여러 요인에 따라 달라질 수 있습니다.
자세한 내용을 보려면 여기를 방문하세요.
내 모델이 제대로 학습하고 있는지 어떻게 알 수 있나요?
이 기사를 읽어보세요.
"Configuration" 패널에는 이미지 처리 설정을 변경하는 다양한 옵션이 포함되어 있습니다.
- Configuration
Deep Block은 거대한 이미지를 분석하는 데 특화된 AI 모델 개발 플랫폼으로, 광범위한 이미지를 더 작은 섹션으로 분할하여 분석하고, 거대한 이미지에서도 학습 데이터를 구축하고 모델을 훈련시킬 수 있는 특수한 기능을 제공합니다. 이러한 기능은 초고해상도 이미지로 인한 문제를 해결하고 효율적인 분석 자동화를 촉진하기 위한 강력한 솔루션 역할을 합니다.
이미지 분할을 통해 Deep Block 플랫폼은 복잡한 이미지를 효과적으로 관리하고 분석할 수 있습니다. 이 접근 방식은 객체 감지 또는 이미지 분할과 같은 작업에 참여할 때 특히 유리합니다. 이 방법에는 더 큰 이미지를 행과 열의 격자로 나누고 상호 연결된 모자이크를 효과적으로 만드는 작업이 포함됩니다.
적절한 수의 행과 열을 선택한 후 "DIVIDE"을 클릭하여 이미지 분할 프로세스를 시작합니다. 프로세스가 끝날 때까지 상태는 "DIVIDE"로 변경됩니다.
프로세스를 최적화하려면 약 1000픽셀 x 1000픽셀 크기를 목표로 각 조각의 균형 잡힌 크기를 유지하는 것이 좋습니다. 예를 들어, 8k x 8k 픽셀 크기의 이미지를 8 x 8 그리드로 분할하여 모델을 훈련시키거나 추론을 수행하기 위한 입력으로 사용할 수 있습니다.
Evaluate
- 프로젝트 보기의 왼쪽 상단에 있는 "EVALUATE" 단계를 클릭하여 "3. Evaluate" 모듈을 표시합니다.
"3. Evaluate" 모듈은 "1. Preprocess" 모듈과 유사합니다.
카테고리 패널에는 "1. Preprocess" 모듈과 동일한 카테고리 또는 클래스 레이블이 표시됩니다. 카테고리에 대해 자세히 알아보려면 라벨링 도구 익히기를 참조하세요.
Evaluate 패널은 "1. Preprocess" 모듈의 Train 패널과 유사하며 동일한 기능을 따릅니다. 여기에서도 평가 단계를 위해 이미지나 데이터 세트를 가져올 수 있습니다.
평가 데이터세트는 훈련 데이터세트와 달라야 모델 기능을 객관적으로 테스트할 수 있습니다.
이미지 및 데이터 세트를 가져오는 방법에 대해 자세히 알아보려면 라벨링 도구 익히기를 참조하세요.
데이터를 가져온 후에는 훈련 단계에서와 마찬가지로 주석을 달아야 합니다(아직 주석을 달지 않은 경우). 이런 방식으로 평가 모듈은 주석을 모델 예측과 비교하고 점수를 설정할 수 있습니다.
이미 보유하고 있는 Annotation 데이터를 Import하고 싶다면 여기를 확인해 주세요.
평가 데이터 세트에 레이블이 지정되고 준비되면 이제 평가 모듈을 시작할 수 있습니다.
- 프로젝트 보기의 오른쪽 상단에 있는 "Evaluate"를 클릭하세요.
데이터세트가 처리됩니다. 평가가 끝나고 처리 상태가 'IDLE'로 돌아올 때까지 기다려 주세요.
평가 후 이제 성능 점수를 확인할 수 있습니다.
- 프로젝트 보기의 왼쪽 하단 패널에 있는 "Score" 탭을 클릭하세요.
모델 성능 점수는 중요한 3가지 측정항목으로 구성됩니다.
- mAP: mAP(평균 정밀도)는 모델의 평균 정확도를 측정하는 중요한 척도입니다. 모델의 평균 정밀도는 다양한 재현율 값에 대한 정밀도 점수의 평균으로 정의됩니다. 정밀도는 참양성 탐지 수를 총 탐지 수로 나눈 값으로 정의됩니다. 정밀도 점수가 높다는 것은 모델이 잘못된 긍정 탐지를 거의 생성하지 않는다는 것을 의미합니다. 더 나아가 mAP 점수가 높으면 모델이 여러 재현율 값에서 거짓양성 탐지를 거의 생성하지 않는다는 의미입니다.
- Recall: 재현율은 참양성 검출 수를 이미지의 실제 객체 수로 나눈 값으로 정의됩니다. 재현율 점수가 높다는 것은 모델이 이미지에서 실제 객체의 상당 부분을 감지하고 있음을 의미합니다.
- F1 Score: 이미지의 객체를 올바르게 식별하고 분할하는 능력 측면에서 모델의 전반적인 성능을 평가하는 데 사용됩니다. F1 점수는 정밀도와 재현율의 균형을 유지하여 단일 숫자를 제공합니다.
Predict
- 프로젝트 뷰의 왼쪽 상단에 있는 "PREDICT" 단계를 클릭하면 "4. Predict" 모듈이 표시됩니다.
임계값은 이미지의 다양한 클래스 또는 범주를 구별하는 데 사용됩니다. 임계값보다 큰 값을 갖는 픽셀은 목표 탐지 객체에 할당되고 임계값보다 작은 픽셀은 배경 클래스에 할당됩니다.
- 임계값 점수(%) 필드에 적절한 값을 입력합니다.
이미지 분할에서 임계값 선택은 분할 결과의 품질에 큰 영향을 미칠 수 있으므로 이미지 분할 프로세스에서 중요한 단계입니다. 관심 있는 개체를 배경에서 정확하게 분리하고 위양성 또는 위음성 픽셀이 발생하지 않도록 좋은 임계값을 선택해야 합니다.
임계값의 선택은 실험을 통해 결정되는 경우가 많지만 낮은 임계값 점수부터 시작하여 만족스러운 결과를 얻을 때까지 점차적으로 늘리는 것이 좋습니다.
- 웹캠을 통해 이미지를 추가하려면 " " 을 클릭하세요.
- 추론 결과를 JSON파일로 다운로드하려면 " " 을 클릭하세요. (COCOJSON style or GEOJSON)
- 사용하려는 이미지를 가져오려면 " " 을 클릭하세요.
- 이미지를 선택한 후 " "를 클릭하면 이미지가 제거됩니다.
- 예측이 이미 이루어진 경우 "CLEAR POLYGONS" 를 클릭하여 모든 폴리곤을 제거하세요.
지원되는 이미지 파일 형식은 png, webp jpg, geotiff, tiff, bmp 및 jp2(최대 파일 크기 10GB)입니다. 더 큰 파일을 업로드하려면 당사에 문의하세요.
데이터 세트가 업로드되면 예측을 시작할 준비가 된 것입니다.
- 프로젝트 보기의 오른쪽 상단에 있는 "PREDICT"을 클릭하세요.
처리가 시작됩니다. 업로드된 이미지 수에 따라 이 프로세스는 몇 분 정도 걸릴 수 있습니다.
처리 상태가 "IDLE"로 돌아올 때까지 기다리십시오.
통계 탭은 카테고리별로 프로젝트 데이터세트 내 또는 선택한 이미지에 있는 다각형 수를 나타냅니다.