그래프 모듈 리스트
본 장에서는 인디아이 앱의 각 그래프 클래스의 모든 모듈에 대해 상세히 설명합니다. 그래프 모듈별 설명은 인디아이 앱의 모듈 도움말을 통해서도 확인할 수 있습니다. 인디아이 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 : 임계값을 설정합니다.
- METHOD : 이진화 방식입니다.
- 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 : 화면을 터치하여 관심 영역 설정
- POLYGON POINTS : 4개 점의 x,y 좌표를 0.0~1.0 사이로 표시한 값
- 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 : 캘리브레이션 시트 인식
- TYPE
- 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 값을 현재 터치한 영역의 값으로 설정
- HUE, SATURATION, VALUE : 감지할 색조, 채도, 명도 값
- 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 : 선택된 언어의 텍스트 감지
- REGISTER : 현재 보이는 텍스트의 이름 등록
- ScanCode : 바코드와 QR 코드를 스캔합니다.
- REGISTER : 감지된 코드에 대한 이름 등록
- Gripper, If 등의 모듈을 뒤에 사용할 경우, 구분을 위해 이름 필요
- NAME : 입력된 값이 해당 코드의 이름으로 지정 (공란일 경우, 인식된 코드의 텍스트 자체가 이름으로 지정)
- REGISTER : 감지된 코드에 대한 이름 등록
Logic
- Batch : 인식된 모든 물체에 대해 브랜치(아래쪽)의 파이프라인을 적용한 뒤, 다음 노드(오른쪽)로 진행합니다.
- DROP FAIL : 해당 옵션을 활성화한 경우, 브랜치 파이프라인에서 검사에 탈락한 물체를 삭제
- Get : Post 모듈에서 저장된 변수들을 불러옵니다.
- KEY : 불러올 데이터의 이름 선택
- GoTo : 그래프 상에 추가되어 있는 Join 노드로 이동합니다.
- GO TO : 이동할 Join 노드의 이름 선택
- If : 조건에 따라 다른 방향으로 진행합니다. 조건문이 참일 경우 Y 브랜치, 거짓일 경우 N 브랜치로 진행합니다.
- KEY : 기준이 될 변수의 이름
- target : 목표로 지정된 이름
- name : 현재 물체에 지정된 이름
- passed : 지금까지 검사에서 정상으로 판정되었는 지 표출
- METHOD : 비교 방법, 동일(==), 다름(!=), 이상(>=), 이하(<=), 보다 큼(>), 보다 작음(<)
- VALUE : 비교 기준 값
- KEY : 기준이 될 변수의 이름
- 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 : 확인할 각도의 끝 값입니다.
- 물체의 각도가 ANGLE START 이상이면서 ANGLE END 이하인 경우 PASS로 처리됩니다.
- 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 값을 현재 터치한 영역의 값으로 설정
- HUE, SATURATION, VALUE : 감지할 색조, 채도, 명도 값
- 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 버튼 : 화면상에 현재 기록된 위치별 오차를 표시합니다. 추후 그래프 실행 시, 기록된 위치 사이의 보간을 통해 오차를 보정합니다.