Skip to content

그래프 모듈 리스트

본 장에서는 인디아이 앱의 각 그래프 클래스의 모든 모듈에 대해 상세히 설명합니다. 그래프 모듈별 설명은 인디아이 앱의 모듈 도움말을 통해서도 확인할 수 있습니다. 인디아이 Docs 에서는 웹 페이지 검색 기능으로 사용하고자 하는 모듈에 대한 설명을 빠르게 찾아 활용하시길 바랍니다.

Sensor


  • Camera : 카메라 이미지를 획득합니다. 카메라 및 로봇을 여러 대 사용할 경우, 각 카메라에 적용할 캘리브레이션 파일을 설정합니다.
    • 카메라 이름에 따라 캘리브레이션 파일을 선택합니다. 캘리브레이션이 수행되지 않은 카메라는 NotReady가 표시됩니다.
  • SetLED : 현재 연결된 로봇의 엔드툴 카메라 LED 밝기를 설정합니다. 로봇이 연결되어야 사용 가능하며, 로봇 엔드툴 카메라의 LED가 자동 조절형 모델인 경우에만 지원됩니다.
    • BRIGHTNESS : 설정할 LED 밝기 정도 (0 ~ 100 사이의 값, 100에 가까워질수록 밝아짐)

Refinement


  • Binarization : 이미지를 흑백으로 이진화 합니다.
    • METHOD : 이진화 방식입니다.
      • otsu : 자동으로 최적의 임계값을 계산합니다. THRESHOLD는 무시됩니다.
      • binary : 임계값 이상의 픽셀을 흰색으로, 이하의 픽셀은 검은색으로 수정합니다.
      • binary_inv : 임계값 이상의 픽셀을 검은색으로, 이하의 픽셀은 흰색으로 수정합니다.
      • trunc : 픽셀값 상한선을 임계값으로 설정합니다.
      • to_zero : 임계값을 넘지 못하는 픽셀값을 0으로 변경합니다.
      • to_zero_inv : 임계값을 넘는 픽셀값을 0으로 변경합니다.
    • THRESHOLD : 임계값을 설정합니다.
  • Crop : 이미지에서 관심 영역만을 잘라냅니다. 이미지 크기가 바뀌므로 이후 로봇 좌표계와의 연동은 되지 않습니다.
  • ROI : 이미지의 관심 영역을 지정합니다. 이후 대부분의 알고리즘들은 이 영역 안에서 동작합니다.
    • ANGLE : 관심 영역의 각도
    • CENTER X, CENTER Y : 관심 영역의 중심 위치
    • SIZE W, SIZE H : 관심 영역의 가로, 세로 크기
    • SET RECT : 화면을 터치하여 관심 영역 설정
  • ROIFromMask : 현재 인식 영역 주변을 이미지 관심 영역으로 지정합니다. 이후 대부분의 알고리즘들은 이 영역 안에서 동작합니다.
  • ROIFromPolygon : 4개의 점으로 이루어진 사각형 영역을 이미지 관심 영역으로 지정합니다. 이후 대부분의 알고리즘들은 이 영역 안에서 동작합니다. 이 모듈 이후 Crop 모듈을 사용하면 지정한 사각형 영역을 영상 크기에 맞게 직사각형으로 늘립니다.
    • POLYGON POINTS : 4개 점의 x,y 좌표를 0.0~1.0 사이로 표시한 값
      (순서: 1x,1y,2x,2y,3x,3y,4x,4y)
    • SET POLYGON : 화면을 터치하여 관심 영역 설정
  • Resize : 이미지 크기를 (WIDTH, HEIGHT) 로 조정합니다. 이미지 크기가 조정된 경우 로봇 좌표계와의 연동에는 문제가 생기니 주의하십시오.
  • Sharpen : 이미지를 선명하게 보정합니다.
    • GAMMA : 보정 정도 (1에 가까울수록 선명해짐, 0에 가까울수록 원본에 가까움)
    • SIGMA : 각 픽셀이 보정 과정에서 영향을 받을 범위 (넓게 설정할수록 느르지만 더욱 선명해짐)
  • Smooth : 이미지의 노이즈를 제거하고 부드럽게 합니다.
    • SIGMA : 각 픽셀이 보정 과정에서 영향을 받을 범위 (넓게 설정할수록 느르지만 더욱 부드러워짐)

Detection


  • Background : 기록된 배경 이미지와 다른 부분을 물체로 인식합니다.
    • RECORD : 현재 이미지 기록
    • DETECT NUM : 최대 감지 수
    • DETECT SIZE : 설정 값보다 픽셀 수가 많아야 감지
    • SIZE CLOSE : 설정 값 만큼의 구멍은 무시하고 채워져있는 것으로 간주
    • SIZE OPEN : 설정 값 만큼의 노이즈는 무시하고 없는 것으로 간주
    • THRESHOLD : 설정 값 만큼의 색상 값이 기록된 이미지와 달라야 물체로 인식
  • DetectCustomMarker : 사용자 정의된 마커의 3차원 위치를 인식합니다.
    • DICTIONARY : ArUco 라이브러리에 정의되어있는 마커 라이브러리입니다.
    • GRID X : 가로로 나열할 격자의 수
    • GRID Y : 가로로 나열할 격자의 수
    • GRID SIZE : 각 정사각형 격자의 한 변의 길이 (단위: m)
    • MARKER SIZE : 격자 안에 들어가는 ArUco 마커의 한 변의 길이 (단위: m)
  • DetectEdgePoint : 영상 위의 가상의 선을 따라 색상이 크게 바뀌는 경계 지점들을 인식합니다.
    • POSITION FIRST X, POSITION FIRST Y : 경계를 추출할 선의 시작점입니다.
    • POSITION LAST X, POSITION LAST Y : 경계를 추출할 선의 끝 지점입니다.
    • FILTER SIZE : 경계 추출 필터의 크기입니다. 큰 값일수록 흐릿한 경계를 인식하기 쉬워집니다.
    • THRESHOLD : 선 위의 지점을 경계로 인식하기 위한 최소 점수입니다.
    • DETECTION MODE : 경계로 인식하고자하는 색상 변화차이의 종류입니다.
      • any : 모든 색상 변화를 경계로 인식합니다.
      • dark-to-light : 어두운 색에서 밝은 색으로 바뀌는 지점만 경계로 인식합니다.
      • light-to-dark : 밝은 색에서 어두운 색으로 바뀌는 지점만 경계로 인식합니다.
    • INTERPOLATE : 가상의 선 위에서 경계값 인식을 할 때 서브 픽셀값 보간(subpixel interpolation)을 사용할지의 여부입니다.
  • DetectEdge : 관심영역 (ROI)로 지정한 영역 내에서 색상이 크게 바뀌는 직선 경계선을 인식합니다. 지정한 영역내에서 직선 경계선이 감지되면 해당 경계선의 각도도 함께 인식합니다. 각도값은 CheckAngle 모듈을 사용하여 검증할 수 있습니다.
    • FILTER SIZE : 경계 추출 필터의 크기입니다. 큰 값일수록 흐릿한 경계를 인식하기 쉬워집니다.
    • THRESHOLD : 선 위의 지점을 경계로 인식하기 위한 최소 점수입니다.
    • DETECTION MODE : 경계로 인식하고자하는 색상 변화차이의 종류입니다.
      • any : 모든 색상 변화를 경계로 인식합니다.
      • dark-to-light : 어두운 색에서 밝은 색으로 바뀌는 지점만 경계로 인식합니다.
      • light-to-dark : 밝은 색에서 어두운 색으로 바뀌는 지점만 경계로 인식합니다.
    • INTERPOLATE : 가상의 선 위에서 경계값 인식을 할 때 서브 픽셀값 보간(subpixel interpolation)을 사용할지의 여부입니다.
    • SEARCH LINES : 경계 인식에 사용할 가상의 선들의 수 입니다.
    • SHOW SEARCH LINES: 경계 인식을 위한 가상의 선들을 영상에 표시할지의 여부입니다.
  • DetectMarker : 제공된 마커의 3차원 위치를 인식합니다.
    • TYPE
      • maker : 툴 마커 인식
      • sheet : 캘리브레이션 시트 인식
  • DetectObject : 학습된 딥러닝 모델을 통해 한 가지 물체에 대해 인식합니다. 새로운 물체 학습은 고색센터로 문의바랍니다.
    • CONFIDENCE CUT : 감지 신뢰도의 하한선 (설정 값보다 신뢰도가 높은 감지 결과만 유효한 것으로 간주)
    • DETECTION NMS CUT : 설정 값보다 많이 겹치는 감지 결과는 신뢰도가 높은 것 하나만을 선택
    • REVERSE CHANNEL : 해당 옵션 선택 시 RGB 채널을 뒤집어 감지
    • RPN NMS CUT : 감지 시도할 영역의 겹침 정도의 상한선 (작을수록 서로 겹치는 다양한 영역에 대해 감지 시도)
    • SOYNET : 감지 및 로딩 속도를 가속시키는 딥러닝 솔루션 (모델 변환 시 시간이 걸리지만 한 번 변환 후에는 감지와 로딩 시간 대폭 감소)
    • MODEL : 대상 물체에 대해 학습된 모델 (고객 지원을 통해 공급)
  • MaskHSV : 특정 색조/채도/명도 영역을 물체로 인식합니다.
    • HUE, SATURATION, VALUE : 감지할 색조, 채도, 명도 값
      • HUE (색조) : 0~360의 값으로 큰 값일수록 빨강-노랑-파랑-보라 순서로 변화
      • SATURATION (채도) : 0~100의 값으로 색의 진함을 표현
      • VALUE (명도) : 0~100의 값으로 색의 밝기를 표현
    • DETECT NUM : 최대 감지 수
    • DETECT SIZE : 설정 값보다 픽셀 수가 많아야 감지
    • RANGE H, S, V : 감지할 색상 범위 (목표 색상 값의 위/아래로 해당 값 이내이면 물체로 감지)
    • SIZE CLOSE : 설정 값 만큼의 구멍은 무시하고 채워져있는 것으로 간주
    • SIZE OPEN : 설정 값 만큼의 노이즈는 무시하고 없는 것으로 간주
    • TOUCH : 화면을 터치하여 기준 HSV 값을 현재 터치한 영역의 값으로 설정
  • MaskRGB : 특정 색상 영역을 물체로 인식합니다.
    • BLUE, GREEN, RED : 감지할 색상 값
    • DETECT NUM : 최대 감지 수
    • DETECT SIZE : 설정 값보다 픽셀 수가 많아야 감지
    • RANGE B, G, R : 감지할 색상 범위 (목표 색상 값의 위/아래로 해당 값 이내이면 물체로 감지)
    • SIZE CLOSE : 설정 값 만큼의 구멍은 무시하고 채워져있는 것으로 간주
    • SIZE OPEN : 설정 값 만큼의 노이즈는 무시하고 없는 것으로 간주
    • TOUCH : 화면을 터치하여 기준 RGB 값을 현재 터치한 영역의 값으로 설정
  • MatchFeature : 특징점을 기반으로 물체를 감지합니다.
    • COUNT KPT : 하나의 물체를 감지하는데 사용할 특징점 수 (작을수록 감지가 쉽지만 정확도 감소)
    • DETECT NUM : 최대 감지 수
    • ERROR CUT : 유효한 감지로 간주할 에러의 상한선 (물체 감지가 안될 시 값 증가 필요하지만 정확도 다소 감소)
    • MATCH THRESH : 같은 특징점으로 간주하는 특징값 차이의 상한선 (클수록 더 많은 특징점을 찾지만 정확도 감소)
    • RANSAC NUM : 물체 찾기를 시도할 횟수 (클수록 감지 정확도는 증가하지만 속도 하락)
    • TEMPLATE : 감지할 대상 선택 (대상 물체의 이미지는 사전 저장 필요)
  • MatchRPT : Rotation Projection Transformation (RPT) 은 회전에 강건한 템플릿 인식 방법입니다. 각도와 상관없이 물체 감지가 가능하지만 정사각형에 가까운 템플릿을 필요로 합니다. 정사각형이 아닐 경우, 짧은 변을 기준으로 템플릿을 잘라 적용합니다.
    • ANGLE BINS : 각도 추정의 정확도 (36인 경우, 360도를 36개로 나누어 추정하므로 10도 내외의 정확도 확보 가능)
    • CONCORDANCE CUT : RPT 일치율의 하한선 (클수록 일치율이 높은 결과만 감지)
    • DETECT NUM : 최대 감지 수
    • REF SIZE : 견본 이미지를 축소/확대할 크기 (작게 축소할수록 속도가 상승하지만 정확도 감소)
    • TEMPLATE : 감지할 대상 선택 (대상 물체의 이미지는 사전 저장 필요)
  • MatchTemplate : 고전적인 템플릿 매칭을 통해 물체를 인식합니다.
    • CONCORDANCE CUT : 견본 이미지와 일치율의 하한선 (클수록 일치율이 높은 결과만 감지)
    • DETECT MODE : 물체 감지 방식
      • Rotation : 각도가 크게 다른 물체를 인식할 수 있는 모드입니다.
      • Classic : 0.5.0 버전 이하에서 사용되던 물체 감지 방식입니다. 견본 이미지와 각도가 크게 다른 물체는 감지할 수 없습니다.
    • DETECT NUM : 최대 감지 수
    • MAX OVERLAP : 감지된 물체들의 영역이 겹쳐있을 수 있는 최대 비율입니다. 값이 높을수록 영역이 많이 겹쳐진 물체들을 찾을 수 있습니다. DETECTION MODE가 Rotation일 때 사용됩니다.
    • REF SIZE : 견본 이미지를 축소/확대할 크기 (작게 축소할수록 속도가 상승하지만 정확도 감소)
    • TEMPLATE : 감지할 대상 선택 (대상 물체의 이미지는 사전 저장 필요)
  • OCR : 영상에서 글자를 감지합니다.
    • REGISTER : 현재 보이는 텍스트의 이름 등록
      • Gripper, If 등의 모듈을 뒤에 사용할 경우, 구분을 위해 이름 필요 (영문 텍스트만 등록 가능)
    • LANGUAGE : 선택된 언어의 텍스트 감지
  • ScanCode : 바코드와 QR 코드를 스캔합니다.
    • REGISTER : 감지된 코드에 대한 이름 등록
      • Gripper, If 등의 모듈을 뒤에 사용할 경우, 구분을 위해 이름 필요
    • NAME : 입력된 값이 해당 코드의 이름으로 지정 (공란일 경우, 인식된 코드의 텍스트 자체가 이름으로 지정)

Logic


  • Batch : 인식된 모든 물체에 대해 브랜치(아래쪽)의 파이프라인을 적용한 뒤, 다음 노드(오른쪽)로 진행합니다.
    • DROP FAIL : 해당 옵션을 활성화한 경우, 브랜치 파이프라인에서 검사에 탈락한 물체를 삭제
  • Get : Post 모듈에서 저장된 변수들을 불러옵니다.
    • KEY : 불러올 데이터의 이름 선택
  • GoTo : 그래프 상에 추가되어 있는 Join 노드로 이동합니다.
    • GO TO : 이동할 Join 노드의 이름 선택
  • If : 조건에 따라 다른 방향으로 진행합니다. 조건문이 참일 경우 Y 브랜치, 거짓일 경우 N 브랜치로 진행합니다.
    • KEY : 기준이 될 변수의 이름
      • target : 목표로 지정된 이름
      • name : 현재 물체에 지정된 이름
      • passed : 지금까지 검사에서 정상으로 판정되었는 지 표출
    • METHOD : 비교 방법, 동일(==), 다름(!=), 이상(>=), 이하(<=), 보다 큼(>), 보다 작음(<)
    • VALUE : 비교 기준 값
  • Join : GoTo 모듈에서 이동해 올 지점을 표시합니다.
    • NAME : 노드의 이름 입력
  • Post : 현재까지의 연산 결과를 저장합니다.
    • KEY : 저장할 변수의 이름 입력
    • VARIABLE : 어떤 값을 저장할 지 표출 (all 을 선택하여 전체 변수 저장하거나 특정 변수만 지정해 저장 가능, 리스트에는 앞쪽의 모듈들이 전달해주는 변수들만 표시)
  • Select : 인식된 물체 중 하나를 선택합니다. Detection 클래스의 모듈 이후에는 반드시 추가되어야 합니다.
    • KEY : 선택 기준, 인식점수 (score), 크기 (size), 카메라 기준 위치 (X,Y,Z-camera)
    • METHOD : 선택 방법 (기준 값이 가장 큰 물체 혹은 가장 작은 물체 선택 가능)
    • ON RETRIEVE : 해당 옵션을 활성화한 경우, 실행 명령은 여기서 끝나고 Conty 의 retrieve 명령이 해당 노드에서 시작 (한 번 선택된 물체는 지워지고 다음 명령에서는 다음 물체가 순차적으로 진행)
    • RUN RETRIEVE : retrieve 명령을 1회 실행합니다.
  • SubGraph : 저장된 그래프 중 하나를 불러와 실행합니다.
    • NAME : 불러올 그래프의 이름 (저장된 그래프 중 선택)
  • Switch : 여러 선택지로 갈라질 수 있는 경우, 파이프라인의 분기를 나타냅니다.
    • 선택지의 개수만큼 여러 개의 Switch 모듈을 아래쪽으로 이어붙인 후, 맨 위의 Switch 모듈에서 KEY 변수를 통해 기준 선택
    • Switch 마다 VALUE 지정, VALUE 에 따라 해당되는 Switch 의 오른쪽에 연결된 파이프라인 실행

Info


  • Label : 현재 인식된 물체에 이름을 부여합니다. Gripper, If 등의 모듈을 뒤에 사용할 경우, 구분을 위해 이름이 필요합니다.
    • NAME : 입력된 텍스트로 이름 지정
  • Pass : 현재 인식된 물체의 pass (검사 성공) 여부를 강제 지정합니다.
    • STATE : 선택된 상태가 강제 지정
  • Target : 인식 대상 물체를 지정합니다. Conty 에서 인식 대상을 지정하는 것과 동일한 명령이며, 이 모듈이 추가된 경우 Conty 에서 지정된 대상을 무시하고 모듈에서 지정한 대상을 인식합니다. 따라서 테스트용으로 이 모듈을 사용하더라도, Conty 와 연동하는 시점에서는 이 모듈을 삭제하십시오.
    • TARGET : 대상 선택

Segmentation


  • DilateMask : 인식된 영역을 주변으로 확장합니다.
    • SIZE DILATE : 해당 값을 조절해 인식된 영역을 확장
  • ErodeMask : 인식된 영역을 축소시킵니다.
    • SIZE ERODE : 해당 값을 조절해 인식된 영역을 축소
  • Fill : 인식된 영역 안쪽에 빈 영역이 많을 경우, 인식된 영역을 채웁니다. 안쪽으로 굴곡진 영역도 채워넣습니다.
  • GrabCut : 영역 분할 알고리즘입니다. 1초 정도 추가 시간이 소요되지만, 현재 인식된 영역을 중심으로 물체 영역을 보다 정확하게 분리해냅니다.
    • ITERATION : 알고리즘을 적용할 횟수 (여러 번 적용할수록 정확도는 증가하지만 속도는 하락)
    • RESIZE : 해당 비율로 축소해서 알고리즘 적용 (축소를 많이 할수록 속도는 상승하지만 정확도 감소)
    • SIZE CLOSE : 설정 값 만큼의 구멍은 무시하고 채워져있는 것으로 간주
    • SIZE DILATE : 현재 인식된 영역 주변으로 알고리즘을 적용할 범위 (너무 넓게 잡을 경우 다른 물체들의 영향 받음, 너무 좁을 경우 대상 물체를 다 포함하지 못할 수 있음)
  • MaskFromROI : 주어진 관심 영역 (roi_rect) 을 마스크로 그립니다.
  • Polygon : polygon 이라는 포인트 리스트를 입력 받아 마스크로 그립니다. 각 포인트는 (x,y) 값 쌍입니다.
  • RefineEdge : 이미지에서 경계선 (밝기가 급격히 변하는 부분) 을 감지해 영역을 보정합니다.
    • CANNY MAX : Canny 알고리즘의 파라미터, 설정 값보다 변화폭이 큰 경계선은 무조건 검출
    • CANNY MIN : Canny 알고리즘의 파라미터, 설정 값보다 변화폭이 작은 경계선은 무조건 무시
    • EDGE LENGTH : 유효한 경계선으로 처리할 최소 길이입니다. 노이즈를 무시하고 싶다면 이 값을 크게 하십시오.
    • SIZE DILATE : 현재 인식된 영역 주변으로 알고리즘을 적용할 범위 (너무 넓게 잡을 경우 다른 물체들의 영향 받음, 너무 좁을 경우 대상 물체를 다 포함하지 못할 수 있음)
    • SIZE ERODE : 현재 인식된 영역 안쪽으로 알고리즘을 적용할 범위 (현재 실제 물체보다 넓게 인식되어 있는 경우, 이 값을 크게 잡아서 보다 안쪽까지 체크 필요)
  • TrackMask : 감지된 영역의 이미지 상 속도를 측정해 모션 딜레이 만큼 오프셋 시킵니다.
    • SCAN RANGE : 감지된 영역 주변으로 이동을 감지할 범위입니다. (픽셀 단위)
    • MOTION DELAY : 오프셋 추가에 적용할 동작 딜레이 시간입니다. (ms 단위)
    • METHOD : 이미지 영역의 속도 계산에 사용할 알고리즘 방식입니다.
  • WaterShed : 기본적인 영역분할 알고리즘입니다.
    • SIZE DILATE : 현재 인식된 영역 주변으로 알고리즘을 적용할 범위 (너무 넓게 잡을 경우 다른 물체들의 영향 받음, 너무 좁을 경우 대상 물체를 다 포함하지 못할 수 있음)
    • SIZE ERODE : 현재 인식된 영역 안쪽으로 알고리즘을 적용할 범위 (현재 실제 물체보다 넓게 인식되어 있는 경우, 이 값을 크게 잡아서 보다 안쪽까지 체크 필요)

Inspection


  • CheckAngle : 인식된 물체의 각도를 검사합니다.
    • 물체의 각도가 ANGLE START 이상이면서 ANGLE END 이하인 경우 PASS로 처리됩니다.
      예시: (ANGLE START) 30 <= (물체 각도값) <= (ANGLE END) 50
    • 만약 ANGLE START가 ANGLE END보다 큰 경우에는 물체 각도값이 ANGLE START 이상이거나 ANGLE END 이하인 경우 PASS로 처리됩니다.
      예시: (ANGLE START) 350 <= (물체 각도값) 또는 (물체 각도값) <= (ANGLE END) 10
    • ANGLE START : 확인할 각도의 시작값입니다.
    • ANGLE END : 확인할 각도의 끝 값입니다.
  • CheckFeature : 특징점을 기반으로 물체를 검사합니다.
    • BEST MATCH COUNT : 하나의 물체를 감지하는데 사용할 특징점의 개수입니다. 작을수록 감지가 쉽지만, 정확도는 떨어집니다.
    • DETECT NUM : 감지할 물체의 최대 수 입니다.
    • ERROR CUT : 유효한 감지로 간주할 에러의 상한선입니다. 물체가 감지되지 않는다면 이 값을 키워보세요, 다만 정확도는 떨어질 수 있습니다.
    • MATCH THRESH : 같은 특징점으로 간주하는 특징값 차이의 상한선입니다. 이 값이 클수록 더 많은 특징점을 찾지만, 그 만큼 정확도는 떨어집니다.
    • TEMPLATE : 감지할 대상을 선택하세요. 대상 물체의 이미지는 사전에 저장해 두어야 합니다.
  • CheckHSV : 인식 영역의 색조, 채도, 명도 값으로 색상을 검사합니다.
    • HUE, SATURATION, VALUE : 감지할 색조, 채도, 명도 값
      • HUE (색조) : 0~360의 값으로 큰 값일수록 빨강-노랑-파랑-보라 순서로 변화
      • SATURATION (채도) : 0~100의 값으로 색의 진함을 표현
      • VALUE (명도) : 0~100의 값으로 색의 밝기를 표현
    • MODE : 색상 값을 추출하는 방식, average (영역 내부 평균), center (영역 중심점의 값을 기준으로 검사)
    • RANGE H, S, V : 허용 오차 (기준 색상 값의 위/아래로 범위 이내에 들 경우, 정상으로 표시)
    • TOUCH : 화면을 터치하여 기준 HSV 값을 현재 터치한 영역의 값으로 설정
  • CheckLoc : 인식된 물체 영역의 픽셀 위치를 검사합니다.
    • X MIN, X MAX : X 축 최소, 최대 값입니다.
    • Y MIN, Y MAX : Y 축 최소, 최대 값입니다.
  • CheckNumeric : 숫자 형식의 값을 기준치와 비교합니다.
    • VARIABLE : 비교할 값의 변수 이름
    • REF VALUE : 기준치
    • TOLERANCE : 허용 오차
  • CheckRGB : 인식 영역의 RGB 값으로 색상을 검사합니다.
    • BLUE, GREEN, RED : 검사 기준 색상 값
    • MODE : 색상 값을 추출하는 방식, average (영역 내부 평균), center (영역 중심점의 값을 기준으로 검사)
    • RANGE B, G, R : 허용 오차 (기준 색상 값의 위/아래로 범위 이내에 들 경우, 정상으로 표시)
    • TOUCH : 화면을 터치하여 기준 RGB 값을 현재 터치한 영역의 값으로 설정
  • CheckRadius : 인식 영역의 반지름을 확인합니다.
    • INLIER RATIO : 정산 인식되기 위한 최소 인라이어 비율입니다.
    • ITER COUNT : RANSAC 알고리즘을 반복하는 횟수입니다.
    • R MIN, R MAX : 정상 인식되기 위한 반지름 값 범위입니다.
    • SAMPLE NUM : RANSAC 알고리즘으로 원을 피팅하기 위해 샘플링하는 가장자리 포인트의 수 입니다.
    • TOLERANCE : 인라이어가 되기 위한 최대 에러입니다.
  • CheckTemplate : 고전적인 템플릿 매칭을 통해 물체를 검사합니다. 대상의 크기와 각도가 견본 이미지와 크게 다르지 않다고 가정합니다.
    • CONCORDANCE CUT : 견본 이미지와의 일치율의 하한선입니다. 클 수록 일치율이 높은 결과만 감지합니다.
    • REF SIZE : 견본 이미지를 축소/확대할 크기입니다. 작게 축소할수록 속도가 빨라지지만, 정확도는 낮아집니다.
    • TEMPLATE : 감지할 대상을 선택하세요. 대상 물체의 이미지는 사전에 저장해 두어야 합니다.
  • Circularity : 인식 영역의 진원도를 확인합니다.
    • CUT : 설정 값보다 진원도가 높을 경우, 정상으로 표시
  • CompareText : OCR, ScanCode 등에서 인식된 텍스트를 비교 검사합니다.
    • REGISTER : 현재 인식된 텍스트를 비교 기준 텍스트 목록에 저장합니다.
    • CUSTOM REGISTER : IndyEye 인식기능을 통하지 않은 커스텀 텍스트를 작성할 수 있습니다. REGISTER 버튼을 눌러야 비교 기준 텍스트 목록에 등록됩니다.
    • METHOD : 비교 방법
      • 동일(==), 다름(!=)
      • VALUE CONVERSION 을 설정하지 않은 경우: 텍스트가 포함됨(contains), 텍스트 시작에 있음(startswith), 텍스트 끝에 있음(endswith)
      • VALUE CONVERSION 이 int/float/length 중 하나인 경우: 이상(>=), 이하(<=), 보다 큼(>), 보다 작음(<)
    • VALUE : 비교 기준, 저장된 텍스트 중에서 선택 가능
    • VALUE CONVERSION : 값 변환 형식입니다. 설정된 경우 인식된 텍스트와 비교 기준 텍스트를 설정한 형식으로 변환한 뒤 비교합니다.
  • FitShape : 인식된 영역이 특정 도형이 맞는지 확인합니다.
    • ASPECT CUT : 원 혹은 정각형이 아닐 경우 종횡비의 상한선
    • BURR LIMIT : 면적 대비 틀린 픽셀 비율의 상한선
    • SHAPE : 기준 도형 선택
      • ellipse : 타원
      • triangle : 삼각형
      • tetragon : 사각형
      • pentagon : 오각형
      • hexagon : 육각형
      • heptagon : 칠각형
      • octagon : 팔각형
  • SqrtArea : 인식된 영역의 넓이를 검사합니다. 넓이 값의 제곱근을 기준으로 검사합니다. 인식된 영역이 REF SIZE 를 기준으로 RANGE 이내의 범위에 들 경우, 정상으로 판단합니다.
    • RECORE : 현재 마스크 넓이의 제곱근 값을 기록

Orientation


  • DirectTo : 대상 물체 내부나 주변에서 기준점을 찾아 방향을 정렬합니다. 브랜치에 기준점을 탐색할 알고리즘 파이프라인을 추가해 기준점을 찾으십시오.
    • ALIGN OBJECT AXIS : 기준점 방향으로 정렬할 물체의 축, X 축 (붉은색), Y 축 (초록색)
    • CROP MASK : 해당 옵션을 활성화한 경우, 현재 인식 영역 주변만을 잘라내어 기준점으로 탐색 (불필요한 연산 속도 개선)
  • MatchEdge : 이미지 상의 경계선들을 기준으로 입력 이미지와 견본 이미지가 일치하게 되는 위치와 각도를 찾습니다. 템플릿을 사용한 감지 (MatchFeature, MatchRPT, MatchTemplate) 가 반드시 선행되어야 합니다. 물체 각도의 초기값을 angle_object 라는 변수로 입력해줄 수도 있습니다. MatchFeature, MatchRPT 의 경우 초기값을 기본 생성해 전달해줍니다.
    • CANNY MAX : Canny 알고리즘의 파라미터, 설정 값보다 변화폭이 큰 경계선은 무조건 검출
    • CANNY MIN : Canny 알고리즘의 파라미터, 설정 값보다 변화폭이 작은 경계선은 무조건 무시
    • GAIN ROT : 물체 각도를 보정해나가는 속도 (너무 클 경우 정답 각도를 놓치고 지나갈 수 있으니 주의 필요)
    • GAIN XY : 물체 위치를 보정해나가는 속도 (너무 클 경우 정답 위치를 놓지고 지나갈 수 있으니 주의 필요)
    • ITER NUM : 추정을 반복할 횟수 (반복을 여러 번 할수록 정확하지만 소요 시간 증가)
  • PCA : 주성분 분석 (Principal Component Analysis) 을 사용하여 감지된 영역의 긴 축을 기준으로 물체 각도를 추정합니다.
    • ALIGN OBJECT AXIS : 긴 축에 일치시킬 물체의 축, X 축 (붉은색), Y 축 (초록색) 중 선택하여 감지 영역의 긴 방향으로 정렬
    • ALIGN CAM AXIS : 정렬된 축이 향할 방향, 상하좌우, 사전 값 (Prior) 중 선택 가능
    • DIRECTED OBJECT : 삼각형과 같이 방향이 있는 물체의 경우 사용, 정렬되는 축이 뾰족한 쪽을 향함
  • Rotate : 대상 물체의 X 축 (붉은색) 방향을 결정합니다.
    • ANGLE : 각도 입력
    • REFERENCE : 각도의 기준, 이전에 계산된 각도 기준 회전 (relative), 절대값으로 지정 (absolute) 중 선택 가능

Pose


  • FitPlane : 감지된 물체의 3차원 위치를 작업 평면에 맞춰 계산합니다.
    • FLOOR OFFSET : 작업 평면으로부터 위 방향으로의 오프셋 (mm 단위)
  • Silhouette2D : 감지된 영역과 3D 모델의 실루엣을 비교해 정확한 물체 자세를 찾습니다. 물체의 name 과 동일한 이름의 CAD 파일이 CAD LIST 에 추가되어야 합니다. 물체의 Z 방향이 직업 평면에 수직이 되게 놓여있다는 전제가 적용됩니다.
    • AVAILABLE CADS : 사용 가능한 3D 모델 목록, 모델 선택 후 ADD TO LIST 버튼으로 모델 등록 (새로운 3D 모델은 우측 상단의 DB 버튼을 눌러 웹을 통해 업로드)
    • CAD LIST : 현재 모듈에 등록된 모델의 목록 표시
    • FLOOR OFFSET : 작업 평면으로부터 위쪽으로의 오프셋 (mm 단위)
    • IOU CUT : 성공으로 파단하는 실루엣 일치도의 하한선 (설정 값보다 낮은 정도로 일치할 경우 자세 추정 실패)
    • ROT RANGE : 물체가 회전할 수 있는 각도 범위 (사전에 주어진 각도 위/아래 범위 내에서 정확한 자세 탐색)
    • TRACK ITER : 자세 추정의 해상도 (클수록 정확하지만 느림)
    • TRACK SCALES : 자세 추정 반복 횟수 (한 번의 주정 결과를 기반으로 범위를 좁히고, 좁혀진 범위에서 다시 추정 수행)
  • ICP : 감지된 영역의 깊이 지도와 3D 모델을 비교해 정확한 물체 자세를 찾습니다. 물체의 name과 동일한 이름의 CAD 파일이 CAD LIST에 추가되어야 합니다.
    • CAD NAME : 마스킹된 깊이 지도와 매칭 시도할 캐드 모델의 이름.
    • INIT RESOLUTION : 피쳐 기반 초기화의 해상도 (mm).
    • MAX PAIR DIST : 매칭 되는 포인트간의 최대 거리 (mm).
    • FITNESS CUT : 모델 포인트 수 대비 매치된 포인트 수의 비율의 커트라인.
    • RMSE CUT : 매치된 포인트쌍간의 Root mean square 에러(mm).
    • DOWN RESOLUTION : 센서 입력된 깊이 지도를 다운샘플링할 해상도 (mm)
    • USE AXIS : 입력된 축 기준으로 자세를 초기화 합니다
    • AXIS UP : 위쪽으로 초기 정렬 할 물체 좌표계 축
    • AXIS RIGHT : 오른쪽으로 초기 정렬 할 물체 좌표계 축
  • Offset : 감지된 물체의 3차원 위치를 설정한 값만큼 오프셋 합니다.
    • DX, DY, DZ : 오프셋 할 X, Y, Z값 (mm 단위)
    • REFERENCE : 오프셋을 적용할 좌표계

Data


  • Load : 디스크에 저장된 연산 결과를 불러옵니다.
    • FILENAME : 불러올 파일 선택
    • IMAGE ONLY : 해당 옵션을 활성화한 경우, 이미지만 불러 옴
  • LoadImage : 디스크에 저장된 연산 결과를 불러옵니다.
    • FILENAME : 불러올 이미지 선택
  • Save : 디스크에 연산 결과를 저장합니다.
    • CONDITION : 데이터 저장 조건, 항상, 혹은 검사 통과/실패 선택 가능
    • FILENAME : 저장할 이름 입력
    • MAX COUNT : 저장되는 데이터 최대 개수
    • SUFFIX : 데이터 여러 개 저장 시 뒤에 붙일 구분자, 증가하는 자연수, 혹은 날짜와 시간 선택 가능
  • SaveImage : 디스크에 현재 이미지를 저장합니다. 저장된 이미지는 템플릿을 사용한 감지 알고리즘 등에서 TEMPLATE 으로 사용됩니다.
    • FILENAME : 저장할 이름 입력

Workspace


  • CheckWorkspace : 워크스페이스 안에 들어가 있는지를 확인합니다.
  • SetWorkspace : 저장된 작업 공간을 불러옵니다.
    • WORKSPACE : 불러올 작업 공간 선택

Action


  • Gripper : 각 물체에 대한 파지 자세를 교시합니다.




  • CorrectSpace : 그래프의 맨 마지막에 추가할 경우, 인식 결과인 파지 위치에 보정을 수행합니다.
    • TRY 버튼 : 그래프를 실행하고 파지 동작을 1회 수행합니다.
    • RECORD 버튼 : 현재 위치 오차를 기록합니다. TRY 버튼 수행 후 직접교시 혹은 조그 기능을 통해 틀어진 위치를 바로 잡은 뒤 RECORD 버튼을 눌러 오차를 기록합니다.
    • REMOVE 버튼 : 가장 최근에 추가한 기록을 삭제합니다.
    • DISPLAY 버튼 : 화면상에 현재 기록된 위치별 오차를 표시합니다. 추후 그래프 실행 시, 기록된 위치 사이의 보간을 통해 오차를 보정합니다.