Feature 라벨 생성(Feature 라벨링)
라벨은 사용자가 생성한 입력 데이터로 도구의 ground truth를 확립합니다. Ground truth란 어플리케이션의 이미지에 대한 논란의 여지가없는 사실, 즉 인간이 이미지 내의 주요 정보 (feature, 글자, 결함, 클래스)로 결정한 것을 말합니다. 라벨은 ground truth를 확립하며, 이는 트레이닝 및 성과 분석에 모두 이용됩니다. 그러므로, 라벨을 정확하게 지정하는 것이 극히 중요합니다.
라벨링이란
Deep Learning 소프트웨어는 학습에 기초하고 있으므로, 네트워크가 이미지에 대해 무엇을 학습하는가가 매우 중요합니다. 딥러닝 용어 내에서 이 프로세스를 "라벨 지정"이라고합니다. 라벨링은 사용자가 기능이나 결함을 식별하여 이미지에 그래픽으로 표시하는 프로세스입니다. 라벨은 도구에 대한 ground truth를 나타내며 도구를 학습하고 그 성능을 검증하기 위해 사용됩니다.
라벨은 도구의 ground truth입니다. 즉, 도구에게 "이것이 학습해야 할 것"이라고 말하는 것이 라벨링입니다. 도구 프로그래밍에서 가장 중요한 부분은 트레이닝에 이용되는 이미지에 완전하고 정확하게 라벨이 지정되어야 한다는 것입니다. 이미지의 ground truth 데이터를 알지 못하면 도구가 적절히 작동하는지 여부를 알 수 없습니다. 또한, 정확한 라벨이 없다면, 도구의 트레이닝도 작동하지 않을 것입니다.
도구 및 응용 프로그램의 성능을 평가할 때, 성능은 언제나 사용자가 제공한 라벨을 기준으로 측정됩니다. 라벨 지정이 이미지에 대한 실제의 ground truth를 반영하지 않는다면, 정확하고 반복적인 도구의 성능은 아무 의미가 없습니다. Deep Learning 도구를 트레이닝할 때의 목표(비용 함수)는 사용자가 제공한 라벨 지정에 정확히 일치하는 응답을 생성하도록 도구를 트레이닝하는 것입니다.
모든 도구에서 라벨 지정은 수작업입니다(각 도구에서 라벨 지정이 작동하는 구체적인 내용은 아래를 참조하십시오). 라벨 지정이 잘 되려면, 이미지 간에, 또한 관찰자 및 라벨 지정을 수행하는 사람 간에 일관성이 있어야 합니다. 이미지 Set를 여러 명에게 제공하여 라벨을 지정하게 했는데, 라벨들이 일치하지 않는다면, 도구도 제대로 작동하지 않을 가능성이 큽니다.
도구마다 절차는 조금 다르지만, 원칙은 동일합니다. 라벨 지정이 완료되면, 사용자는 도구를 학습하고 도구가 제공한 마킹을 검토할 준비가 된 것입니다. Alt + 왼쪽 화살표 및 Alt + 오른쪽 화살표 키를 사용하거나 이미지의 우클릭 메뉴에서 전환 할 수 있습니다.
오버레이 체크박스에서 "라벨"을 활성화하면 라벨 오버레이를 나타낼 수 있습니다.
Blue 읽기 라벨링
Blue 읽기 도구는 자동으로 문자열과 문장을 인식하도록 미리 학습된 도구이며, 많은 경우 도구를 사용하기 위해 라벨링이 따로 필요하지 않습니다. 하지만, 응용 프로그램 검증 및 점진적 트레이닝을 위해 라벨 지정을 권장합니다. Blue 읽기 도구는 문자 위치에 대한 자세한 정보를 반환하지 않으므로, 정밀한 위치 라벨 지정은 필요 없습니다. 대신, 라벨은 문자의 대략적 크기와 ID만 하면 됩니다. 지원되는 문자는 모든 단일 UTF-8 문자입니다.
|
|
|
|
1 |
Feature Size(Feature 크기) |
|
2 |
Fature ID |
사용자의 이미지 Set 내 이미지는 라벨이 지정되어 있거나 지정되어 있지 않습니다. 라벨이 지정된 이미지는 디스플레이 상에 feature 또는 문자열의 초록색 그래픽 존재로 표시됩니다. 이미지 상에서 Blue 읽기 도구의 성능을 판단하려면, 도구가 식별한 문자를 이미지의 실제 문자 값과 비교할 수 있어야 합니다. 라벨링 프로세스를 이용하면 이미지 안의 문자 위치와 값을 지정할 수 있습니다. 이미지 Set에 부분적 또는 전체적으로 라벨이 지정되면, 두 가지 중요한 일을 할 수 있습니다.
- Recall, Confusion, Precision, F-Score를 포함한, 사용자 이미지 상 도구의 성능에 대한 통계적 지표를 계산할 수 있습니다.
- 도구에 대해 incremental 트레이닝을 수행할 수 있습니다. (사용자 이미지에서 특정 문자가 어떻게 나타나는지 예를 제공함으로써 도구의 성능을 개선할 수 있습니다.)
이미지에 라벨을 지정할 때 극히 중요하게 고려해야 할 것은, 이미지에 라벨이 지정되면 해당 이미지 안의 모든 문자에 라벨이 지정되어야 한다는 것입니다. 일부 문자에만 라벨이 지정된다면 (도구가 "가짜" 또는 "예기치 않은" 문자를 찾을 것이므로) 이는 통계적 지표를 무효로 하며, 또한 (이미지 안의 라벨이 지정되지 않은 모든 문자는 문자가 아닌 것으로 도구가 간주하므로) incremental 트레이닝으로 인해 도구의 정확성이 개선되는 것이 아니라 악화됩니다.
Feature를 라벨로 변환
이미지에 라벨을 지정하는 가장 간단한 방법은 도구가 발견한 이미지 안의 feature에서 시작하는 것입니다. 이미지에 있는 발견된 feature 모두를 라벨로 변환하려면, 이미지를 마우스 우클릭한 후 뷰 수락을 선택하면 됩니다. 노란색의 발견된 feature 모두가 초록색 라벨로 대체됩니다.
초록색 라벨은 노란색 feature와 여러 가지 면에서 유사합니다.
- 클릭하여 선택할 수 있습니다.
- 이들로부터 모델을 생성할 수 있습니다(하나 또는 다수를 선택한 후 이미지를 마우스 우클릭하고 모델 생성 선택).
하지만 초록색 라벨은 feature와 중요한 차이점이 몇 가지 있습니다.
- 이동할 수 있습니다. 발견된 feature의 위치가 정확하지 않으면, 사용자가 라벨 지정의 일환으로 위치를 변경할 수 있습니다.
- Feature의 값을 변경할 수 있습니다. 발견된 노란색 feature에 잘못된 문자 값(예: '8'을 'B'로 인식)이 있다면, 사용자는 feature를 라벨로 변경하고 선택한 후 옳은 값을 타이핑하면 됩니다. 라벨을 수정하고 나면, 도구가 발견한 feature와 사용자가 생성한 라벨 사이의 차이는 도구의 성능 통계량에 반영됩니다. 나아가, 도구를 incremental하게 트레이닝할 때, 정확한 값이 트레이닝된 도구에 통합됩니다.
직접 라벨 지정
Feature를 라벨로 변환하는 방식 외에, 이미지를 클릭하고 라벨 값을 직접 입력하여 라벨을 생성할 수도 있습니다. 이미지를 클릭하고 feature를 생성하였지만 문자 값을 지정하지 않으면, 이를 "빈 feature"으로 간주하여 트레이닝을 허용하지 않습니다.
발견된 문자를 포함하고 있는, 라벨이 지정되지 않은 이미지를 클릭하면, 이미지 안의 발견된 문자에 대해 어떻게 할 것인지 묻습니다.
예를 클릭하면, 노란색의 발견된 feature가 초록색 라벨로 변환되며, 사용자는 필요에 따라 위치를 조정하고 문자 값을 변경할 수 있습니다. 아니요를 클릭하면, 발견된 feature가 변환되지 않습니다. 이제 발견된 feature는 주황색으로 표시되며, 이는 feature로 변환되어야 할 필요성이 있을 수 있음을 나타냅니다.
Feature 라벨 그래픽
이는 도구가 어떤 모델과도 일치되지 않은, 라벨 지정된 문자를 표시하는 방법입니다. 라벨 지정된 문자는 초록색으로 표시됩니다.
Blue 읽기의 Features 매개변수
방향과 스케일 변화 feature 매개변수는 Blue 위치 도구와 Blue 읽기 도구에만 제공됩니다. Blue 읽기 도구의 경우에는, 기본적으로 활성화되어 있고 비활성화할 수 없습니다. 또한 Blue 읽기 도구는 스케일 변화 매개변수가 비균일로 설정되어 있습니다.
빠른 라벨링: 부트스트랩 라벨링
부트스트랩 이미지 라벨링은 각 도구 라벨링을 더 빠르게 수행하는 방법입니다. "부트스트랩" 라벨 지정은 이미지 중 소수의 샘플에 라벨을 지정하고 도구를 학습한 후, 결과를 검토하면서, 정확하게 마킹된 뷰는 라벨로 전환하도록 수락하고, 정확하지 않은 마킹은 삭제하고 정확한 라벨로 교체하는 방식입니다. 이미지를 다수의 뷰로 나누고 하나의 뷰에만 라벨을 지정함으로써 이 과정의 속도를 더욱 빠르게 할 수도 있습니다. 또한, 일시적으로 학습 매개변수에 있는 Epoch 횟수 매개변수를 줄이면 학습 속도가 더욱 빨라집니다.
- 학습 세트 내의 몇 개 이미지에 라벨을 지정합니다.
- 해당 도구를 학습합니다.
- 이미지와 결과를 검토합니다.
- 도구의 마킹이 정확한 위치에서 보기를 수락합니다(마우스 우클릭 후 보기 수락 선택 또는 CTRL + SHIFT + A). 이렇게 하면 마킹이 라벨로 변경됩니다. 지도 모드의 Red 분석 도구에서는 결함 영역을 편집해야 하는 경우도 있습니다. 정확하지 않은 마킹은 이미지에서 삭제하십시오(마우스 우클릭 후 마킹 삭제 선택 또는 CTRL + C).