어려운 문제의 해결책

다음 방법을 통해 모델 훈련, 배포의 속도와 정확도를 향상시킬 수 있습니다.

데이터 세트의 종류가 다양해지는 방법

훈련 모델의 데이터 세트는 실제로 발생할 수 있는 모든 상황을 최대한 포함해야 하며, 작업 현장에서 필요한 캡처 조건이 충족되지 못한 경우 훈련 전에 데이터 증강 파라미터를 조정하여 원본 데이터의 기반으로 훈련 데이터를 더 풍부하게 할 수 있습니다.

데이터 증강 파라미터 조절

../../_images/data_augmentation.png

주의

곱해진 이미지 데이터가 현장의 실제 상황과 일치하는지 확인해야 합니다. 작업 현장에 회전이 없으면 이 파라미터를 조정할 필요가 없습니다. 그렇지 않으면 모델 효과에 영향을 줄 수도 있습니다.

휘도

이미지 밝기의 정도. 작업 현장의 조명이 크게 변경되면 휘도 범위를 조정하여 다른 조명 조건에서 설정된 이미지 데이터를 증강할 수 있습니다.

명암비

가장 밝은 부분과 가장 어두운 부분과의 비율. 대상 물체와 배경 사이의 차이가 적을 때는 명암비 범위를 적절하게 조정하여 대상 물체의 특징이 더 잘 보이도록 합니다.

평행 이동

이미지의 모든 픽셀 좌표에 지정된 가로 및 세로 옵셋을 추가합니다. 작업 현장의 물체(빈, 파렛트 등)의 위치가 넓은 범위에서 이동할 때 평행 이동 파라미터를 조정하여 가로 및 세로 이동 데이터 세트를 램덤으로 곱할 수 있습니다.

회전

이미지의 중심을 기준으로 특정 각도만큼 이미지를 회전시켜 새로운 이미지를 생성합니다. 일반적으로 기본적인 파라미터 설정을 사용하면 수요를 충족할 수 있습니다. 물체 배치 각도가 크게 변경되면 회전 파라미터를 조정하여 여러 각도의 이미지 데이터 세트를 램덤으로 곱할 수 있습니다.

크기 조정

특정 비율로 이미지를 축소하거나 확대합니다. 물체의 높이 차이가 큰 경우 크기 조정 파라미터를 조정하여 크기 조정 정도가 다른 이미지 데이터 세트를 랜덤으로 곱할 수 있습니다.

수평 뒤집기

이미지를 왼쪽에서 오른쪽으로 180° 뒤집습니다. 대상 물체가 좌우 대칭인 경우 수평 뒤집기 기능을 켤 수 있습니다.

../../_images/flip_horizontally.png
수직 뒤집기

이미지를 위에서 아래로 180° 뒤집습니다. 대상 물체가 상하 대칭인 경우 수직 뒤집기 기능을 켤 수 있습니다.

../../_images/flip_vertically.png
레이블 팽창

이미지에서 표기한 결함 영역을 특정 비율로 확장합니다. "결함 세그먼테이션" 모듈에서만 사용될 수 있으며 일반적으로 선택할 필요가 없습니다. 이미지에서 레이블링된 결함이 아주 작은 경우 레이블 팽창 을 선택하여 이미지 크기 조정으로 인해 결함이 너무 작아서 훈련에 영향을 미치는 상황을 피할 수 있습니다.

모델 훈련의 속도와 정확도를 향상시키는 방법

기본적인 파라미터 설정은 대부분 수요를 충족할 수 있지만 모델 훈련의 속도나 정확도를 향상시키려면 훈련 파라미터 를 조절하여 모델을 수요를 충족시킬 때까지 다시 훈련할 수 있습니다.

훈련 파라미터를 조절하기

../../_images/training_parameters.png
입력된 이미지의 사이즈

훈련 시 신경망에 입력된 이미지의 너비와 높이입니다(단위: 픽셀). 기본 설정 사용을 권장하며, 이미지에서 물체나 표기된 결함 영역이 작을 경우 입력된 이미지의 사이즈 를 적절히 늘려야 합니다. 이미지 크기가 클수록 모델 정확도는 높아지지만 훈련 속도는 느려집니다.

배치 크기(Batch Size)

신경망 훈련을 위해 한 번에 선택한 샘플의 수입니다. 기본 설정을 사용하는 것이 좋으며 훈련 속도를 높여야 하는 경우 배치 크기(Batch Size) 파라미터를 적절하게 증가시킬 수 있습니다. 하지만 너무 크게 설정하면 메모리 사용량이 증가합니다.

모델 유형

"결함 세그먼테이션" 모듈

  • 일반 : 일반적인 훈련 시나리오에 응용됩니다.

  • 강화 : 모델 성능이 좋지 않거나 정확도에 대한 요구 사항이 높을 때 응용됩니다. 하지만 이 모드를 사용하면 훈련 속도가 느려질 수 있습니다.

"인스턴스 세그먼테이션" 모듈

  • 일반(GPU 배포 시 더 좋음) : 모델을 GPU 장치에서 배치할 때 이 옵션을 선택하십시오.

  • 경량(CPU 배포 시 더 좋음) : 모델을 CPU 장치에서 배치할 때 이 옵션을 선택하십시오.

평가 간격

모델 훈련 시 각 평가 간격의 반복 횟수입니다. 기본 설정 사용을 권장하며, 평가 간격 파라미터를 높이면 훈련 속도를 높일 수 있습니다. 파라미터의 값이 클수록 훈련 속도가 빨라지고 파라미터의 값이 작을수록 훈련 속도가 느려지지만 최적의 모델을 선택하는 데 도움이 됩니다.

Epochs

모델 훈련의 총 반복 횟수입니다. 기본 설정 사용을 권장하며, 인식할 이미지의 특징이 복잡한 경우 모델 효과를 향상시키기 위해 훈련 횟수를 적절히 늘리면 모델 효과가 좋아지지만 훈련 시간이 길어집니다.

주의

하지만 이 파라미터의 값이 크면 클수록 좋은 것이 아닙니다. 너무 크게 설정하면 모델 정확도가 안정된 후에도 계속 훈련하므로 훈련 시간이 길어지고 과적합의 위험이 있습니다.

학습률

신경망 훈련 시 각 반복에 대해 최적화한 보폭을 결정하는 하이퍼 파라미터입니다. 기본 설정 사용을 권장하며, 그래프 손실 곡선이 느리게 수렴하는 경우 학습률 을 적절하게 높일 수 있으며, 그래프 정확도의 변동이 심한 경우 학습률 을 적절히 낮출 수 있습니다.

GPU ID

모델을 배포하는 장치의 그래픽 카드 정보. 사용자 장치에 여러 개의 GPU가 있는 경우 지정된 GPU에서 훈련을 수행할 수 있습니다.

모델 단순화

신경망 구조를 단순화하는 데 사용됩니다. 기본적으로 선택하지 않습니다. 훈련 데이터 세트가 상대적으로 간단할 때 이 옵션을 사용하면 훈련과 추론의 속도를 높일 수 있습니다.

모델 파인튜닝 방법

훈련된 모델의 파인튜닝

지난 번 훈련의 최적 모델을 기반으로 훈련을 진행하여 훈련 시간을 단축할 수 있습니다.

슈퍼 모델의 파인튜닝

현재 사용 가능한 슈퍼 모델을 기반으로 훈련을 진행합니다. 기존 슈퍼 모델을 선택하고 모델 예측 효과가 좋지 않은 이미지를 추가하여 모델을 훈련시켜 훈련 시간을 줄일 수 있습니다.

슈퍼 모델: 이 링크를 클릭하여 종이 상자의 슈퍼 모델을 다운로드 하십시오.

모델 파인튜닝 파라미터를 활성화하기

../../_images/model_finetuning.png

모델 추론 속도 및 정확도를 향상시키는 방법

기본적인 파라미터 설정은 대부분 요구 사항을 충족할 수 있으며 추론 속도 또는 정확도를 개선해야 하는 경우 실제 상황에 따라 배포 설정 관련 파라미터를 조정할 수 있습니다.

배포 설정 파라미터 조절

../../_images/deployment_settings.png
배치 크기(Batch Size)

모델 추론을 위해 한 번에 선택한 샘플의 수입니다. 기본 설정 사용을 권장하며 "결함 세그먼테이션" 모듈에서 이미지가 매우 크지만 결함 영역이 상대적으로 작을 경우 배치 크기(Batch Size) 파라미터의 값을 적절히 늘리면 추론 속도를 높일 수 있자먼 메모리 사용량이 증가합니다.

부동 소수점 정밀도
  • FP32 : 모델 인식 정확도는 높지만 추론 속도는 느립니다.

  • FP16 : 모델 인식 정확도는 낮지만 추론 속도는 빠릅니다.

이미지 사전 처리 장치
  • GPU:모델 추론을 시작하기 전에 이미지 데이터를 처리하는 장치. GPU 파라미터를 사용하는 것을 권장합니다.

  • CPU:이미지 크기가 상대적으로 커서 이미지의 사전 처리 속도를 높이려고 하면 CPU 파라미터를 사용할 수 있습니다.

도출할 모델의 유형
  • dlkmo:이 유형의 모델을 내보내기 전에 최적화하기가 약 5분 정도 소요되며 모델을 훈련하는 장치와 모델을 배포하는 장치의 그래픽 카드가 다를 수도 있습니다.

  • dlkmt:이 유형의 모델은 최적화할 필요 없이 직접 내보낼 수 있지만 모델을 훈련하는 장치와 모델을 배포하는 장치의 그래픽 카드가 반드시 동일해야 합니다.

GPU ID

모델을 배포하는 장치의 그래픽 카드 정보. 사용자의 장치에 여러 GPU가 있는 경우 지정된 GPU에 배포할 수 있습니다.