총 183 건
1. 프로그램 레이아웃 프로그램 UI 레이아웃 툴 바 빛 메뉴 : 영상 취득, 스크립트 로드, 이미지 저장 등의 메뉴 모듈 : 보드 및 카메라 설정을 하기 위한 디바이스 리스트 표시 파라미터 : 연결된 보드와 카메라의 파라미터 값 표시 및 제어 2. Contiunuous 영상 취득 방법 Continuous 영상 취득 카메라를 연결 후 프로그램 실행을 실행 합니다. Devices 모듈에서 CameraModel -> CameraControlMethod를 NC로 설정합니다. Remote Devices 모듈에서 AcquisitionControl -> TriggerMode를 Off로 설정합니다. 상단 메뉴에서 "Start Stream"을 클릭합니다. 3. 이미지 저장하기 이이미 저장 고정 경로 이미지 저장 우측 상단 를 클릭하여 저장경로 설정을 합니다. 이미지의 확장자는 처럼 텍스트를 수정하여 변경이 가능합니다. 저장 경로 설정 후 를 클릭하면 취득된 이미지가 저장됩니다. 지정 경로 이미지 저장 이미지 화면을 우클릭하여 Save Display Image As를 클릭합니다. 저장 경로를 설정하고 파일 형식에서 이미지의 확장자를 변경하여 저장이 가능합니다. 4. Immediate 영상 취득방법 Immediate 영상 취득 Devices 모듈에서 하기 파라미터를 수정합니다. CameraControlMethod : RG ExposureReadoutOverlap : True ExposureRecoveryTime : 100us CycleMinimumPeriod : 4200us (STC-MBS212CXP6 기준) RemoteDevices 모듈에서 다음 파라미터를 수정합니다. (Sentech 카메라 기준이며 타사 카메라 사용 시 명칭이 다를 수 있음) TriggerMode : On TriggerSource : LinkTrigger0 TriggerOverlap : ReadOut ExposureMode : Timed or TriggerWidth Timed : 카메라에서 노출 제어 TriggerWidth : 보드에서 노출 제어 상단 메뉴에서 "Start Stream" 을 클릭합니다. 5. SW Trigger 영상 취득 방법 SW Trigger 영상 취득 기본 설정을 Immediate Trigger와 동일하게 설정 합니다 Device 모듈 -> CycleTriggerSource -> StartCycle로 설정합니다. 상단 메뉴에서 "Start Stream"을 클릭합니다. Devices -> CycleControl -> StartCycle의 Command 버튼을 클릭하여 이미지를 취득합니다. 6. HW Trigger 영상 취득 방법 HW Trigger 영상 취득 기본 설정을 Immediate Trigger와 동일하게 설정합니다. Device 모듈 -> CycleTriggerSource -> LIN1로 설정합니다. Interfaces 모듈 IOToolBox -> LineInputTool LineinputToolSelector : LIN! LineinputToolSource : IIN11 상단 메뉴에서 "Start Stream"을 클릭합니다. Hardware Trigger 신호를 인가하여 이미지를 취득합니다.
2022.10.261. 프로그램 UI 레이아웃 UI 레이 아웃 탭 오픈소스 : 연결한 카메라의 목록이 표시 카메라 뷰 : 카메라의 영상이 표시 파라미터 및 기능 설정 : 카메라 설정을 할 수 있는 파라미터 및 기능 표시 기능 메뉴 : 카메라 영상, 레코더, 파라미터 등 메뉴 표시 2. 카메라 연결 방법 연결 방법 eGrabber Studio를 실행 합니다. Sources 목록에 연결한 카메라의 interface를 선택합니다. (해당 메뉴얼에서는 Coaxlink 선택) eGrabbers 목록에 연결 된 카메라의 Stream0를 클릭한 후 "Open"을 클릭합니다. ※ Gigelink 및 Recorder containers를 사용하려면 각각의 라이센스가 필요합니다. 3. Buffer Queue 설정 방법 Buffer Queue 설정 기본값은 Continuous모드이므로 Conticuous영상이 필요한 경우 설정하지 않습니다. 설정한 수 만큼 이미지를 보려면 Replay Count를 Buffer Count와 동일한 값으로 설정합니다. Continuous모드 처럼 지속적인 이미지를 보려면 Replay Count를 Buffer Count 보다 작은 값으로 설정합니다. 설정 후에는 반드시 "Apply"를 클릭해야 적용됩니다. Buffer Count : eGrabber Studio 필드 전용 메모리 공간에 할당할 버퍼 수 Replay Count : 필드에 저장된 이미지를 표시하기 위해 대기열에 예약될 버퍼 수 ※ Browse buffer queue 스크롤을 이동하면 취득한 이미지를 볼 수 있습니다. 4. Continuous 영상 취득 방법 5. 이미지 저장 하기 저장 방법 이미지를 저장할 경로를 을 클릭하여 지정합니다. 저장할 이미지의 확장자를 선택 후 을 클릭하여 저장합니다. 6. 레코더 저장 및 확인 방법 레코더 저장 및 확인 레코더를 저장할 경로를 을 클릭하여 지정합니다. 저장할 레코더 파일의 크기를 지정합니다. (무분별한 PC 저장공간 사용 방지) 을 클릭하여 레코더를 생성합니다. 을 클릭하여 녹화를 시작 후 이미지를 취득하면 생성한 레코더 파일에 버퍼가 저장됩니다. 녹화를 완료 하면을 클릭하여 레코더를 닫습니다. ※ 레코더 기능을 사용하려면 레코더 라이센스가 필요합니다. 탭 오픈소스 영역에서 "+" 을 클릭합니다. Sources 목록에서 Recorder Containers를 클릭합니다. Recent 목록에서 앞서 생성한 레코더를 선택 후 "open"을 클릭합니다. Record 스크롤로 저장된 버퍼를 확인할 수 있으며, Range를 설정하여 원하는 버퍼를 .tiff 이미지 및 .mkv 동영상으로 저장이 가능합니다. 저장방법은 File type, Format, Range 를 설정 후 Name을 지정하고 "Export"를 클릭합니다. 7. JS 파일 적용 방법 을 클릭하여 PC에 저장되어있는 JS파일을 Load합니다. "Run"을 클릭하여 JS파일을 적용합니다. 정상적으로 적용이 될 경우 우측 아래 이미지(정상적용)와 같이 표시됩니다. 어떠한 에러로 인하여 적용이 되지 않을 경우 우측 아래 이미지(에러)와 같이 표시됩니다. ※ 에러가 발생한 경우 JS파일을 올바르게 수정 후 다시 적용하여 사용합니다.
2022.10.261. 기초 용어 설명 기초 용어 ROI(Region Of Interest) 이미지에서 학습할 영역을 표시하는 기능입니다. ROI로 지정하여 학습할 경우, 검사 이미지도 ROI 크기와 동일해야 합니다. Mask 이미지에서 학습에 사용하지 않는 영역을 표시하는 기능입니다. Labeling 이미지에서 검출하고 싶은 부분을 표시하는 기능입니다. 데이터 세트(Dataset) Train: 학습에 사용되는 훈련용 이미지 Validation: 학습 중 모델의 검증에 사용되는 이미지(과적합 방지) Test: 학습 후 모델의 성능을 평가하기 위해서만 사용되는 이미지 데이터 증강(Data augmentation) 원래 데이터 집합의 이미지에 랜덤 변환을 생성하여, 훈련 데이터 세트에 없는 기하학적, 밝기, 노이즈 차이에 대해 강인(robust)하게 만듭니다. 과적합 모델이 학습 데이터를 과하게 학습하여, 학습 데이터 내에서는 분류를 잘 하지만 새로운 데이터 내에서는 성능이 떨어지는 상황을 의미 합니다. 학습 이미지 수가 부족하여 iteration을 과하게 높일 경우 발생할 수 있습니다. 반복(iteration) Training dataset의 모든 이미지를 한 번 진행하는 것을 의미합니다. 기본 값은 50이며, 반복 횟수가 많을수록 더 좋은 결과를 얻을 수 있으나 과적합(overfitting)에 주의해야 합니다. Patch Size Neural network에서 처리하는 패치의 크기입니다. 학습하는 데이터의 양을 늘리기 위해 한 장의 이미지를 조각 내는데, 이 조각의 단위를 패치(patch)라고 합니다. Batch Size 학습에 사용되는 이미지의 묶음 단위를 의미합니다. 배치 크기가 크면 GPU에서 단일 반복 처리 속도가 증가하지만 더 많은 메모리가 필요합니다. 기본적으로 배치 크기는 사용 가능한 메모리에 대해 최적으로 결정됩니다. AUC-ROC Curve ROC(Receiver Operating Characteristic): 분류 모델의 성능을 보여주는 그래프 AUC(Area Under the Curve): ROC 곡선 아래의 영역을 의미하며, 이 값이 높다는 것은 클래스를 구별하는 모델의 성능이 훌륭하다는 것을 의미 TPR(True Positive Rate): 맞게 예측한 비율 FPR(False Positive Rate): 잘못 예측한 비율 AUC-ROC 해석 방법 ROC Curve가 좌상단에 가까워질수록 그룹을 더 잘 구별할 수 있는 모델이라고 해석할 수 있습니다. 2. UI 설명 UI 설명 - 프로젝트 선택 화면 Deep Learning Studio를 실행하면 프로젝트 파일을 불러오는 창이 표시됩니다. 기준 프로젝트 파일의 불러오려면 "Open" 버튼을 클릭합니다. 신규 프로젝트를 생성하려면 "New" 버튼을 클릭합니다. "Open" 버튼을 클릭하면 오른쪽 그림과 같이 프로젝트 파일 선택 화면이 표시됩니다. 불러올 프로젝트 파일을 선택합니다. "New" 버튼을 클릭하면 오른쪽 그림과 같이 프로젝트 생성 화면이 표시됩니다. 애플리케이션에 적합한 알고리즘을 선택하여 프로젝트를 생성합니다. UI 설명 - Dataset and annotations 라벨 및 라벨에 따른 이미지를 관리하는 탭입니다. 해당 탭에서 ROI, Masking , Segmentation, Object 설정을 수행합니다. UI 설명 - Dataset split 데이터 세트의 이미지를 비율에 따라 Training / Validation / Test로 나눕니다 다수의 Split을 생성하면 Tools 탭에서 특정 Split을 선택하여 학습할 수 있습니다. UI 설명 - Data augmentation 설정한 조건에 따라 데이터를 랜덤하게 증강합니다. "Add, Remove" 버튼을 클릭하여 다수의 augmentation 조건을 관리할 수 있습니다. 이 목록은 추 후 학습할 때 사용됩니다. 오른쪽 그롬과 같이 Lower / Upper/ Random 버튼을 클릭하여 조건이 적용될 때 예상 이미지를 미리 볼 수 있습니다. 이미지가 실제 발생 가능한 경우로만 설정하는 것이 좋습니다. UI 설명 - Tools 모델을 학습하기 위한 툴을 관리하는 메뉴입니다. "Add, Import, Export, Remove" 버튼을 클릭하여 생성, 제거, 불러오기, 내보내기가 가능합니다. Dataset split 항목에서 이전 단계에서 생성된 split 항목을 선택할 수 있습니다. Data augmentation 항목에서, 이전단계에서 생성한 augumentation 항목을 선택할 수 있습니다. "Train" 버튼을 클릭하여 학습을 진행합니다. 다수의 Toold을 추가하여 순차적 학습이 가능합니다. UI 설명 - Validation and results 학습된 모델을 평가하는 메뉴입니다. 알고리즘에 따라 표시되는 화면이 다릅니다. UI 설명 - Inference tests 학습된 모델을 선택하고 검사할 이미지를 불러와 테스트하는 메뉴 입니다. 알고리즘에 따라 표시되는 화면이 다릅니다. 3. NVIDIA GPU 환경 설정 지원되는 GPU 환경 Open eVision Deep Learing은 NVDIA GPU만 지원합니다. 지원되는 GPU geForce GTX 900 series, GTX 1000 series, Titan serires, RTX 2000 series Quadro M series, P series, RTX series Telsa K40, K80, M series, P series, V100, T4 NVIDIA CUDA 리소스를 다운로드 합니다. NVIDIA CUDA® Toolkit version v11.1 NVIDIA CUDA® Deep Neural Network library (cuDNN) v8.1 지원되는 GPU 환경 설정 절차 NVIDIA CUDA® Toolkit v11.1을 기본 경로로 설치합니다. 기본 경로: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1 다운로드한 NVIDIA CUDA® Deep Neural Network library (cuDNN) v8.1의 압축을 해제합니다. 압축 해제 후 각 폴더(bin, include, lib)의 파일을 아래 경로에 복사합니다. bin\cudnn64_11.dll > C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin include\cudnn.h > C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include lib\x64\cudnn.lib > C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\lib\x64 Deep Learning Studio 실행 후 프로그램 상단에 아래와 같이 GPU가 표시되는지 확인합니다. 4. EasyClassify EasyClassify "New" 버튼을 클릭하여 EasyClassify 프로젝트를 생성합니다. 프로젝트의 이름과 경로를 선택 한 후 "OK" 버튼을 클릭합니다. EasyClassify - Dataset and annotations "Add label" 버튼을 클릭하여 라벨을 추가합니다 "라벨 별로 가중치 (Weight)를 설정할 수 있으며, 특정 라벨의 가중치가 높을 경우 해당 라벨의 검출력을 높입니다. "Add Images" 버튼을 클릭하여 이미지를 추가하고, 이미지에 라벨을 지정할 수 있습니다. EasyClassify - Dataset Split "New" 버튼을 dataset split 항목을 생성합니다. 이름과 Training / Validation / Test 의 비율을 설정하고 "OK" 버튼을 클릭합니다. EasyClassify - Data augmentation "Add" 버튼을 클릭하여 Augmentation 항목을 추가 합니다. 예상 가능한 이미지 조건을 설정합니다. EasyClassify - Tools - Classifier properties1 "Add" 버튼을 클릭하여 Tools 항목을 추가합니다. Capacity: 학습할 수 있는 정보의 양을 의미합니다. Small: 메모리가 훨씬 작고 추론 속도가 빠릅니다. Large: 복잡한 데이터 세트를 처리할 수 있으며 노이즈가 많은 데이터 세트에도 적합합니다. Use pretrained model 사전 훈련된 모델을 사용하면 적은 데이터 세트로 정확도를 높일 수 있습니다. Compute the heatmap 예측에 가장 많이 기여한 이미지의 픽셀을 나타냅니다. 활성화 시 분류 시간이 약간 증가합니다. EasyClassify - Tools - Classifier properties2 Width, Height 속도를 위해 이미지에서 분류할 내용이 사라지지 않는 가장 작은 해상도를 사용하는 것이 좋습니다. 최소 해상도는 128x128이며, 분류기는 256x256 ~ 512x512 사이의 해상도에 최적화되어 있습니다. Image type 색상이 중요하지 않은 경우 흑백 이미지를 사용합니다. 흑백 이미지를 사용하면 훈련 및 분류에 약간 더 빠릅니다. Enable histogram equalization 모든 이미지의 히스토그램이 정규화됩니다. Enable automatic image reformat 이미지의 크기를 자동으로 조정하고, 위에서 정의한 분류 기준 해상도와 이미지 유형으로 변환합니다. EasyClassify - Tools - Dataset split 이전 단계에서 설정한 Dataset split 항목을 선택합니다. 또는 "New random Split" 버튼을 클릭하여 새로 생성합니다. EasyClassify - Tools - Training settings Number of iterations 기본 값은 50이며, 학습을 위해 필요 시 수치를 증가합니다. 단, 과적합에 주의합니다. Batch size 학습에 사용되는 이미지의 묶음 단위를 의미합니다. Optimize 사용을 권장합니다. Data augmentation 이전 단계에서 설정한 Data augmentation 항목을 선택합니다. Deterministic training 해당 옵션은 결정론적 알고리즘을 사용하기 때문에 학습이 느려질 수 있습니다. EasyClassify - Validation and results Tool 이전 단계에서 학습한 분류기를 선택합니다. Metrics 가중치 오류 및 정확도와 True labels에 표시된 이미지를 확인 할 수 있습니다. EasyClassify - Inference tests "Add Image , Add folder" 버튼을 클릭하여 이미지를 추가합니다. Tool 이전 단계에서 학습한 분류기를 선택합니다 버튼을 클릭하여 검사를 수행합니다. Results 탭에서 처리 시간과 예측 결과를 확인 할 수 있습니다. 5. EasySegment EasySegment "New" 버튼을 클릭하여 EasSegment Supervised 프로젝트를 생성합니다. 프로젝트의 이름과 경로를 설정한 후 "OK"버튼을 클릭합니다. EasySegment - Dataset and Annotations "Add label" 버튼을 클릭하여 라벨을 추가합니다. Background는 OK를 , Defect는 결함이 있는 라벨을 의미합니다. 라벨 별로 가중치 (Weight)를 설정할 수 있으며 , 특정 라벨의 가중치가 높을 경우 해당 라벨의 검출력을 높입니다. "Add Images" 버튼을 클릭하여 이미지를 추가하고 , 이미지에 라벨을 지정할 수 있습니다. EasySegment - Dataset and annotations - Labeling 라벨링이 필요한 이미지를 선택합니다 "Segmentation" 버튼을 클릭하면 툴 바가 표시됩니다 "Segmentation"을 체크하고 라벨을 선택한 다음, 도형을 선택하여 라벨을 지정합니다. EasySegment - Dataset Split "New" 버튼을 dataset split 항목을 생성합니다. 이름과 Training / Validation / Test의 비율을 설정하고 "OK" 버튼을 클릭합니다. EasySegment - Data augmentation "Add" 버튼을 클릭하여 Augmentation 항목을 추가합니다. 예상 가능한 이미지 조건을 설정합니다. EasySegment - Tools - Supervised segmenter properties1 "Add" 버튼을 클릭하여 Tools 항목을 추가합니다. Capacity : 학습할 수 있는 정보의 양을 의미합니다. Small : 메모리가 훨씬 작고 추론 속도가 빠릅니다. Large : 복잡한 데이터 세트를 처리할 수 있으며 노이즈가 많은 데이터 세트에도 적합합니다. Sampling density 패치 추출 간격을 의미합니다. 1은 겹치는 부분이 없는 것을 의미하고, 2는 절반이 겹치는 것을 의미합니다. 이미지 처리 시간은 sampling density의 제곱 만큼 느려집니다. EasySegment - Tools - Supervised segmenter properties2 Path size 기본적으로 패치 크기는 학습 데이터 세트의 이미지 크기에 따라 자동으로 결정됩니다. Scale Down-scaling 수치를 입력합니다. 1보다 작은 수치는 처리 속도가 빨라집니다. EasySegment - Tools - Dataset Split 이전 단계에서 설정한 Dataset split 항목을 선택합니다. 또는 "New random split" 버튼을 클릭하여 새로 생성합니다. EasySegment - Tools - Training settings Number of iterations 기본 값은 50이며, 학습을 위해 필요 시 수치를 증가합니다. 단, 과적합에 주의합니다. Batch size 학습에 사용되는 이미지의 묶음 단위를 의미합니다. Optimize 사용을 권장합니다. Data augmentation 이전 단계에서 설정한 Data augmentation 항목을 선택합니다. Deterministic training 해당 옵션은 결정론적 알고리즘을 사용하기 때문에 학습이 느려질 수 있습니다. EasySegment - Validation and results - Pixel based metrics1 Tool 이전 단계에서 학습한 분류기를 선택합니다. Weighted error 가중 오차는 각 라벨에 대한 오차의 가중 평균을 의미하며, 딥 러닝 네트워크를 최적화하는데 사용되는 지표입니다. Classification threshold 분류 임계값을 조정하여 이미지에서 감지된 결함 객체(defective blob)를 필터링할 수 있습니다. EasySegment - Validation and results - Pixel based metrics2 Weighted intersection over Union(IoU) 실제 불량 영역을 모델이 얼마나 정확하게 검출하고 있는지 확인하는데 사용되는 지표입니다. Weighted pixel accuracy 해당 라벨에 대해 올바르게 예측된 픽셀 수와 해당 라벨에 대한 정답 픽셀 수 간의 비율을 의미합니다. EasySegment - Validation and results - Blob metrics Recall 실제 값이 불량(positive)인 것들 중, 예측 값이 불량(positive)인 것들의 비율을 의미합니다. Precision 예측 값이 불량(positive)인 것들 중, 실제 값이 불량(positive)인 것들의 비율을 의미합니다. F1-Score Recall과 Precision의 조화 평균(harmonic mean)으로 계산되며 공식은 다음과 같습니다. EasySegment - Validation and results - Image metrics Image detection accuracy 이미지 검출의 정확도를 의미합니다. Foreground(결함 있는, Positive) image detection rate 결함이 있는 이미지에서 결함이 있는 이미지를 찾은 비율을 의미합니다. Background(결함 없는, Negative) image detection rate 결함이 없는 이미지에서 결함이 없는 이미지를 찾은 비율을 의미합니다. EasySegment - Inference test "Add Image , Add folder" 버튼을 클릭하여 이미지를 추가합니다. Tool 이전 단계에서 학습한 분류기를 선택합니다. 버튼을 클릭하여 검사를 수행합니다. Results 탭에서 처리 시간과 예측 결과를 확인할 수 있습니다. 6. EasyLocate EasyLocate "New" 버튼을 클릭하여 EasyLocate 프로젝트를 생성합니다. 프로젝트의 이름과 경로를 설정한 후 "OK" 버튼을 클릭합니다. EasyLocate - Dataset and annotations "Add label" 버튼을 클릭하여 라벨을 추가합니다. Object 별로 라벨을 생성합니다. 라벨 별로 가중치 (Weight)를 설정할 수 있으며 , 특정 라벨의 가중치가 높을 경우 해당 라벨의 검출력을 높입니다. "Add Image" 버튼을 클릭하여 이미지를 추가하고, 이미지에 라벨을 지정할 수 있습니다. EasyLocate - Dataset and annotations - Objects Object 지정이 필요한 이미지를 선택합니다. Objects 버튼을 클릭하면 툴바가 표시 됩니다. Object labeling을 체크하고 라벨을 선택한 다음, "Add Objects"를 클릭하여 Object를 지정합니다. EasyLocate - Dataset split "New" 버튼을 Dataset split 항목을 생성합니다. 이름과 Training / Validation / Test 비율을 설정하고 "OK" 버튼을 클릭합니다. EasyLocate - Dataset augmentation "Add" 버튼을 클릭하여 Augmentation 항목을 추가합니다. 예상 가능한 이미지 조건을 설정합니다. EasyLocate - Tools - EasyLocate properties "Add"버튼을 클릭하여 Tools 항목을 추가합니다. Capacity: 학습할 수 있는 정보의 양을 의미합니다. Small: 메모리가 훨씬 작고 추론 속도가 빠릅니다. Large: 복잡한 데이터 세트를 처리할 수 있으며 노이즈가 많은 데이터 세트에도 적합합니다. Width, Height 이미지는 500,000픽셀 미만(약 707x707 pixels)이어야 합니다. Width, Height는 적어도 128pixles이어야 합니다. 지정된 크기로 자동 조정되며, 크기가 작을수록 빨라집니다. EasyLocate - Tools - Advanced parameters Maximum number of object 이미지에서 찾을 객체의 최대 개수를 정의합니다. 개수가 적을수록 처리 속도가 약간 증가할 수 있습니다. Same label maximum overlap 동일한 라벨에서 최대 겹침 비율을 정의합니다. Absolute maximum overlap 라벨에 관계 없이 객체 간의 최대 겹침을 정의합니다. EasyLocate - Tools - Dataset split 이전 단계에서 설정한 Dataset split 항목을 선택합니다. 또는 "New random split" 버튼을 클릭하여 새로 생성합니다. EasyLocate - Tools - Training settings Number of iterations 기본값은 50이며 , 학습을 위해 필요 시 수치를 증가합니다. 단, 과적합에 주의합니다. Batch size 학습에 사용되는 이미지의 묶음 단위를 의미합니다. Optimize 사용을 권장합니다. Data augmentation 이전 단계에서 설정한 Data augmentation 항목을 선택합니다. Deterministic training 해당 옵션은 결정론적 알고리즘을 사용하기 때문에 학습이 느려질 수 도 있습니다. EasyLocate - Validation and results - Objects metrics Average precision(AP) Detection threshold를 변경하여 얻은 여러 Recall에 대한 Precision의 평균이며, 1에 가까울수록 좋습니다. Recall 실제 값이 불량(positive)인 것들 중, 예측 값이 불량(positive)인 것들의 비율을 의미합니다. Precision 예측 값이 불량(positive)인 것들 중, 실제 값이 불량(positive)인 것들의 비율을 의미합니다. F1-Score Recall과 Precision의 조화 평균(harmonic mean)으로 계산되며 공식은 다음과 같습니다. EasyLocate - Inference tests "Add Image, Add folder" 버튼을 클릭하여 이미지를 추가합니다. Tool 이전 단계에서 학습한 분류기를 선택합니다. 버튼을 클릭하여 검사를 수행합니다. Result 탭에서 처리 시간과 예측 결과를 확인 할 수 있습니다.
2022.10.261. 소개 Open eVision은 이미지 처리와 분석을 위한 Software Tool이며, 이미지 획득을 위한 3’rd party device를 지원합니다. Host memory에서 이미지 처리 수행됩니다. 사용자의 Application에 통합할 수 있게 설계되어 있습니다. Libraries(DLLs), .NET classes 개발 환경에 대해 광범위하게 지원 Libraries 구성 32/64bit libraries : C++ / .NET 참고 문서 사용자가 사용하기 쉽게 HTML Documentation 형태로 제공합니다. C++ / .NET 예제 제공 Open eVision 22.04: https://documentation.euresys.com/Products/OPEN_EVISION/OPEN_EVISION_22_04/ko-kr/Content/00_Home/home.htm 튜토리얼 HTML Documentation에서 알고리즘 별 Step by Step 교육 자료를 제공합니다. Open eVision 의 주요 기능에 대해 중요한 설명이 포함되어 있습니다. 테스트를 위한 샘플 이미지도 제공합니다. Visual C++ MFC MBCS Library for Visual Studio 2013이 반드시 설치되어 있어야 합니다. MSVC와 같은 C++ 컴파일러가 반드시 설치되어 있어야 합니다. 가상 시스템에 제품을 설치할 수 없습니다. 2. 기초 설명 이미지 구조 이미지 구조화 각 용어의 설명 Pointer: 메모리상에 존재하는 이미지 버퍼의 시작 주소. Width: 이미지의 가로 크기. Height: 이미지의 세로 크기. Padding Data: 4byte 정렬을 맞추기 위한 데이터. Buffer Pitch: 패딩(Padding) 데이터를 포함한 전체 가로 크기. 이미지 관심 영역 (Region Of Interrest) ROI 이미지의 관심 영역을 직사각형으로 제공합니다. 다음과 같은 상속 관계입니다. ROI를 이미지에 붙여 (Attach) 사용합니다. Region 이미지의 관심 영역을 임의의 모양으로 제공합니다. 여러 개의 Region을 연산하여 새로운 Region을 생성할 수 있습니다. 해당 기능을 Open eVision Studio에서 제공하지 않습니다. 코드에서만 사용가능합니다. 서브 픽셀 (Sub-Pixel) 다음의 라이브러리에서 1/10 수준으로 제공합니다. EasyMatch EasyFind EasyGauge EasyObject EasyMatch만 서브 픽셀 선택이 가능합니다. 그 외의 모든 라이브러리는 사용자가 선택할 수 없습니다. 멀티 코어 처리 기본적으로 병렬 처리는 비활성화 되어 있습니다. 시스템에서 사용 가능한 물리적 CPU 코어 수를 확인하고, 설정할 수 있습니다. (하이퍼 스레딩 제외) Thread-Safe 클래스 Open eVision은 멀티 스레드에 의한 동시 실행은 지원하지만, 데이터는 한번에 하나의 스레드에서만 접근이 가능합니다. 3. SDK 사용 방법 예제 코드 Open eVision 리소스의 기본 경로는 다음과 같습니다.Open eVision 리소스의 기본 경로는 다음과 같습니다. 예제 코드: C:\Users\Public\Documents\Euresys\Open eVision XX.YY\Sample Programs 예제 이미지: C:\Users\Public\Documents\Euresys\Open eVision XX.YY\Sample Images 딥 러닝, 3D 관련 자료는 홈페이지에서 다운받아야 합니다. https://www.euresys.com/ko/Support/Download-area?Series=9de20c1e-c26c-470c-a5ae-93a48539b4e0 편집하며 계속하기 Open eVision은 ‘편집하며 계속하기‘ 기능을 지원하지 않습니다. 편집하며 계속하기는 메모리를 저장, 재컴파일 그리고 메모리 교체가 발생합니다. 메모리가 단순한 상태가 아닐 때 실패할 가능성이 있으며, Open eVision을 이용한 메모리 매핑은 간단하지 않습니다. 편집하며 계속하기 기능으로 라이선스 프로세스가 다시 시작되어, 오랜 시간이 걸릴 수 있습니다. 라이브러리 참조 방법 C++ ‘프로젝트 속성 > C/C++ > 일반 > 추가 포함 디렉터리’에 라이브러리 include 경로를 추가합니다. 기본 경로: C:\Program Files (x86)\Euresys\Open eVision XX.YY\Include ‘프로젝트 속성 > C/C++ > 명령줄’에 -Zm256과 /bigobj 옵션을 추가합니다. 다음의 헤더 파일을 추가합니다. C# 솔루션 플랫폼을 x86 또는 x64 중 하나만 사용합니다(Any CPU는 지원하지 않습니다.). 플랫폼에 맞는 ‘프로젝트 > 참조’에 Open_eVision_NetApi_XX_YY.dll 파일을 추가합니다. 기본 경로: C:\Program Files (x86)\Euresys\Open eVision XX.YY\Bin32 또는 Bin64 다음의 네임스페이스를 추가합니다. 라이선스 모델 지정 라이선스 초기화 과정에서 생기는 지연을 방지하기 위해, 사용하는 모델만 설정하여 지연 시간을 최소화 합니다. 어떠한 Open eVision Library API를 호출하기 전에, 반드시 최초로 호출합니다. 라이선스 모델은 다음과 같이 열거형으로 정의되어 있습니다. 여러 개의 라이선스 모델을 사용한다면, 다음과 같이 호출합니다. 초기화 어떠한 Open eVision Library API를 호출하기 전에, 반드시 최초로 호출합니다. 앞에서 설명한 Preconfiguration 이후에 호출합니다. 해제 더 이상 Open eVision Library API를 사용하지 않는다면, 가장 마지막에 호출합니다. 예외 처리 Open eVision Library는 에러가 발생하면 예외를 던집니다. 사용자는 반드시 try-catch를 사용하여 예외를 처리해야 합니다. 예외를 처리하지 않으면, 예외 발생 시 프로그램이 비정상 종료될 수 있습니다. .NET 객체 관리 객체 관리 .NET에서 Open eVision Library를 사용할 때, 더 이상 사용되지 않는 객체는 Dispose()를 호출할 것을 적극 권장합니다. Garbage Collector가 .NET객체를 적절하게 해제하는 반면, Open eVision Library 객체는 그렇지 못하기 때문입니다. 연관된 객체 관리 일부 객체는 내부에 다른 객체가 연관되어 있습니다. 연관된 객체에 접근한 후 순서대로 적절하게 해제해야 합니다. C++ dll에서 사용하기 -dll 내부에서만 객체 사용하기 주의 사항 Preconfiguration을 제외한 Open eVision API 호출 전에, 반드시 Easy::Initialize()를 먼저 호출합니다. 더이상 Open eVision API를 사용하지 않는다면, Easy::Terminate()를 호출합니다. Open eVision 객체를 전역(Global object)으로 사용하지 않습니다. C++ dll에서 사용하기 - dll 외부에서 dll 내부로 객체 넘기기 주의 사항 Preconfiguration을 제외한 Open eVision API 호출 전에, 반드시 Easy::Initialize()를 먼저 호출합니다. 더이상 Open eVision API를 사용하지 않는다면, Easy::Terminate()를 호출합니다. Open eVision 객체를 전역(Global object)으로 사용하지 않습니다. 동일한 버전의 Open eVision Library를 dll 내부, 외부에서 사용합니다. C++ dll에서 사용하기 - dll 외부에서 dll 내부로 포인터 넘기기 주의 사항 Preconfiguration을 제외한 Open eVision API 호출 전에, 반드시 Easy::Initialize()를 먼저 호출합니다. 더이상 Open eVision API를 사용하지 않는다면, Easy::Terminate()를 호출합니다. Open eVision 객체를 전역(Global object)으로 사용하지 않습니다. 동일한 버전의 Open eVision Library를 dll 내부, 외부에서 사용합니다. 3'rd party 버퍼 연동하기 버퍼 연결 이미지 컨테이너 객체에 버퍼(예: 카메라)를 연결하기 위해 SetImagePtr()를 사용합니다. width : 이미지의가로크기(픽셀 단위). height : 이미지의세로크기(픽셀 단위). imagePointer : 4byte 정렬된 버퍼의 시작 주소. bitsPerRow : 패딩 데이터가 포함된, 행의 전체 비트 수. 이 값이 0 또는 없다면, 4byte(32bit) 배수에 맞춰 가능한 가장 작은 값이 계산됨. 주의 사항 해당 함수는 깊은 복사가 아닙니다. imagePointer가 삭제되거나 내용이 달라지면 이미지 컨테이너 객체도 영향을 받습니다. 기본적으로, Open eVision은 이미지 버퍼가 4byte(32bit) 정렬이 되어있다고 가정합니다. 이는 이미지의 모든 행의 시작 주소가 4의 배수임을 의미합니다. 또한, 이미지의 가로 크기가 4의 배수라면 문제가 없지만, 4의 배수가 아니라면 이미지 정렬에 문제가 생깁니다. 이미지가 4의 배수가 아니라면, bitsPerRow 인자에 값을 넣어야 합니다. 이미지 버퍼의 버퍼 피치를 취득하여 bit로 변환하여 인자를 넘깁니다. 즉, 8bit 기준으로 buffer pitch * 8 을 인자로 넘겨야 하며, 이 값은 32배수여야 합니다. 만약, SDK에서 버퍼 피치를 얻을 수 없고, 이미지 정렬에 문제가 생긴다면 카메라의 가로 크기를 4의 배수로 맞춰야 합니다. 코드 예시 4의 배수인 경우 4의 배수가 아닌 경우
2022.10.261. 이미지 이미지 구조와 각 용어의 설명 Pointer : 메모리상에 존재하는 이미지 버퍼의 시작 주소. Width : 이미지의 가로 크기. Height : 이미지의 세로 크기. Padding Data : 4byte 정렬을 맞추기 위한 데이터. Buffer Pitch : 패딩(Padding) 데이터를 포함한 전체 가로 크기. 2. Open eVision 이미지 컨테이너 ElmageBW8 8bit grayscale image, 각 픽셀이 1byte로 구성. ElmageBW16 16bit grarscale image, 각 픽셀이 2byte로 구성. ElmageC24 24bit color image, 각 픽셀이 3byte로 구성. ElmageC24A 32bit color image, 각 픽셀이 4byte로 구성. 단, Alpha 정보는 Open eVision에서 사용되지 않습니다. 3. SetImagePtr 함수 이미지 버퍼를 Open eVision 이미지로 연동하기 위해 아래의 함수를 사용합니다. width : 이미지의 가로 크기(픽셀 단위). height : 이미지의 세로 크기(픽셀 단위). imagePointer : 4byte 정렬된 버퍼의 시작 주소. bitsPerRow : 패딩 데이터가 포함된, 행의 전체 비트 수. 이 값이 0 또는 없다면, 4byte(32bit) 배수에 맞춰 가능한 가장 작은 값이 계산 됨. 4. 주의 사항 기본적으로, Open eVision은 이미지 버퍼가 4byte(32bit) 정렬이 되어있다고 가정합니다. 이는이미지의 모든 행의 시작 주소가 4의 배수임을 의미합니다. 또한, 이미지의 가로 크기가 4의 배수라면 문제가 없지만, 4의 배수가 아니라면 이미지 정렬에 문제가 생깁니다. 이미지가 4의 배수가 아니라면, bitsPerRow 인자에 값을 넣어야 합니다. 이미지 버퍼의 버퍼 피치를 취득하여 bit로 변환하여 인자를 넘깁니다. 즉, 8bit 기준으로 buffer pitch * 8 을 인자로 넘겨야 하며, 이 값은 32배수여야 합니다. 만약, SDK에서 버퍼 피치를 얻을 수 없고, 이미지 정렬에 문제가 생긴다면 카메라의 가로 크기를 4의 배수로 맞춰야 합니다. 5. 코드 예시 4의 배수인 경우 4의 배수가 아닌 경우 ※ 카메라 버퍼 연동의 경우 Euresys Multicam SDK 예시 타 카메라/보드 SDK 사용 시 이미지 버퍼의 피치를 확인할 수 있어야 합니다.
2022.10.261. 소개 딥러닝 (Deep Learning) 데이터 기반 : 특정 어플리케이션에 맞는 모델 쉬운 유지보수와 업데이트 : 새로운 이미지로 쉽게 딥 러닝 업데이트 가능 높은 성능 : 작업자보다 우수한 능률 빠른 어플리케이션 개발 : 적은 코드로 시간 단축 어플리케이션 Application 적합하지 않은 어플리케이션 측정 어플리케이션 : 교정(Calibrated) 기반의 정밀 측정 및 정렬 코드 인식 : MatrixCode, QR Code, Bar Code, etc. 권장사양 : CPU : Intel or AMD CPUs GPU : NVIDIA GPU, GeFoce GTX 900 Series, 1000 Series, RTX 2000/3000 Series 학습용으로는 최소 6GB 이상의 메모리를 권장 SOFTWARE Open eVision 2.17 Widows 32bits (maximum 2GB of memory) or Windows 64bits NVIDIA CUDA Toolkit version v11.1 NVIDIA cuDNN v8.1 for CUDA v11.1 Library 2. EasyClassify 분류(Classification) - 검사 예시 분류(Classfication) Image -> Label 특징 CPU 및 GPU 프로세싱 호환 빠른 라벨링(Labeling) 위치 정보가 중요하지 않을 때 최적 데이터 증강 및 마스크 지원 대략적인 위치를 위한 Heatmap 제공 다양한 Class로 분류 가능 결함검사 물체 인식 불량 검사 3. EasySegment 분할(Segmentation) - Supervised 분할(Segmetation) Image Segmentation mask 특징 어떤 이미지 해상도에서도 동작 데이터 증강 및 마스크 지원 CPU 및 GPU 프로세싱 호환 지도(Supervised) 방식 학습 이미지에 마스크 작업 필요 물체, 결함 등 모든 것을 분할 분할(Segmentation) - Unsupervised 분할(Segmentation) Image Segmentation mask 특징 어떤 이미지 해상도에서도 동작 데이터 증강 및 마스크 지원 CPU 및 GPU 프로세싱 호환 비지도(Unsupervised) 방식 정상 이미지만 학습하는 방식 정상 이미지와 다른 부분을 감지하고 분할 분할(Segmentation) - 검사 예시 결함 검사 결함 검사 불량 검사 4. EasyLocate Localization and Classification 분할(Segmentation) Image Segmentation mask 특징 데이터 증강 및 마스크 지원 CPU 및 GPU 프로세싱 호환 Object 카운팅 각 Label의 위치와 인식 가능 EasyLocate - 검사 예시 물체 인식 및 위치 파악 5. Deep Learning Studio & API Deep Learning Studio 특징 무료로 사용 가능 쉽게 사용 가능한 UI 구성 쉬운 Dataset 생성 학습 및 테스트 가능 데이터 증강 설정 및 표시 가능 순차적 모델 학습 학습 결과 분석 기능 제공 프로젝트로 파일 관리 가능 Deep Learning API 특징 C++/C# 지원 간단하고 직관적인 API 제공 기존 Open eVision Class와 완벽한 호환 한글 HTML Reference Manual 제공
2022.10.261. 소개 Easy3D : Depth Map, Point Cloud, ZMap 그리고 뷰어 사용을 위한 기초 라이브러리 Easy3DLaserLine : Laser Line 추출을 위한 라이브러리 Easy3DObject : 3D Object를 사용하기 위한 라이브러리 Easy3DMatch : 3D Align 및 Match, Point Cloud Merger를 사용하기 위한 라이브러리 Easy3D Studio 무료로 사용 가능한 3D Studio Laser Line 추출, Depth Map / Point Cloud / ZMap 생성 가능. 2. Easy3D 포인트 클라우드 처리 및 관리 Cropping, Decimating, Fitting and Aligning 을 위한 3D 처리 가능 많은 3D 센서와 호환 가능 (AT,LMI,Chromasens 등) 3D 뷰어와 상호작용하는 3D 디스플레이 Workflow Depth Map / Point Cloud / ZMap 지원 Calibrartion 및 3D Viewer 제공 3. Easy3D LaserLine 단일 및 이중 레이저 라인 추출 - To Depth Map 레이저 삼각 측량 설정을 위한 편리하고 강력한 3D 보정 Coaxlink Quad 3D-LLE 프레임 그래버와 호환 가능 카메라 센서에 의해 캡처된 일련의 프로파일 이미지가 필요 Laser Line Extraction(LLE) 알고리즘에 의해 Depth Map 추출. Maximum Detection 모든 열에 존재하는 모든 픽셀을 분석하여 최대 감도의 픽셀을 결정 Sub-Pixel 이 제공되지 않음 Peak Detection Intensity Profile 이 아래 공식에 의해 계산되어 Peak 픽셀을 결정 Sub-Pixel 25, 28 제공 Center of Gravity 무게 중심이 아래 공식에 의해 계산되어 중심 픽셀을 결정 Sub-Piexl 25, 28 제공 Low-pass Linear Filter 노이즈 및 고주파 성분을 제거하기 위한 Linear Filter 를 선택적으로 사용 가능 4. Easy3DObject ZMap, Point Cloud, Image 로부터 Object 추출 ERegion 으로 추출 영역 설정 Sample code / program 제공으로 쉽게 사용 Workflow 결함이 없는 CAD 또는 스캔 된 데이터를 레퍼런스로 등록 스캔 된 데이터와 레퍼런스와 비교 Length and Width Length : ZMap 공간의 XY평면에서 가장 큰 치수 Width : ZMap 공간의 XY평면에서 가장 작은 치수 Orientation angle EZMap의 X축과 Object 사이의 가장 긴 축(길이) 사이의 각도 Object Plane and base plane Base Plane : 검출 된 Object의 높이를 측정하기 위해 기준이 되는 평면 Object Plane : 검출 된 Object의 평면 Local and reference Top Positions and heights Local top position : Base 평면 기준 가장 높은 지점 Local height : Base 평면 기준 Local top position 의 높이 Reference top position : Reference 평면 기준 가장 높은 지점 Reference height : Reference 평면 기준 Reference top position 의 높이 Local and reference tilt angles Local tilt angle : Base 평면과 Object 평면 사이의 각도 Reference tilt angle : Object 평면과 ZMap XY 평면 사이의 각도 Average Position Object의 3D 위치에 대한 산술 평균이며, 무게 중심을 의미 Bounding Box 모든 Object 위치에 대한 최소 거리로 둘러싸인 사각형을 의미 Aspect ratio Aspect ratio : width 를 Length 로 나눈 값. 비율을 의미 Area ZMap의 Reference 평면에 투영 된 Object 상단표면의 픽셀 개수 Volume Object의 Base 평면과 상단 평면 사이의 부피 Using ERegion ERegion 기능을 사용하여 ZMap의 특정 영역을 추출하거나 무시 가능 Drawing Option 2D 또는 3D Drawing 기능 제공 5. Easy3DMatch 레퍼런스 데이터 기준으로 스캔 된 데이터를 정렬 (E3DAligner) 스캔 된 데이터를 레퍼런스 데이터와 비교하여 Local distance 계산 (E3DComparer) Misplaced features, geometric distortions, gaps, bumps …감지(E3DMatcher) Workflow 결함이 없는 CAD 또는 스캔 된 데이터를 레퍼런스로 등록 스캔 된 데이터와 레퍼런스와 비교 How to detect? 레퍼런스와 스캔 된 데이터의 거리를 계산 Amplitude / Area threshold 를 초과하는 포인트 감지 EPointCloudMerger 여러 위치에 배치 된 여러 3D 센서를 사용 중복 포인트가 제거되고 병합 된 최적화 된 포인트 클라우드 생성
2022.10.261. 주요기능 Open eVision 은 이미지 처리와 분석을 위한 Software Tool 사용자의 Application 에 통합할 수 있게 설계 Libraries(DLLs), .NET classes 개발 환경에 대해 광범위하게 지원 Libraries 구성 32/64bit libraries : C++/.NET 3rd Part Device Open eVision 은 이미지 획득을 위한 3rd party device를 지원 Host memory 에서 이미지 처리 수행 Supported OS List OS List Supported IDE List IDE List * Visual C++ MFC MBCS Library for Visual Studio 2013이 반드시 설치되어 있어야 합니다. ** MSVC와 같은 C++ 컴파일러가 반드시 설치되어 있어야 합니다. Open eVision Studio 홈페이지에서 다운로드 가능 기간 제한 없이 자유롭게 모든 알고리즘 사용 가능 Open eVision / EasyDeepLearning / Easy3D Studio / EasyOCR2 Database Manager Documentations 사용자가 사용하기 쉽게 HTML Documentation 형태로 제공 C++ / .NET 예제 제공 Quick Start Tutorials HTML Documentation에서 알고리즘 별 Step by Step 교육 자료를 제공 Open eVision 의 주요 기능에 대해 중요한 설명이 포함되어 있음 테스트를 위한 샘플 이미지 제공 YouTube Open eVision Tutorial 영상 제공 •https://www.youtube.com/user/EuresysTV/featured Sample Codes 특정 IDE 환경에서 라이브러리를 어떻게 사용해야 하는지 간결하게 설명 VC++ / VCS / VB .NET 예제 제공 여러 라이브러리를 복합적 / 개별적으로 사용하는 샘플 코드 제공 Studio에서 라이브러리 사용에 따라 코드가 Script에 출력되어 참고하는데 유용 C++ / C# / VB 출력 제공 Licensing Dongle 또는 PC Platform 형태로 제공 개별적 또는 그룹별로 제공되는 형태가 다양함 Inspection Bundle ID Bundle Full Bundle 2. General Purpose Libraries Summary General Purpose Libraries List EasyImage 이미지 향상을 위한 기본적인 전처리 알고리즘 Threshold Morphology Filter Uniformize Canny Edge Scale and Rotate Arithmetic & Logic Etc... 응용 분야 이미지 향상 유무 검사 이미지 복원 EasyColor 칼라 이미지 분석 알고리즘 11개의 Color System 지원 Image Convert Color Component White Balance 응용 분야 식품 검사 인쇄 검사 기판 검사 EasyGauge 측정 및 Calibration 을 위한 알고리즘 Sub-Pixel 위치, 크기, 각도, 거리 Auto Calibrartion Multiple gauge model Point, Line, Rectangle 등 다양한 도형 응용 분야 제품 측정 EasyObject Blob 분석 알고리즘 Blob 알고리즘 기반 이미지 객체화 라이브러리 다양한 결과 데이터 제공 Flexible Mask 제공 응용 분야 유무 판정 표면 분석 물체 위치 확인 EasyMatch 패턴 매칭 라이브러리 Template Pattern Matching 알고리즘 기반 라이브러리 패턴과 대상 이미지와 픽셀 값을 비교 Sub-pixel 정밀도 Don’t care Area 지원 8bit 및 24bit 지원 응용 분야 PCB Align Pick & Place LED 검사 유무 판정 EasyFind Geometric 패턴 매칭 알고리즘 Match 와 달리 특징점을 추출하여 수행 크기, 각도 검사 지원 Sub-Pixel 지원 Don't care 영역 지정 기능 지원 파일 단위로 관리 가능 응용 분야 유무 검사 Align Pcik and place 3. Mark Inspection Libraries Summary General Purpose Libraries List EasyOCR 문자 인식 알고리즘 학습 가능한 문자 인식 기능으로 가장 신뢰성 높고 빠른 인식 가능 문자 크기에 따라 변경되지 않음 인쇄가 불량하거나 깨진 문자에 대한 내성 '연결된' 문자 분리 사전 정의 글꼴 포함 응용 분야 문자 식별 EasyOCR2 문자 인식 알고리즘 문자를 학습하여 인식하는 시스템 데이터베이스 관리 가능 TTF 학습 가능 360 Rotation 지원 산업용 텍스트 마킹 글꼴에 적합한 딥 러닝 기술 탑재 응용 분야 문자 식별 EasyBarcode 바코드 판독 알고리즘 이미지 내 바코드 자동 감지 기호 자동 감지 매우 빠르고 안정적 다양한 기호의 완벽한 지원 응용 분야 물건 식별 부호 판별 EasyBarcode2 바코드 판독 알고리즘 EasyBarcode와 동일 라이선스 사용 EasyBarcode의 개선된 라이브러리 이미지 내 다수의 바코드 자동 감지 응용 분야 물건 식별 부호 판별 EasyMailBarcode 메일 바코드 판독 알고리즘 우편물 1차원 바코드 리더 Multi-reading 지원 특정 방향 및 각도 회전 지원 응용 분야 물건 식별 부호 판별 EasyMatrixCode Data Matrix 2D 판독 알고리즘 이미지 내 코드 자동 감지 ECC200, ECC000, ECC050, ECC080, ECC100, ECC140 코드 디코딩. ANSI/AIM, ISO/IEC 15415, ISO/IEC TR 29158, SEMI T10-0701 등 다양한 표준에 따른 품질 지표 계산. 매우 빠른 작동 속도 노이즈, 블러, 왜곡에 대한 높은 안정성 새로운 기능: GS1 데이터 매트릭스 코드 지원 응용 분야 물건 식별 EasyMatrixCode2 Data Matrix 2D 판독 알고리즘2 EasyMatrixCode와 동일 라이선스 사용 EasyMatrixCode의 개선된 라이브러리 Multi-reading 지원 비동기 방식 처리 지원 Read 및 Grade 결과 일관성 개선 처리 시간에 대한 일관성 향상 응용 분야 물건 식별 EasyQRCode QR Code 판독 알고리즘 이미지 내 코드 자동 감지 모델 1, 모델 2 QR 코드, 모든 버전, 모든 레벨에 대한 디코딩. 매우 빠른 작동 속도 노이즈, 블러, 왜곡에 대한 높은 안정성 오류 감지 및 정정 회전 및 뒤집기에 따라 변경되지 않음 Multi-reading 지원 응용 분야 물건 식별 4. Bundles Inspection Bundle ID Bundle Full Bundle Inspection Bundle Open eVision 검사 라이브러리 번들 Inspection 검사 라이브러리용 경제적인 번들 EasyImage, EasyGauge, EasyMatch, EasyObject, EasyColor 포함 ID Bundle Open eVision 식별 라이브러리 번들 Code 식별 라이브러리용 경제적인 번들 EasyImage, EasyOCR, EasyOCR2, EasyBarCode, EasyMatrixCode, EasyQRCode 포함. Full Bundle 모든 Open eVision 라이브러리 번들 경제적인 eVision 2D 라이브러리 번들 EasyImage, EasyGauge, EasyFind, EasyMatch, EasyObject, EasyColor, EasyOCR, EasyOCR2, EasyOCV, EasyBarCode, EasyMatrixCode, EasyQRCode 포함 Easy3D 및 EasyDeepLearning 포함 되지 않음
2022.10.261. LineGauge 파라미터 방향성(Transition type) 이미지의 Gray value가 낮음(black)에서 높음(white) 또는 높음에서 낮음 방향성에서 라인을 검출합니다. 후보 선택(Choice) 탐색 영역에는 라인으로 검출할 후보를 선택할 수 있습니다. From Begin: 검출 영역 처음부터 라인을 탐색합니다. From End: 검출 영역 마지막부터 라인을 탐색합니다. Largest Amplitude: 진폭(Amplitude)이 가장 큰 값을 갖는 라인을 탐색합니다. Largest Area: 가장 큰 영역(Area) 값을 갖는 라인을 탐색합니다. Closest: 센터에 가장 가까운 라인을 탐색합니다. ※ Amplitude와 Area는 1차 미분된 그래프의 높이와 영역을 의미합니다. ※ Amplitude와 Area는 1차 미분된 그래프의 높이와 영역을 의미합니다. Threshold 1차 미분된 그래프에 Threshold(임계값)를 적용하여 라인을 검출합니다. Threshold를 움직이면 Minimum Amplitude와 같이 움직입니다. Minimum Amplitude Threshold와 동일하게 동작합니다. Threshold는 ‘임계값’, Minimum Amplitude는 ‘옵셋(Offset)’으로 이해해도 무방합니다. Minimum Area 라인에 검출된 각 포인트의 Area를 확인하고, Area 기준으로 임계값을 적용할 수 있습니다. 하단의 Point를 체크하고, Sample Index로 포인트를 선택하여 각 포인트의 Area를 확인할 수 있습니다. Thickness 노이즈 영향을 줄일 때 사용합니다. LineGauge는 여러 PointGauge가 합쳐진 것입니다. 각 Point 검출 시 탐색 영역을 넓혀서 노이즈 영향을 줄이게 됩니다. Filter 마찬가지로 노이즈 영향을 줄일 때 사용합니다. 1차 미분 그래프에 Smoothing filter가 적용됩니다. Sampling step 샘플링 단계를 설정합니다. EasyGauge의 Calibration을 적용하지 않았다면, 1이 많은 점을 샘플링합니다. Known AngleFitting 될 라인의 각도를 알고 있다면 체크합니다. Outliers Threshold, Passes 샘플링된 점들 중 검출된 라인 기준으로 거리가 먼 Point는 제외합니다. Threshold는 거리, Passes는 수행 반복 횟수를 의미합니다. Threshold와 Passes를 조합하여 최적의 검출 결과를 찾습니다.
2022.10.26Neo License 활성화 시작메뉴 -> Euresys Neo License Manager 를 실행합니다. PC에 Neo USB Dongle(empty)를 장착합니다. 을 클릭하여 새로고침 하면 빈 동글이 표시됩니다. 버튼을 클릭하면 라이선스 활성화 창이 나타납니다. 창에는 활성화 할 수 있는 컨테이너가 표시 됩니다. ※ 이 때 PC는 인터넷이 연결되어 있어야 합니다. 활성화 할 컨테이너를 클릭합니다. (해당 메뉴얼에서는 동글) 활성화 키를 입력 후 OK를 클릭합니다. 선택한 컨테이너와 동글키가 맞는지 다시 한번 확인 후 OK를 클릭합니다. 라이센스가 활성화가 되면 동글 하위목록에 등록한 라이센스 이름이 나타납니다.
2022.10.26