[roboflow] annotation

FSA·2024년 10월 12일

keypoint_detection

목록 보기
1/19

1. Annotation Tools (주석 도구)

1.1. 주석 방법

  • 이미지에 다음 방법으로 주석을 추가할 수 있습니다:
    • 경계 상자 및 폴리곤을 수동으로 그리기
    • 모델 체크포인트(즉, 모델의 이전 버전)를 사용해 주석을 추천하는 Label Assist 사용
    • 몇 번의 클릭만으로 폴리곤 주석을 만드는 Smart Polygon 사용
    • SAM과 함께 Label Assist를 사용하여 Segment Anything Model을 활용해 더 정밀한 폴리곤 주석을 몇 번의 클릭으로 생성

1.2. 경계 상자 vs. 폴리곤

  • 경계 상자와 폴리곤 중에서 무엇을 사용할지 고민될 수 있습니다. 두 주석 유형의 차이점은 다음과 같습니다.
    • 경계 상자는 이미지 내에서 관심 있는 객체 주위를 상자로 그리며, 폴리곤에 비해 빠르게 그릴 수 있어 주석 시간을 단축할 수 있습니다.
    • 반면에 폴리곤은 더 정밀하게 객체를 표시할 수 있어 성능이 조금 더 향상될 수 있습니다.
      • 세분화 작업을 위해서는 특정 항목을 정밀하게 분할해야 하므로, 이미지를 폴리곤으로 주석 처리해야 합니다.
  • 이 문서는 위의 방법들을 사용하여 이미지를 주석 처리하는 방법을 설명합니다.
  • Roboflow는 Autodistill이라는 오픈 소스 프로젝트를 개발 중이며, 이는 자동으로 이미지에 레이블을 지정하는 데 도움을 줄 수 있습니다.
  • 시작하는 방법에 대한 자세한 내용은 Autodistill 문서를 참고하세요.

2. Model-Assisted Labeling (모델 지원 레이블링)

  • 주석 시간을 줄이고 모델을 더 빨리 생산에 적용하려면, 학습된 모델의 가중치를 사용하여 데이터를 레이블링하세요.
  • 모델 지원 레이블링을 사용하면, 이전에 학습된 모델의 버전이나 Roboflow Universe에서 제공되는 공개 모델을 주석 도우미로 사용할 수 있습니다.
  • 모델 지원 레이블링은 이미지를 자동으로 특정 클래스로 분류할 때 이상적입니다.

모델 지원 레이블링 사용 방법

  1. Roboflow Annotate에서 이미지를 열고, 명령 트레이에서 마법 지팡이 아이콘을 클릭합니다.
  1. 사용하려는 모델을 선택하는 팝업 창이 나타납니다.
    • Your Models 탭에서 접근 가능한 모델을 선택하거나, Universe 탭에서 공개된 모델을 선택할 수 있습니다.
    • Universe의 모델을 사용하려면 해당 모델을 즐겨찾기에 추가해야 Your Models 탭에 표시됩니다.
  2. 모델을 선택한 후, 찾고 싶은 클래스를 지정합니다. 기본적으로 선택된 모델은 모든 클래스의 예측을 반환합니다. 원하지 않는 클래스는 선택을 해제할 수 있습니다.
  1. 클래스 구성을 완료하면 "Select Classes" 버튼을 클릭하여 Label Assist를 시작합니다.
  2. Label Assist는 주석 중인 현재 이미지에서 실행되며, 주석 인터페이스의 화살표 버튼을 사용해 이미지를 탐색할 때에도 지속적으로 작동합니다.

3. Roboflow Annotate 사용법

  • Roboflow의 주석 도구 레이블링 인터페이스 개요 및 단축키 안내
  • Roboflow 대시보드의 Assign 또는 Dataset 페이지에서 이미지를 선택하여 레이블링 인터페이스에 접근할 수 있습니다.
  • 레이블링 인터페이스 오른쪽에는 이미지에 주석을 추가하는 데 사용할 수 있는 여러 도구가 있는 툴바가 있습니다.
  • 이 문서에서는 다음 기능들의 사용 방법을 설명합니다:
    • 드래그 및 선택
    • 경계 상자 주석 도구
    • 폴리곤 주석 도구
    • 스마트 폴리곤
    • 레이블 지원
    • 줌 도구

드래그 및 선택

  • 손 모양 아이콘으로 표시되며, 개별 주석을 선택, 편집 및 드래그할 수 있는 기능
  • 기존 경계 상자를 한 번 클릭하면 선택됩니다.
  • 선택된 후에는 경계 상자의 모서리와 각 측면에 나타나는 흰색 원형 핸들을 사용해 크기를 변경할 수 있습니다.
    • 또는 클래스 편집기를 사용해 상자의 라벨을 변경할 수 있습니다.
  • 상자를 드래그하여 이동할 수 있습니다.
  • 배경을 드래그하여 화면을 이동할 수 있습니다.
  • 배경을 클릭하면 모든 상자가 선택 해제됩니다.

경계 상자 주석 도구

  • 직사각형 상자 아이콘으로 표시된 경계 상자 주석 도구를 사용하면 새로운 경계 상자 주석을 그릴 수 있습니다.
  • 이 모드에서는 교차선을 사용해 그리기를 시작할 위치를 결정하는 데 도움을 받을 수 있습니다.
  • 이미지에서 클릭하고 드래그하여 새로운 주석을 만들고, 클래스 선택기를 사용해 라벨을 선택합니다.

폴리곤 주석 도구

  • 폴리곤 주석 도구를 사용하면 새로운 폴리곤 주석을 그릴 수 있습니다.

  • 이 모드에서는 교차선을 사용해 그리기를 시작할 위치를 결정하는 데 도움을 받을 수 있습니다.

  • 관심 있는 객체 주위에서 이미지를 클릭하여 닫힌 폴리곤 주석을 만들고, 클래스 선택기를 사용해 라벨을 선택합니다.

  • https://blog.roboflow.com/polygon-annotation-labeling/

스마트 폴리곤

  • 스마트 폴리곤은 새로운 스마트 폴리곤 주석을 그릴 수 있게 해줍니다.
  • 이 모드에서는 새로운 관심 영역(새 라벨)을 선택할 때 녹색 점이 표시됩니다.
  • 제거하고 싶은 영역(라벨링/폴리곤으로 둘러싸고 싶지 않은 객체나 이미지의 부분)을 선택할 때는 빨간 점이 표시됩니다.
  • 또한, Convex Hull, Smooth, Complex 설정을 사용해 폴리곤을 조정할 수 있는 옵션이 있습니다.
  • 스마트 폴리곤은 특히 인스턴스 및 의미론적 세분화(Segmentation) 프로젝트에서 유용하지만, 객체 탐지(Object Detection) 모델에서 스마트 폴리곤을 사용해 라벨링할 때 성능이 향상될 수 있습니다.
  • https://blog.roboflow.com/polygons-object-detection/

레이블 지원

  • 레이블 지원 기능은 COCO 모델과 같은 공개 모델 또는 Roboflow Train으로 훈련된 자신의 데이터셋 버전을 사용해 주석 대기열의 이미지에 자동으로 경계 상자 라벨을 적용할 수 있게 해줍니다.
  • https://docs.roboflow.com
  • https://docs.roboflow.com/train/train

Mark Null

  • Mark Null(Null 주석)은 배경 이미지 또는 Null 이미지를 "라벨링"하는 데 사용됩니다.
  • 이 설정을 사용해 이미지에서 모든 주석을 제거하거나 이미지를 주석 처리되지 않은(Unannotated) 상태로 표시할 수 있습니다.
  • Null 주석에 대한 더 자세한 정보는 "The Difference Between Missing and Null Annotations" 가이드를 참고하세요.
  • https://blog.roboflow.com/missing-and-null-image-annotations/

실행 취소, 다시 실행 및 주석 반복

  • 경계 상자(B), 폴리곤(P), 또는 스마트 폴리곤(S) 모드에서:
  • 실행 취소는 이전 작업을 되돌립니다.
  • 다시 실행은 이전에 실행 취소한 작업을 복구합니다.
  • 이전 반복은 마지막으로 주석 처리한 이미지와 동일한 위치에서 라벨을 다시 적용합니다.

클래스 선택

  • 이미지가 선택되면 클래스 선택기가 나타납니다. 경계 상자의 라벨을 선택할 때 사용할 수 있는 옵션들이 포함되어 있습니다.
  • 새로운 클래스를 생성하거나 기존 클래스를 필터링하기 위한 텍스트 필드.
  • 변경 사항을 저장하거나 취소할 수 있는 버튼.
  • 텍스트 필드로 필터링된 기존 데이터셋 클래스 목록(활성화된 옵션은 보라색으로 강조 표시됨). - 입력한 텍스트와 일치하는 기존 클래스가 없는 경우 "클래스 생성" 옵션이 나타납니다.

줌 도구

  • 줌 도구는 화면 왼쪽 하단에 있습니다.
  • 이미지를 한 화면에 더 많이 표시하거나, 더 세밀한 편집을 위해 이미지를 더 가까이 볼 수 있도록 확대/축소할 수 있습니다.
  • 또한 줌을 지정된 비율로 "고정"하거나, 주석 도구의 뷰포트 내에 이미지 전체를 맞추기 위해 줌을 재설정할 수 있는 옵션도 있습니다.
  • "줌 잠금" 옵션을 선택하면 모든 이미지가 해당 줌 레벨에서 표시됩니다. 잠금을 해제하거나 선택 해제하여 줌 잠금을 해제할 수 있습니다.

주석 목록

  • 주석(대시보드에서는 Annots로 줄여서 사용)은 이미지에 어떤 클래스가 있는지, 각 클래스의 경계 상자 색상은 무엇인지, 그리고 라벨의 레이어 순서를 보여줍니다.
  • 주석 서랍에는 이미지 데이터셋을 정리, 필터링, 또는 정렬하는 데 도움이 되는 태그가 포함될 수 있습니다.

이미지 속성

  • 이미지 속성은 이미지의 크기, 마지막으로 수정된 시간, 해당 이미지가 이 데이터셋의 학습, 검증 또는 테스트 세트에 포함되는지 여부와 같은 정보를 나타냅니다.
  • https://blog.roboflow.com/train-test-split/




5. 클래스 관리

  • 프로젝트에서 클래스 잠금, 재매핑 또는 삭제
  • 클래스 페이지에서 주석 클래스를 확인하고 수정하며 관리할 수 있습니다.
  • 이러한 변경 사항은 프로젝트 내의 모든 이미지에 영향을 미칩니다(일부 전처리 단계는 특정 버전에만 영향을 미치는 것과 달리).
  • 따라서 이러한 작업은 모든 이미지에 대해 변경을 원할 때 신중하게 진행하는 것이 좋습니다.

클래스에 접근하는 방법

  • 사이드바에서 Classes(클래스)를 클릭하여 클래스 페이지에 접근할 수 있습니다.

클래스 재매핑

  • Modify Classes(클래스 수정) 버튼을 클릭하면 사용할 수 있는 클래스 재매핑 옵션을 확인할 수 있습니다.
  • 이 메뉴에서 다음 작업을 수행할 수 있습니다:
  • 클래스 이름 변경:
    • Override 열에 새 이름을 입력하여 클래스 이름을 변경할 수 있습니다.
  • 클래스 병합:
    • 여러 클래스를 동일한 이름으로 재매핑하여 병합할 수 있습니다.
  • 클래스 삭제:
    • 삭제 체크박스를 클릭하여 클래스를 삭제할 수 있습니다.
  • 경고: 이러한 작업은 되돌릴 수 없으며 잠재적으로 파괴적일 수 있습니다. 변경을 진행하기 전에 충분히 신중히 고려하세요.

클래스 잠금

  • Lock Annotation Classes(주석 클래스 잠금) 체크박스를 선택하면 새로운 클래스 생성이 방지됩니다.
  • 이는 라벨링 과정 중 주석 작성자가 실수로 새로운 클래스를 추가하지 않도록 할 때 유용합니다.


6. 키포인트 스켈레톤 편집

  • 키포인트 스켈레톤: 객체의 포인트, 엣지, 대칭성을 정의하는 요소
  • 이는 키포인트 탐지 프로젝트 유형에서만 관련이 있습니다.

키포인트 스켈레톤

  • 키포인트 스켈레톤은 키포인트 탐지 프로젝트에서 필수적인 부분
  • 스켈레톤은 객체의 키포인트 수, 기본 위치, 이름, 색상, 엣지를 정의
  • 라벨링을 시작하기 전에 프로젝트 클래스에서 스켈레톤을 설정하세요.
  • https://docs.roboflow.com/datasets/manage-classes
  • 객체의 전체 이름(예: 사람 또는 자동차)을 입력한 후, Edit Keypoints(키포인트 편집)를 선택합니다.

스켈레톤 편집기

  • 아무 곳이나 클릭하여 첫 번째 포인트를 생성하고 이름을 지정하세요.
  • 그런 다음 계속해서 포인트를 생성하거나, 포인트를 선택하여 엣지를 생성하고, 색상을 편집하거나 삭제할 수 있습니다.
  • 편집이 완료되면 저장을 클릭하고 이미지를 업로드하고 라벨링을 계속하세요.
  • 스켈레톤은 주석 경계 상자 안에 표시됩니다.

7. 키포인트 주석 처리

  • 키포인트 탐지 프로젝트는 주석 도구에서 키포인트 편집 기능을 포함

키포인트 편집

  • 키포인트 탐지 프로젝트에서는 주석 경계 상자 도구에 키포인트를 배치하고 편집할 수 있는 기능이 포함됩니다.
  • 라벨링을 시작하기 전에 키포인트 스켈레톤이 설정되어 있는지 확인하세요.
  • https://docs.roboflow.com/datasets/edit-keypoint-skeletons
  • 경계 상자를 선택한 후, 각 키포인트를 이미지에서 적절한 위치로 드래그할 수 있습니다.
  • 각 포인트를 오른쪽 클릭하여 해당 포인트의 가시성을 변경할 수 있습니다.

포인트 가시성

  • 보이는 상태 (Visible): 포인트의 기본 상태입니다.
  • 가려진 상태 (Occluded): 포인트가 이미지에 있지만 다른 객체에 의해 가려져서 보이지 않는 상태입니다. 가려진 포인트는 주석 도구에서 X로 표시됩니다.
  • 삭제된 상태 (Deleted): 포인트가 이미지에 존재하지 않는 상태입니다. 이 포인트는 객체에 없거나 이미지의 경계를 벗어난 상태일 수 있습니다.
  • 또한, 경계 상자를 오른쪽 클릭한 후 "Edit Keypoint Visibility"를 선택하여 각 포인트의 가시성을 편집할 수 있습니다. 여기서 각 포인트의 가시성을 수정할 수 있습니다.

profile
모든 의사 결정 과정을 지나칠 정도로 모두 기록하고, 나중에 스스로 피드백 하는 것

0개의 댓글