Generator - [Auto]



Developer에서 학습된 결과를 이용하여 정상 이미지에 가상의 결함을 생성하는 기능을 제공합니다. [Auto] 탭에서는 사용자가 대표 이미지 상에 설정해준 결함 생성 영역을 따라 결함을 자동으로 원하는 이미지 개수만큼 생성하는 기능을 제공합니다. 다양한 학습 결과를 이용하여 결함을 생성하고 싶은 경우 하위 탭을 추가하여 여러 생산품에 결함을 생성할 수 있습니다.

view_gen_auto_load_model

tool_add_tab 버튼 클릭 후 사용할 학습 모델을 학습된 모델 목록 패널에서 선택 후 생산품 선택 패널에서 결함을 생성할 생산품을 선택합니다. 생산품 선택 패널에는 학습에 사용된 생산품들의 목록이 있으며 새로운 유형의 생산품을 선택할 수도 있습니다.

[Align] 탭

view_gen_auto_align

결함을 생성할 템플릿 이미지(정상 이미지)를 로드하고 이미지를 정렬하는 탭입니다. 모델 로드 시 학습에 사용한 생산품을 선택했을 경우 학습 시 설정된 대표이미지와 정렬 옵션이 자동으로 설정되어 있습니다. 대표이미지 혹은 정렬 옵션을 변경할 수 있으나, 변경할 경우 [Set Region] 탭에 설정되어 있는 학습에서 설정한 결함 생성 영역이 초기화됩니다.

새로운 생산품 선택 시 템플릿 이미지 로드 후 대표이미지 설정과 정렬 옵션 설정을 Developer - [Preprocess] - [Align] 탭과 동일하게 수행하여야 합니다. 정렬 옵션 설정 후 우측 하단 Align 버튼을 눌러 정렬을 수행합니다.

[Set Region] 탭

[Set Region] 탭에서는 이미지 상에서 각 유형의 결함이 생성되어야 하는 영역을 대표이미지에 설정해줍니다. 본 탭에서 설정한 영역을 따라 각 유형의 결함이 생성됩니다.

학습에 사용한 생산품을 선택하고 [Align] 탭에서 대표이미지 혹은 학습 시 설정한 정렬 옵션을 바꾸지 않았다면 Developer에서 설정한 결함 생성 영역이 자동으로 설정되어 있습니다.

결함 생성 영역은 자유롭게 삭제가 가능하지만 추가는 Developer에서 사용한 결함 생성 영역의 유형에 따라 제한될 수 있습니다. 각 결함 생성 영역 유형은 세 개의 집단으로 분류되며, 각 클래스 별로 해당 집단의 생성 영역이 Developer에서 사용되었을 경우에만 추가 가능합니다.

집단 1 집단 2 집단 3
생성 영역 유형 tool_region_line, tool_region_rect tool_region_circle tool_region_rect_area, tool_region_circle_area

예시
Developer에서 tool_region_rect_area 로 그린 영역이 있을 경우 tool_region_rect_area, tool_region_circle_area 를 사용하여 영역 추가 가능.

[Generate] 탭

view_gen_auto_generate

템플릿 이미지 패널(Template Images)

[Align] 탭에서 등록한 템플릿 이미지를 보여줍니다. 해당 템플릿 이미지 상에 결함이 생성됩니다.

Generate 버튼 및 팝업

Generate 버튼 클릭 시 아래와 같은 팝업이 나타납니다.

view_gen_auto_generation_progress

생성 이미지, 결함 개수 및 grayscale 설정 패널에서 생성할 이미지 개수, 각 이미지 당 생성할 최대 결함 개수 및 생성할 패치의 grayscale 여부를 설정합니다. 실제로 생성된 이미지 수는 Max num. of images to generate 값보다 작을 수 있습니다. 클래스 별 생성 비율(Weights)과 최소 생성 크기(Size Threshold)를 설정할 수 있습니다. 클래스 별 생성비율이 높을수록 확률적으로 더 많은 결함을 생성합니다. 최소 생성 크기는 학습에 쓰인 결함들의 크기를 기준으로 상대적으로 결정됩니다. Generation options을 설정 후 하단의 Generate 버튼을 누르면 결함 생성이 시작됩니다.

생성된 이미지 패널(Generated Images)

생성된 이미지들의 목록입니다. 각 이미지마다 몇 개의 결함이 생성되었는지가 Patches 컬럼에 표시됩니다.

생성된 결함 수정 패널

각 이미지마다 생성된 결함을 보여줍니다. 생성된 결함 주위가 박스 형태로 표시되며 박스 위에 마우스를 올리면 생성된 결함의 구체적인 형상 및 클래스가 표시됩니다. 박스의 색은 해당 결함 클래스의 색과 동일합니다. 생성된 결함 중 품질이 좋지 않은 결함은 삭제할 수 있으며 삭제된 패치들은 결과 export시 저장되지 않습니다.

  • tool_choose: 생성된 결함 패치를 선택하는 도구입니다.
  • tool_remove_patch: 생성된 결함 패치를 선택 후 해당 결함 패치를 삭제하는 도구입니다. 삭제 시 원본 이미지가 보이게 됩니다.
  • tool_restore_patch: 삭제된 결함 패치를 되돌리는 도구입니다.
  • legend_living: 생성된 결함 패치들의 테두리를 on/off 하는 도구입니다.
  • legend_removed: 삭제된 결함 패치들의 테두리를 on/off 하는 도구입니다.

결함 클래스 패널(Classes)

각 결함 유형 별 색과 생성된 패치 개수가 나타납니다.

생성된 결함 정보 패널(Patches)

현재 선택된 이미지에 생성된 결함들의 정보(생성된 결함 패치의 좌측 상단 픽셀 위치와 크기, 삭제 여부)가 나타납니다.

Tab 저장 및 불러오기

이미지 생성을 완료한 tab을 해당 tab의 우클릭 또는 우측 상단 메뉴의 'Save Current Tab' 버튼을 클릭하여 .srGenAutoTab 형식의 파일로 저장할 수 있습니다. 저장된 tab은 탭 추가 버튼 ( tool_add_new_tab ) 클릭 후 tab 불러오기 버튼 ( tool_load_tab )을 클릭하여 불러올 수 있습니다.

Export

Export 버튼 클릭 시 아래와 같은 팝업이 나타납니다.

view_export_gen

  • view_export_gen_images: 체크 시 생성된 결함 이미지를 지정한 경로에 .srImage 형식으로 저장합니다.
  • view_export_gen_proj: 체크 시 생성된 결함에 해당하는 픽셀 단위의 라벨을 SaigeVision의 Segmentation 프로젝트 형식(.srproj)로 내보냅니다. 이 때 삭제된 결함 라벨은 export 되지 않습니다.