결함 세그먼테이션 모듈 사용방법

현재 최신 버전 (2.6.2)에 대한 매뉴얼을 보고 계십니다. 다른 버전에 액세스하려면 페이지 오른쪽 상단 모서리에 있는 '버전 전환' 버튼을 클릭하세요.

■ 현재 사용하고 있는 제품의 버전이 확실하지 않은 경우에는 언제든지 당사 기술 지원팀에 문의하시기 바랍니다.

이 섹션에서는 Mech-DLK 칩 데이터를 제공합니다( 데이터 다운로드 ). 사용자는 해당 데이터를 사용하여 결함 세그먼테이션 모듈을 사용하여 모델을 훈렬할 수 있습니다. 결함 레이블링, 파라미터 조정, 모델 훈련·검증·반복 개선 등의 과정을 통해, 소량의 데이터로도 결함 세그먼테이션 모델을 효율적으로 훈련하는 방법을 안내합니다. 이를 통해 예제 프로젝트와 같이 솔더(납땜) 과다 및 구리선 결함을 효과적으로 검출하는 모델 성능을 구현할 수 있습니다.

또한, 사용자가 직접 준비한 데이터를 사용할 수도 있습니다. 레이블링 과정을 제외하면 전체 프로세스는 동일합니다.

준비 작업

직접 준비한 데이터를 사용하는 경우, 이미지 데이터를 가져오기 전에, 데이터 획득 기준에 따라 이미지 데이터를 수집해야 합니다. 수집된 이미지 내 모든 결함이 명확하게 식별 가능한지 반드시 확인하세요. 그렇지 않을 경우, 모델 훈련 효과에 부정적인 영향을 미칠 수 있습니다.

  1. 새 프로젝트 생성 및 '결함 세그먼테이션' 모듈 추가 : 홈 화면에서 새로운 프로젝트 버튼을 클릭한 후, 프로젝트 경로를 선택하고 이름을 입력하여 새 프로젝트를 생성합니다. 모듈 패널 우측 상단에 있는+ 추가 아이콘을 클릭하고 '결함 세그먼테이션' 모듈을 추가합니다.

    example projects add new module
  2. 이미지 데이터 가져오기 : 다운로드한 데이터 파일의 압축을 풉니다. 왼쪽 상단의 가져오기/내보내기 버튼을 클릭하고 폴더 가져오기를 선택하여 폴더를 선택합니다. 이미지 데이터에는 솔더 과다, 구리선 노출, 완전한 구리선 3가지 상태가 포함되어야 합니다.

    example projects import images

    데이터에 중복된 이미지가 있는 경우, 이미지 가져오기 팝업창에서 건너뛰기 또는 가져오기를 선택할 수 있으며, 이미지에 태그를 설정할 수 있습니다. 이미지당 하나의 태그만 지원되므로, 이미 태그가 설정된 이미지에 새 태그를 추가하면 기존 태그가 덮어쓰기됩니다. 데이터 세트를 가져올 경우, 중복된 이미지를 교체할지 여부를 선택할 수 있습니다.

    • 이미지 또는 폴더 가져오기 시 표시되는 대화 상자:

      example projects duplicate1
    • 데이터 세트 가져오기 시 표시되는 대화 상자:

      example projects duplicate2
      데이터 세트 가져오기를 선택하면 DLKDB 형식(.dlkdb)의 데이터 세트만 가져올 수 있으며, 즉 Mech-DLK에서 내보낸 데이터 세트만 가능합니다.
  3. ROI 조정하기 : 각 이미지의 결함 위치가 서로 비슷한 경우, ROI 도구를 사용하여 모델 훈련에 적합한 ROI 영역을 선택할 수 있습니다. ROI를 설정하면 관련 없는 배경 정보 간섭을 줄일 수 있습니다. 본 예제 프로젝트에서는 모든 결함이 패드에 나타나므로, 레이블링 툴 바에서 tools introduction roi icon를 클릭해 ROI 영역을 조정하고 tools introduction OK을 누릅니다. 설정된 ROI는 모든 이미지에 적용됩니다.

    example projects roi
  4. 마스크 도구로 훈련 간섭 제거(선택 사항) : 결함 영역과 비결함 영역의 특징이 유사하거나 겹칠 경우, 마스크 도구를 사용해 훈련 방해 요소를 가릴 수 있습니다. 예를 들어, 과잉 솔더 결함과 주변 4개의 솔더 접합부는 외관과 반사 특성이 비슷하므로, 전체 이미지 마스크를 사용해 접합부를 가릴 수 있습니다.

    example projects mask
    • 전체 이미지 마스크 또는 ROI 도구를 사용하기 전에, 이미지 내 부품 위치가 일치하는지 반드시 확인하세요.
      위치가 크게 다를 경우, 마스크가 잘못 적용되어 훈련에 영향을 줄 수 있습니다. 이 경우, 캐스케이딩 모듈을 활용해 먼저 위치를 지정하거나, 이미지를 정렬한 뒤 결함 세그먼테이션 모듈을 적용하세요. 물체 검출 또는 신속하게 위치 지정 모듈로 부품 위치를 조정한 후, 결함 세그먼테이션 모듈을 캐스케이딩하여 훈련할 수 있습니다.

    • 마스크 기능 사용 시, 마스크는 결함 없는 부분을 완전히 덮도록 설정해야 합니다.

    • 자세한 내용은 고급: 마스크 도구로 훈련 간섭 제거 섹션을 참조하세요.

데이터 레이블링

  1. 소량의 데이터만 선택하여 레이블링 : 모든 이미지에 레이블을 지정할 필요는 없습니다. 소량이지만 정밀한 레이블링은 수작업 부담을 줄이고, 훈련 및 검증 속도를 높이는 데 효과적입니다. 또한, 모델 훈련 및 검증 중 발생할 수 있는 문제 해결하고 파라미터 조정 시간도 줄일 수 있습니다.
    예를 들어, 본 예제 프로젝트에서는 전체 이미지 중 5개만 선택해 레이블을 지정할 수 있습니다.

    example projects label data
  2. 레이블링 도구 선택 : 이 프로젝트에서는 결함의 특징이 뚜렷하므로, 스마트 레이블링 도구 사용을 권장합니다.

    example projects smart label
  3. 차이가 큰 결함 레이블링 : 데이터 레이블링 기준에 따라, 데이터를 레이블링합니다. 유사한 결함에 레이블을 중복 지정하지 말고, 특징 차이가 큰 이미지(결함 위치, 수량, 면적, 형상, 색상, 윤곽 등이 다른)를 골라 레이블링하세요. 레이블은 결함 윤곽에 맞게 지정하고, 결함 영역을 벗어나지 않도록 주의합니다. 마스크 기능을 사용할 경우, 마스크 영역과 레이블이 겹치지 않도록 설정하세요.

    • 아래 그림과 같이 결함 위치와 모양이 거의 같고 결함 밝기만 다른 두 이미지는 하나만 레이블링해도 충분합니다.

      example projects similar detect
    • 아래 그림처럼 결함의 수량과 위치가 서로 다른 경우, 두 이미지 모두 레이블링이 필요합니다.

      example projects different detect
      Ctrl 키를 누른 채 마우스 휠을 위로 굴리면 이미지가 확대되어 더 정밀한 레이블링이 가능합니다.
  4. 훈련 세트에 레이블링된 이미지 추가 : 레이블링이 완료되면, 해당 이미지를 필터링하여 훈련 세트로 이동시켜 훈련에 참여합니다. 이때도 소수의 정밀한 레이블링 이미지만 포함하는 것이 좋습니다.

    example projects add training set
  5. 최소 1장의 OK 이미지 설정 (선택 사항) :결함 없는 이미지 1장을 OK 이미지로 지정해 훈련 세트에 포함시킵니다.
    왼쪽 이미지 리스트에서 결함 없는 이미지를 선택한 후, 레이블링 툴 바에서 tools introduction OK 아이콘을 클릭하거나, 해당 이미지 항목을 마우스 오른쪽 버튼으로 클릭하여 OK로 설정하기를 선택합니다. 이후 다시 이미지 항목을 마우스 오른쪽 버튼으로 클릭하여 훈련 세트로 옮기기를 선택합니다.

    example projects set ok image

모델 훈련

  1. 파라미터 구성 : '훈련' 탭에서 '훈련 파라미터 설정' 오른쪽에 있는 start training 버튼을 클릭하여 파라미터를 구성합니다. 파라미터에 대한 자세한 내용은 모델 훈련을 참조하세요.

    • 데이터 증강 파라미터 구성 : 원본 데이터를 기반으로 훈련 데이터를 다양화합니다. 데이터 증강 파라미터의 목적은 훈련 데이터가 제한적일 때 모델의 일반화 성능을 향상시키는 것입니다. 실제 상황에 맞게 데이터 증강 탭의 파라미터를 조정합니다.

      example projects set train parameter
      • 물체 배치나 조명 조건이 동일하더라도, 일정 수준의 데이터 증강 설정은 모델 훈련 성능 향상에 도움이 됩니다. 단, 데이터 증강 파라미터를 설정할 때 결함의 특징이 손상되지 않도록 주의하고, 필요 시 모델 성능에 영향을 줄 수 있는 데이터 증강 항목은 비활성화하는 것이 좋습니다. 예제 프로젝트의 과잉 솔더 결함은 패드 전역에 분포하며, 결함의 크기, 밝기, 모양, 조명 조건이 일정하지 않기 때문에 데이터 증강 항목을 비활성화할 필요는 없습니다.

      • 또한, 일반적으로 데이터 증강 강도는 과도하게 크게 설정하지 않는 것이 좋습니다.

    • 훈련 파라미터 설정 : 일반적으로 평가 간격, 학습률, GPU ID 등의 파라미터는 기본 설정을 사용하는 것이 좋습니다.

    • 모델 유형 : 결함 세그먼테이션이 어렵고 높은 정확도가 필요한 경우, 모델 유형을 고정확도로 설정하는 것이 좋습니다. 반면, 본 예제 프로젝트처럼 결함 영역이 넓고 윤곽이 뚜렷한 경우에는 고속 모델로도 요구 사항을 충족할 수 있습니다.

    • 입력된 이미지의 크기 : 입력된 이미지의 크기 파라미터를 조정할 때는, 크기 변경 후에도 결함 영역이 명확하게 보이는지 확인해야 합니다. 이미지 리스트에서 임의의 이미지를 마우스 오른쪽 버튼으로 클릭한 후, 크기 조정된 이미지 미리보기 메뉴를 선택하면 확대/축소 효과를 확인할 수 있습니다. 원본 이미지의 결함 영역과 레이블링 이미지의 레이블이 모두 명확하게 보인다면, 해당 입력 이미지 크기는 요구 조건을 만족하는 설정입니다.

      example projects zoom preview
      • 입력 이미지 크기가 요구 사항을 충족한다는 전제하에, 더 작은 크기로 설정하면 모델 훈련 및 추론 속도를 향상시킬 수 있습니다.

      • 이미지 크기가 클수록 결함 및 검증 영역의 윤곽 매칭이 용이하고 모델 정확도도 높아지지만, 훈련 시간과 반복 횟수는 증가합니다.

      • 이미지 크기가 크고 결함 영역이 작아 시각적으로 식별하기 어려운 경우, '그리드 커팅 도구’를 사용해 이미지를 균등하게 분할하면 작은 결함도 더 쉽게 감지할 수 있습니다.

    • 그래픽 카드의 연산 성능이 충분한 경우, 배치(Batch) 크기를 적절히 늘리면 훈련 및 추론 속도 향상에 도움이 됩니다.

    • 훈련 초기에 모델 정확도 곡선을 충분히 관찰하고 최적의 모델을 선택할 수 있도록, 총 라운드 수(Epochs)는 500회 이상으로 설정하는 것이 좋습니다. Epochs가 너무 적으면 모델이 최고 정확도에 도달하기 전에 훈련이 종료될 수 있습니다. 예: 이 샘플 프로젝트에서는 초기 Epochs를 500회로 설정하여 훈련을 시작합니다.

  2. 훈련 시작 : 파라미터 구성이 완료되면, 훈련 탭에서 훈련 버튼을 클릭하여 모델 훈련을 시작합니다.

    example projects training chart
  3. 훈련 정보를 통해 훈련 상태 확인 : 훈련 탭 아래의 훈련 정보 패널에서 실시간으로 모델 훈련 정보를 확인할 수 있습니다.

    example projects view training info
  4. '훈련 차트’룰 통해 훈련 상태 확인 : 훈련 탭에서 '훈련 차트' 버튼을 클릭하면서, 모델 훈련 과정 중 정확도 곡선과 손실 곡선의 변화를 실시간으로 확인할 수 있습니다. 정확도 곡선이 전반적으로 상승하고, 손실 곡선이 전반적으로 하락하는 추세를 보이면 현재 훈련이 정상적으로 진행되고 있음을 의미합니다.

    example projects view training chart
  5. 실제 상황에 따라 훈련 조기 종료 (선택 사항) : 모델 정확도가 요구 수준에 도달한 경우, 시간을 절약하기 위해 훈련을 조기에 종료할 수 있습니다. 사용자는 [훈련 센터] 버튼을 클릭한 후, 작업 목록에서 해당 프로젝트를 선택하고, stop trainig 버튼을 클릭하여 훈련을 중단할 수 있습니다. 또한, 사용자는 훈련이 완료될 때까지 기다린 후, 최고 정확도 및 기타 훈련 파라미터를 확인하여 모델 성능을 사전에 평가할 수도 있습니다.

여러 라운드 진행 후에도 정확도 곡선이 상승 추세를 보이지 않는 경우, 현재 모델 훈련에 문제가 있을 수 있습니다. 이 경우, 모델 훈련을 종료한 후 파라미터 설정이 적절한지, 훈련 세트에 누락되었거나 잘못된 레이블이 포함되어 있는지 확인하고 수정한 뒤 훈련을 다시 시작하시기 바랍니다.

모델 검증

  1. 모델 검증 : 훈련이 완료되었거나 수동으로 중단된 후, 검증 탭에서 검증 버튼을 클릭하여 모델을 검증할 수 있습니다.

    example projects verify chart
  2. 모델 검증 결과 확인 : 검증이 완료되면, 검증 탭의 검증 통계 영역에서 검증 결과 요약을 확인할 수 있습니다. 또한, 전체 리포트 보기 버튼을 클릭하면 보다 상세한 검증 통계 결과를 확인할 수 있습니다.
    혼동 행렬은 실제 레이블과 모델 검증 결과 간의 대응 관계를 시각적으로 보여주며, 이를 통해 모델의 매칭 성능을 평가할 수 있습니다. 이 혼동 행렬에서 행은 수동으로 레이블링된 결과를, 열은 모델의 예측 결과를 나타냅니다. 행렬 내 파란색 셀은 레이블링 결과와 예측 결과가 일치한 항목을 의미하며, 그 외 셀은 추가적인 최적화가 필요한 영역을 나타냅니다. 또한, 행렬에서 특정 셀을 클릭하면 메인 화면의 이미지 리스트가 자동으로 필터링되어 해당 조건에 해당하는 이미지만 표시됩니다.

    example projects detail report

    검증 결과에 미검 또는 과검이 존재하는 경우, 이는 모델 훈련 효과가 충분하지 않음을 의미합니다. 이러한 경우, 레이블을 다시 점검하고 훈련 파라미터를 조정한 후 훈련을 다시 수행하는 것이 필요합니다. 전체 리포트 보기 창의 오른쪽 하단에 위치한 리포트 내보내기 버튼을 클릭하면, 썸네일 이미지 또는 원본 이미지 형태로 리포트를 내보낼 수 있습니다.

    example projects export report
    테스트 세트의 모든 미검·과검 이미지를 전부 다시 레이블링하여 훈련 세트로 포함시킬 필요는 없습니다. 일부 이미지만 추가 레이블링해 훈련 세트에 포함한 후, 모델을 재훈련 및 검증하세요. 나머지 이미지는 참고용으로 사용하여 검증 결과를 관찰함으로써 모델 반복 효과를 점검할 수 있습니다.
  3. 훈련 재시작 : 새로 레이블링한 이미지를 훈련 세트에 추가한 후, [훈련] 버튼을 클릭하여 훈련을 다시 시작합니다.

  4. 모델 검증 결과 재확인 : 훈련 완료 후, [검증] 버튼을 다시 클릭하여 모델을 검증하고, 각 데이터 세트에서의 검증 결과를 다시 확인합니다.

  5. 모델 파인튜닝(선택 사항) : 개발자 모드를 활성화한 후, 훈련 파라미터 설정에서 모델 파인튜닝 기능을 사용할 수 있습니다. 자세한 내용은 모델 반복 섹션을 참조하세요.

  6. 모델 지속 최적화 : 모델이 실제 사용 요구 사항을 충족할 때까지, 위의 단계를 반복하여 모델 성능을 지속적으로 최적화합니다.

모델 내보내기

검증 탭에서 내보내기를 클릭합니다. 팝업 창에서 내보낸 모델을 저장할 디렉토리를 선택하고 내보내기를 클릭합니다.

example projects model files

내보낸 모델은 Mech-Vision 및 Mech-DLK SDK에서 사용할 수 있습니다. 자세한 내용은 여기를 클릭하여 확인하세요.

이 페이지가 도움이 되었습니까?

다음 방법을 통해 피드백을 보내주실 수 있습니다:

저희는 귀하의 개인정보를 소중히 다룹니다.

당사 웹사이트는 최상의 사용자 경험을 제공하기 위해 쿠키를 사용하고 있습니다. "모두 수락"을 클릭하시면 쿠키 사용에 동의하시는 것이며, "모두 거부"를 클릭하시면 이 웹사이트 방문 시 귀하의 정보가 추적되거나 기억되지 않도록 단일 쿠키만 사용됩니다.