고품질 모델을 훈련시키는 방법

이 부분에서는 모델 품질에 영향을 미치는 요소 및 고품질 인스턴스 세그먼테이션 모델을 훈련시키는 방법에 대해 소개하겠습니다.

이미지의 품질을 보장하기

  1. 과하게 밝거나 어두운 경우, 색상 왜곡, 뚜렷하게 보이지 못한 경우, 장애물이 시야를 가린 경우 등을 피하십시오. 이러한 상황은 딥 러닝 모델이 의존하는 특징의 손실로 이어지고 모델 훈련 효과에 악영향을 미칩니다.

    ../../../_images/overexposed1.png
    ../../../_images/darker_lighting1.png
    ../../../_images/color_distortion1.png
    ../../../_images/obscure1.png
    ../../../_images/occluded1.png
  2. 이미지를 캡처할 때 배경, 시각, 높이 등 조건이 실제 응용 시와 일치해야 합니다. 일치하지 않으면 실제 응용 시 딥 러닝의 효과에 악영향을 끼쳐 데이터를 다시 캡처해야 한다는 경우도 종종 있습니다. 따라서 이미지를 캡처하기 전에 부디 실제 작업 현장의 조건을 파악해야 합니다.

    ../../../_images/background_inconsistent1.png
    ../../../_images/field_mismatch1.png
    ../../../_images/height_mismatch1.png

데이터 세트의 품질을 보장하기

"인스턴스 세그먼테이션" 모듈은 이미지 속 물체의 특징을 학습함으로써 모델을 훈련시키고 실제 응용 시나리오에 응용합니다. 따라서 캡처/선택한 데이터 세트는 반드시 실제 응용 시와 일치해야 고품질의 모델을 훈련시킬 수 있습니다.

  1. 데이터 세트를 캡처하기

  2. 올바른 데이터 세트를 선택하기

데이터 세트를 캡처하기

다양한 배치 방식을 합리적으로 할당해야 합니다. 예를 들어, 실제 생산 시 물체가 수평적으로 혹은 수직적으로 들어올 수 있지만 수평적으로 들어온 물체의 이미지만 캡처하고 훈련시키면 수직적으로 들어온 물체에 대한 분류 효과를 보장할 수 없습니다. 따라서 이미지를 캡처할 때 실제 생산 시 모든 가능한 경우를 고려해야 합니다 . 구체적으로 다음과 같습니다.

  • 실제 응용에서 나타날 수 있는 물체의 방향 .

  • 실제 응용에서 나타날 수 있는 물체의 위치 .

  • 실제 응용에서 나타날 수 있는 물체 사이의 관계 .

주의

어떤 상황에 대한 이미지를 캡처하지 않았다면 알고리즘 모듈을 통해 모델을 훈련할 때 해당 상황에 대해 학습하지 못하게 되어 모델은 해당 상황을 식별하기 어려울 수도 있습니다. 따라서 실제 상황에 따라 데이터 샘플을 늘려 오차를 낮춰야 합니다.

물체의 방향

../../../_images/different_towards.png

물체의 위치

../../../_images/different_situations.png
../../../_images/different_layers.png

물체 사이의 관계

../../../_images/positions.png
../../../_images/different_positions.png

캡처된 이미지의 예시

  1. 어떤 금속 부품 프로젝트의 경우, 물체 종류가 단일하고 50 장을 캡처합니다. 물체 방향 측면에서 평평하게 눕거나 옆으로 서 있을 수 있으므로 이미지를 캡처할 때 두 가지 경우를 모두 고려해야 합니다. 물체의 위치 측면에서 물체가 빈의 가운데, 주변, 모서리 및 다양한 높이의 상황을 고려할 필요가 있습니다. 물체 사이의 관계 측면에서 물체가 서로 쌓이는 경우 외에도 소량의 물체들이 나란히 배치된 경우를 고려해야 합니다. 실제로 캡처된 사진은 다음과 같습니다.

    ../../../_images/metal_part_placement_status.png
    ../../../_images/metal_part_poses.png
  2. 어떤 생필품 프로젝트의 경우 7 가지 종류의 물체들이 섞여 있어서 분류해야 합니다. 이미지를 캡처할 때 물체의 특징을 전면적으로 캡처하기 위해 "단일 물체가 여러 방향으로 배치된 경우" 및 "다양한 물체가 섞여 배치된 경우"를 모두 고려해야 합니다. 단일 물체에 대해 캡처할 이미지의 수 = 5 * 종류 수이고 다양한 물체가 섞여 배치된 경우 캡처할 이미지의 수 = 20 * 종류의 수입니다. 물체의 방향 측면에서 물체가 평평하게 눕거나 옆으로 서 있거나 기울어진 경우를 모두 고려해야 합니다. 물체의 위치 측면에서 물체가 빈의 가운데, 주변, 모서리 및 다양한 높이의 상황을 고려할 필요가 있습니다. 물체 사이의 관계 측면에서 물체가 서로 쌓이는 경우 외에도 물체들이 나란히 배치되거나 밀착하게 붙여 있는 경우를 고려해야 합니다. 실제로 캡처된 사진은 다음과 같습니다.

단일 물체가 따로 배치될 때:

../../../_images/singel_class_subject_positions.png

다양한 물체가 섞여서 배치될 때:

../../../_images/mix_classes_subject_positions.png
  1. 어떤 트랙 슈 프로젝트의 경우, 물체의 모델이 다양해서 (30 * 모델 수량)장 이미지를 캡처합니다. 물체의 방향 측면에서 앞면이 위로 가리키는 경우만 고려해야 합니다. 물체 위치 측면에서 배치 방식은 단일하며 높이가 낮은 경우, 보통인 경우, 그리고 높은 경우를 고려해야 합니다. 물체 사이의 관계 측면에서 규칙에 따라 깔끔하게 배치되어 있어서 서로 밀착하게 붙여 있는 경우를 특히 주의해야 합니다. 실제로 캡처된 사진은 다음과 같습니다.

    ../../../_images/different_layer.png
  2. 어떤 금속 부품 프로젝트의 경우, 물체들이 한층에 평평하게 펴 있기 때문에 50장을 캡처합니다. 물체의 방향 측면에서 한층에 평평하게 펴 있기 때문에 앞면이 위로 가리키는 경우만 고려해야 합니다. 물체의 위치 측면에서 물체가 빈의 가운데, 주변, 모서리 및 다양한 높이의 상황을 고려할 필요가 있습니다. 물체 사이의 관계 측면에서 물체들이 서로 밀착하게 배치된 경우를 고려해야 합니다. 실제로 캡처된 사진은 다음과 같습니다.

    ../../../_images/different_situation.png
  3. 어떤 금속 부품 프로젝트의 경우, 물체들이 여러 층에서 깔끔하게 배치되며 30장을 캡처합니다. 물체의 방향 측면에서 앞면이 위로 가리키는 경우만 고려해야 합니다. 물체의 위치 측면에서 빈의 가운데, 주변, 모서리 및 다양한 높이의 상황을 고려할 필요가 있습니다. 물체 사이의 관계 측면에서 밀착하게 붙여 있는 상황을 고려할 필요가 있습니다. 실제 캡처한 사진은 다음과 같습니다.

    ../../../_images/different_layers_positions.png

올바른 데이터 세트를 선택하기

  1. 훈련 세트의 수량이 적당해야 함

    처음에 "인스턴스 세그먼테이션" 모듈을 사용하여 모델을 훈련시킬 때 이미지 30~50 장을 선택하여 훈련 세트로 사용하는 것이 좋습니다. 이미지의 수가 많으면 많을수록 효과가 더욱 좋은 것이 아닙니다. 초기 단계에 잘못된 데이터 세트가 많으면 이후 모델 반복에 도움이 되지 않으며 모델 훈련 시간이 길어집니다.

  2. 대표적인 데이터를 선택해야 함

    데이터 세트에 있는 이미지에는 대상 물체의 모든 조명, 색상, 크기 조건을 모두 포함해야 합니다.

    • 조명 : 실제로 조명 조건이 변하게 되면 데이트 세트에 조명이 없는 경우의 이미지를 포함해야 합니다.

    • 색상 : 부품들의 색상이 다르면 데이터 세트에 모든 색생의 이미지를 포함해야 합니다.

    • 크기 : 부품들의 크기가 다르면 데이터 세트에 모든 크기의 이미지를 포함해야 합니다.

    주의

    실제 작업 현장에 작업물이 회전, 크기 조정 등으로 인해 해당 이미지 데이터 세트를 수집할 수 없는 경우가 나타날 수 있는데 이때 데이터 증강 훈련 파라미터를 조절함으로써 데이터 세트를 보완하여 현장의 모든 조건이 훈련 세트에 포함되도록 할 수 있습니다.

  3. 데이터의 비율이 균형을 이뤄야 함

    훈련 세트에 다른 종류의 이미지가 차지하는 비율은 균형을 이루어야 합니다. 그렇지 않으면 모델 효과에 악영향을 끼칠 수도 있습니다. 한 종류 물체의 이미지가 20장, 다른 종류 물체의 이미지가 3장만 있는 것이 금지되어 있습니다.

  4. 데이터 세트는 터미널 시나리오와 일치해야 함

    시나리오의 조명 조건, 작업물 특징, 배경, 시야 크기 등 요소가 일치해야 합니다.

레이블링 품질을 보장하기

레이블링 방식을 확인하기

  1. 윗면의 윤곽만 레이블링하기: 상자, 약 케이스, 직사각형 작업물 등과 같이 평평하게 배치된 일반 물체에 적용됩니다. 윗면의 윤곽을 통해 픽 포인트를 계산하려면 사용자는 윗면의 직사각형 프레임만 표기하면 됩니다.

    ../../../_images/2_label_upper_surface.png
  2. 외윤곽 천제에 대해 레이블링하기 : 마대, 각종 작업물 등에 적용됩니다. 이 방식은 일반적인 레이블링 방식입니다.

    ../../../_images/3_label_outer_contour.png
  3. 특별한 경우 : 클램프 또는 피킹 방식에 맞춰서 레이블링을 해야 하는 특별한 경우에 적용됩니다.

    • 빨판이 병 입구에 완벽하게 맞도록 해야 하며(높은 정밀도가 요구됨) 병 입구의 윤곽만 표기하면 됩니다.

      ../../../_images/4_label_bottle_mouth.png
    • 로터를 피킹할 때 방향을 구분해야 하므로 방향을 명확하게 구분할 수 있는 중간 부분만 표기하며 되고 양쪽 부분을 표기할 필요가 없습니다.

      ../../../_images/5_label_the_middle_part_of_the_rotor.png
    • 빨판으로 피킹하는 위치가 금속 부품의 중간에 있도록 해야 하므로 작업물 중간에 있는 금속 부분만 표기하고 양쪽 끝을 표기할 필요는 없습니다.

      ../../../_images/6_label_the_middle_part.png

레이블링 품질을 검사하기

레이블링 품질은 완전성, 정확성,일관성, 정밀성 등 측면에서 고려해야 합니다.

  1. 완전성 : 모든 물체에 레이블을 지정하고 누락된 물체가 있으면 안됩니다.

    ../../../_images/contour_missed.png
  2. 정확성 : 물체와 해당 레이블이 서로 대응해야 합니다.

    ../../../_images/label_name_not_correspond.png
  3. 일관성 : 모든 데이터는 동일한 레이블링 규칙을 준수해야 합니다. 예를 들어 레이블링 규칙에서 전체 노출량의 85% 이상인 물체만 표기하도록 규정하고 있는 경우, 해당 규칙을 만족하는 모든 물체를 표기해야 하여 특정 물체는 표기하고 다른 유사한 물체는 표기하지 않는 상황을 방지해야 합니다.

    ../../../_images/contour_inconsistent.png
  4. 정밀성:레이블의 외곽선은 대상 물체의 가장자리에 최대한 밀착시켜야 하며 누락된 부분이 있거나 불필요한 영역도 레이블링을 하면 안됩니다.

    ../../../_images/contour_incomplete_over.png