관심 영역(ROI)과 마스크를 정의해 뷰를 생성

관심 영역(ROI) 정의

이미지들을 프로세싱할 도구를 추가하고 나면, 이미지들이 흐려지며 "관심영역(ROI) 정의되지 않음"이라는 메시지를 통해 세분화 필요성이 있다고 알려줍니다. 현재 도구가 이들 이미지를 사용할 수 있게 하려면, 도구의 프로세싱 버튼 - 가위 아이콘을 클릭하여 이들을 세분화해야 합니다.

기본 세분화는 도구에 완전한 이미지를 제공합니다. 수동으로 ROI를 조정(이미지 안에서 마우스 우클릭 후 ROI 편집 선택)하여 추출된 뷰를 크기, 위치, 방향 면에서 구성할 수도 있습니다. 관심 영역(ROI)을 조정하여, 해당 도구가 작동할 뷰를 정의해야 합니다. 이미지 내의 그래픽 핸들을 이용해 ROI의 크기와 위치를 조정할 수 있습니다. 이를 이용해 ROI의 크기를 변경할 수도 있고 이미지 내에서 이동할 수도 있습니다.

 

Edit ROI(ROI 편집)

최초의 도구가 추가되면, 기본 관심 영역(ROI)도구 모음이 이미지 상단에 표시됩니다(마우스 우클릭 메뉴에서 ROI 편집을 선택해도 열 수 있습니다).

 

전문가 모드 버전:

 

설정 설명

Percent/Pixel(백분율/픽셀)

ROI가 이미지 폭 및 높이의 백분율로 구축될지 픽셀 수로 구축될지 지정합니다.

Note: 선행 도구가 Blue 위치 도구였다면, 백분율은 feature 또는 뷰를 정의하는 노드 모델의 폭과 높이에 기초합니다.

Offset(오프셋)

원점에서부터 ROI 좌측 상단 모서리의 오프셋을 지정합니다. 이 설정은 백분율/픽셀 설정에 따라 백분율 또는 픽셀로 됩니다.

ROI Size(ROI 크기)

백분율/픽셀 설정에 따라 백분율 또는 픽셀로 ROI의 크기를 지정합니다.

Angle(각도)

원점에서부터 ROI의 각 방향을 지정합니다.

Grid(그리드)

그리드 설정에 따라 이미지가 작은 뷰들로 나눠지도록 지정합니다. 이는 많은 수의 feature 및/또는 영역을 포함하고 있는 큰 이미지 작업 시 유용하며, 이미지를 다수의 작은 뷰로 나누면 시각화와 라벨 지정이 용이해집니다. Deep Learning 내에서는 이미지가 연속되므로, 다른 사진 편집 프로그램을 이용하는 대신 Deep Learning 응용 프로그램으로 하여금 이미지를 나누게 하면, 인위적인 결과도 방지할 수 있습니다.

또한, 런타임 중 이미지를 프로세싱할 때, 그리드 설정을 기본(1x1)으로 재설정하면, 전체 이미지가 한번에 프로세싱됩니다.

예를 들어, 10,000개의 작은 품목이 들어 있는 큰 이미지가 있고, 이를 Blue 위치 도구로 라벨 지정하고 식별한다고 합시다. 해당 이미지를 10x10 그리드로 나눔으로써, 이미지 하나에 있는 10,000개의 feature가 아니라, 이미지당 100개의 feature만을 식별하고 라벨 지정하면 됩니다.

Note: 이 옵션은 전문가 모드에서만 제공됩니다.

외부

ROI의 방향이 외부 소스(VisionPro CogPMAlignTool의 pose 등)에 따라 정해지도록 지정합니다.

Note: 이 옵션은 전문가 모드에서만 제공됩니다.
Note: 이어진 도구의 경우 세분화는 이전 도구에 따라 달라지며 동적입니다. 즉, 뷰는 이전 도구의 결과에 따라 달라집니다. 이는 도구가 연쇄되어 있다면, 이용 가능한 ROI 도구 모음 옵션은 선행하는 도구에 따라 달라짐을 뜻합니다. 자세한 내용은 VisionPro Deep Learning 툴체인 항목을 참조하십시오.
Tip: 관심 영역(ROI)를 구성할 때, ROI는 최대한 작게 생성하십시오.

마스크 정의(선택 사항)

Cognex Deep Learning 도구들은 모두 마스크를 생성하고 적용하여, 이미지의 일부를 학습에서 제외하는 기능을 지원합니다.

트레이닝과 프로세싱 중 Deep Learning 도구는 이미지 샘플링에 의해 작동하며, 이 때 feature 크기는 샘플 영역의 기준 크기(단위: 픽셀)입니다. 샘플링 중에는 샘플 영역 주위에서 상당한 양의 context 정보(다른 말로, Context Region)도 검토됩니다.

1

Feature Size(Feature 크기)

2

샘플 영역

3

Context Region(Context 영역)

 

이미지에 마스크를 적용하면, 샘플 영역 중 마스크가 적용된 픽셀은 언제나 폐기됩니다. 하지만, context 영역에 마스크를 적용하는 방식은 마스킹 모드 매개변수에 의해 결정됩니다.

 

가상의 샘플링 영역 및 context 영역이 있는 다음의 마스킹된 이미지를 보십시오.

 

마스킹 모드 매개변수가 기본값인 Transparent(투명)으로 설정됐다면, 샘플은 마스킹되지 않은 부분에서만 수집됩니다. 하지만, 마스킹된 영역에서도 여전히 context 정보가 수집되는데, context 영역에 있는 밝은 초록색 영역이 이를 보여줍니다.

 

마스킹 모드 매개변수가 마스크로 설정됐다면, context 영역 내에서 마스킹된 픽셀은 모두 폐기되며, context 영역에 있는 밝은 빨간색 영역이 이를 보여줍니다. 이 설정을 이용하면 샘플링 중 ROI의 중심에 집중하는 효과도 있습니다.

Tip: Red Analyze 이용 시에는, 이미지에서 응용 프로그램에 연관되지 않은 모든 것을 마스킹하십시오.

 

마스크 편집(선택 사항)

이미지를 마우스 우클릭한 후 메뉴에서 마스크 편집을 선택하면 마스크 도구 모음이 표시됩니다. 이미지에 마스크를 적용한 후 적용 버튼을 클릭하면, 학습 이미지 Set에 있는 모든 이미지가 해당 마스크를 이용합니다. 종료 버튼을 누르면 Deep Learning 응용 프로그램을 구축하는 과정으로 복귀합니다.

 

 

설정 설명

그리기 도구

세 가지 그리기 도구가 있으며 이들은 함께 사용할 수 있습니다. 그리는 영역의 크기는 폭 값에 따라 정의됩니다.

  • 라인: 클릭하고 끌어 이미지에 선을 생성합니다.

    Tip:
    • 그리면서 SHIFT 키를 누르고 있으면, 이 도구는 두 점 간에 직선을 그립니다.
    • 사각형 영역을 채우려면, 선 그리기 도구로 외곽선을 그린(SHIFT 키를 누르고 있으면 직선을 그림) 후, 자동 선택 도구를 이용해 채우십시오.
  • 원형: 커서를 원형 물체의 중심에 두고, 밖으로 끕니다.

    Tip: SHIFT 키를 누르고 있으면, 원이 경계 상자의 모서리에서 확장됩니다.
  • 마법봉: 클릭하고 끌어 이미지의 영역을 채웁니다. 개별 feature를 클릭하고 그 영역에만 채우기를 적용할 수도 있습니다.
Note: 이미지의 관련 없는 그림을 자르거나 제거하려면 지우개 도구를 이용할 수 있습니다.

Width(폭)

마스크 그리기 도구, 경계 마스크, 확장 영역의 픽셀 폭을 정의합니다. 폭은 마스크를 적용하기 전에 설정해야 합니다. 그리기 도구, 경계 마스크, 영역 확장 등으로 마스크를 편집하는 동안 폭 값을 조정하면, 새로운 값은 다음에 생성하는 마스크부터 적용됩니다(같은 편집 세션 중이었다고 해도 기존에 생성된 마스크는 변경되지 않습니다).

Border Mask(경계 마스크)

이미지의 경계 주위에 폭 값을 이용해 마스크를 생성합니다. 이미지 경계에 마스크를 적용하는 것은, 이미지를 촬상한 카메라의 시야 때문에 개체가 잘린 경우, 원단이나 직물 조각처럼 개체가 무작위로 잘린 경우 등에 유용합니다.

Grow Area(확장 영역)

마스크 영역을 폭 값만큼 확장합니다.

Invert(반전)

마스크를 반전시킵니다. 즉, 마스크 된 영역은 마스크 해제되고 마스크를 포함하지 않은 영역은 마스크됩니다.

Clear(삭제)

이미지의 마스크를 삭제합니다.

Import/Export(가져오기/내보내기)

가져오기/내보내기 버튼은 마스크 이미지 가져오기마스크 이미지 내보내기 대화 상자를 열어 마스크 이미지를 .PNG 파일로 가져오거나 내보냅니다. 마스크 이미지는 마스크가 있는 뷰와 같은 크기의 2차원 픽셀 배열입니다. 마스크 이미지의 픽셀 값은, 뷰의 해당 픽셀이 트레이닝에 이용될지 런타임 프로세싱에 이용될지 결정하는 데 이용됩니다. 가져오기/내보내기 옵션을 이용하면 과거에 생성한 마스크 이미지를 가져오거나 막 생성한 마스크 이미지를 내보낼 수 있습니다.

Undo/Apply/Close(실행 취소/적용/종료)

마스크 적용을 제어하는 옵션들.

  • Undo: 마지막 작업을 취소합니다.
  • Apply: 마스크를 이미지에 적용하고, 트레이닝 Set의 모든 이미지에 마스크가 적용되게 합니다. 연결된(Chained) 도구가 있는 경우, 마스크는 다운스트림 도구에도 적용됩니다.
  • Close: 마스크 편집 세션을 종료합니다. 응용 프로그램에서 다른 작업을 수행하려면 마스크 편집 세션을 종료해야 합니다.
  • 모두 적용: 같은 마스크를 모든 이미지에 적용합니다.

 

뷰 생성

VisionPro Deep Learning 도구는 라고 하는, 이미지 상의 영역에 대해 동작합니다. VisionPro Deep Learning에서 뷰는 이미지 파일과는 약간 다른 개념입니다. 뷰는 도구와 사용 방식에 따라, 전체 이미지, 사용자가 정의한 이미지 상의 작은 사각형 영역, 도구의 결과물 등이 될 수 있습니다. 첫 번째 도구의 ROI(관심 영역)가 정의되면 최초의 가 구성됩니다. ROI는 원래 이미지의 affine 변환(위치, 각도, 늘어남, 왜곡)에 의해 정의되며, 이미지 내 어느 곳에서 도구가 작동할지 지시합니다. 이미지에서 를 선택하는 과정을 분할이라고 부릅니다. 추가된 첫 번째 도구는 수동으로 세분화를 해야 합니다(다시 말하면, View를 만들기 위해 ROI를 정의합니다).

 

  1. 주황색의 외곽선이 전체 이미지를 나타내고, 빨간색 점선의 사각형은 정의되고 있는 ROI입니다.

     

  2. 초록색의 외곽선은 를 나타냅니다.

 

ROI와 뷰 인덱스

하나의 이미지 파일에서 서로 다른 ROI들이 생성될 수 있으며, 마찬가지로 서로 다른 뷰들이 생성될 수 있습니다. 하나의 이미지 파일에서 서로 다른 뷰들이 생성될 수 있으므로, 어떤 뷰의 인덱스는 각 뷰의 유일한 식별자 역할을 합니다. 쉽게 말해, 하나의 이미지 파일에서 3개 뷰들이 생성되었다면, 이들의 인덱스는 0, 1, 2입니다.

다른 예를 들면, 도구 체인에서 Red 분석를 부모 도구(선행 도구)로 사용 시, 그 자녀 도구에서는 영역을 개별 ROI로 추출 기능으로 부모 도구에 있는 결함 영역들을 자신의 ROI로 사용함으로써 여러 뷰들을 생성할 수 있습니다.

Note: 도구 체인에 관한 자세한 내용은 VisionPro Deep Learning 툴체인 항목을 확인하십시오.

 

Red 분석 - Green 분류 도구 체인

 

 

Red 분석 부모 도구 뷰(여기서는 이미지 파일과 동일)에 2개 결함이 존재

 

 

Green 분류 자녀 도구의 ROI 설정: 영역을 개별 ROI로 추출

 

 

1개 이미지 파일에서 2개 뷰들이 생성됨, 1개 결함당 1개 뷰가 생성됨

Tip: 뷰 브라우저 리스트 모드에서 뷰 인덱스는 기본적으로 숨겨져 있습니다. 뷰 인덱스를 표시하려면, 을 선택해 열 편집 창을 열고, 뷰 인덱스 체크박스를 활성화한 다음에 적용을 선택하십시오.

 

ROI가 설정되지 않은 뷰 인덱스는 -1입니다. 예를 들어 위 예시에서, Red 분석 부모 도구에 있는 뷰에 결함이 없다면, 자식 도구는 이 뷰에서 ROI를 추출할 수 없으며 따라서 자식 도구에서 이 뷰는 ROI가 없고 뷰 인덱스로 -1을 가집니다. 추가로, 뷰에 ROI가 없으면 파일명 끝에 노란색 경고가 표시됩니다.

 

 

툴체인이 있는 경우, 첫 번째 도구에 이어지는 도구들은 선행 도구의 결과를 이용해 동적으로 를 선택합니다. 예를 들어, Blue 위치 도구가 발견한 모델을 이용해 이미지의 일정 영역을 잘라내고 ROI에 변환을 적용해 다음 도구가 모두 동일한 방향 및 위치 내에서 작동하도록 할 수 있습니다.

 

뷰 상태 확인

각 뷰의 자세한 상태는 뷰 브라우저 리스트 모드에 있는 뷰 정보 표에 나와 있습니다. 각 뷰 상태 정보는 도구 종류에 따라 다릅니다.

 

설명
파일명 현재 스트림으로 불러온 뷰의 이미지 파일명입니다. 서로 다른 뷰들이 하나의 이미지 파일에서 생성되었다면, 이 뷰들은 같은 파일명을 가집니다.
뷰 인덱스 뷰의 인덱스입니다. 서로 다른 뷰들을 하나의 이미지 파일에서 생성했다면, 각 뷰의 유일한 식별자로써 뷰 인덱스를 사용합니다. 예를 들어, 하나의 이미지 파일에서 3개 뷰들이 생성되었다면, 이들의 파일명은 서로 같고 이들의 뷰 인덱스는 0, 1, 2입니다. 뷰 인덱스는 뷰 브라우저 리스트 모드에서 기본적으로 숨김 상태임을 참고하십시오. 뷰 인덱스를 표시하려면, 을 선택해 열 편집 창을 열고, 뷰 인덱스 체크박스를 활성화한 다음에 적용을 선택하십시오.
프레임 인덱스

프레임의 인덱스입니다. 여러 이미지가 하나의 프레임안에 묶일 수 있으며, 프레임 인덱스는 각 프레임의 유일한 식별자입니다.

라벨 뷰의 라벨입니다. 자세한 내용은 라벨 생성 (라벨링)를 확인하십시오.
마킹 뷰의 마킹입니다. 자세한 내용은 마킹 검토를 확인하십시오.
점수 뷰의 점수입니다. 자세한 내용은 결과 해석를 확인하십시오.
라벨링한 영역 뷰에 있는 라벨링한 영역 개수입니다.
마킹된 영역 뷰에 있는 마킹된 영역 개수입니다.
뷰 세트 트레이닝 세트에 포함되는지 여부를 알려주는 표시입니다. 뷰가 테스트 세트에 포함되면 아무 표시도 나타나지 않습니다.
세트 여러분이 생성한 사용자 정의 세트에 포함되는지 여부를 알려주는 표시입니다. 자세한 내용은 Set 생성 및 편집를 확인하십시오.
메모 여러분이 작성, 편집한 메모입니다.

 

뷰 브라우저 리스트 모드에서 뷰 제어하기

리스트 모드에서는 현재 VisionPro Deep Learning 워크스페이스로 새 이미지들을 추가할 수 있으며, 이미지들을 트레이닝 세트에 추가, 표시되는 뷰에 필터 적용, 표시되는 뷰 정렬 등 여러 작업들을 수행할 수 있습니다.

 

정보 표 다루기

각 열 헤더를 클릭하여 정보 표 내용을 정렬합니다.

 

열 헤더를 원하는 위치로 드래그 앤 드롭하여 표시되는 열 순서를 바꿉니다.

 

 

버튼을 클릭해 표시되는 열 목록을 편집합니다.

 

열 편집 다이어로그에서 체크를 설정 또는 해제하여 열을 보이거나 숨깁니다. 초기화 버튼을 눌러 보여질 열 목록과 열 순서를 기본값으로 초기화하십시오.

 

각 열에 대해 아이콘을 드래그 앤 드롭하여 열 표시 순서를 바꿀 수 있습니다.

 

또, 열 헤더를 우클릭하여 직접 열을 숨기거나 추가하십시오.

 

뷰에 즐겨찾기 설정

중요한 뷰이거나 자주 찾는 뷰라면 이 뷰에 별 표시를 하여 즐겨찾기를 설정할 수 있습니다.

 

즐겨찾기는 오직 현재 도구에 있는 뷰에 적용되며 동일한 뷰라도 다른 도구에 있다면 적용되지 않습니다. 도구 체인을 사용한다면 부모 도구(업스트림 도구)에 있는 뷰 즐겨찾기는 자식 도구(다운스트림 도구)에 적용되지 않으며, 그 반대 방향도 마찬가지입니다. 하지만, 뷰에 즐겨찾기를 설정하고 현재 도구를 복제하면, 복제된 도구에 있는 동일한 뷰에는 즐겨찾기가 남아 있습니다.

 

메모 작성

각 뷰에 메모를 작성하고 편집할 수 있습니다. 메모 열을 더블 클릭해 각 뷰에 메모를 작성하거나 편집하십시오.

 

메모 작성은 오직 현재 도구 뷰에 적용되며, 동일한 뷰라도 다른 도구에 있으면 적용되지 않습니다. 도구 체인을 사용한다면 부모 도구(업스트림 도구)에 있는 메모는 자식 도구(다운스트림 도구)에 적용되지 않으며, 그 반대 방향도 마찬가지입니다. 하지만, 뷰에 메모를 작성하고 현재 도구를 복제하면, 복제된 도구에 있는 동일한 뷰에는 메모가 남아 있습니다.