총 46 건
1. 기능 소개 • AOI-Search 모드의 동적 버전. • 3D 실시간 이미지 취득 중에도 동작 • 경사면이 있는 물체 스캔 시 유용한 기능 • AOI OffsetY 값이 실시간으로 변경된다. • 경사면이 잇는 물체를 스캔하기 위해서는 넓은 영역의 AOI가 필요 • 2D Image 모드에서는 동작 불가 • 3D 모드에서만 사용 가능. • 실시간 적용 가능하며 P,I,D는 기본 값을 권장 (PID Controller에 관한 이론적인 내용은 링크 참고) 알고리즘(Algorithm) • Min(Minimum) • 레이저 라인이 AOI의 최소 위치에 배치. • Range • 레이저 라인의 최소, 최대 위치가 감지되고 평균 값으로 AOI 내에 배치. • Mean • 레이저 라인의 유효한 선이 감지되어 AOI 내에 배치. Column Evaluation Mask • AOI 너비가 센서 너비보다 작은 경우, 속도 증가를 위해 설정이 필요. • 가로 방향에 대한 Mask 설정. 2. 적용 과정 3DExplorer AOI-Tracking • AOI-Tracking 파라미터 설정. • AOI-Tracking 결과.
2022.10.271.카메라 설정 (모드 및 촬영 주기 설정) FreeRun 모드 카메라에 설정된 Line Interval(Period)과 Exposure Time으로 촬영 카메라 설정 예시를 들기 위해 임의의 사양 지정 Pixel Size(카메라 픽셀 사이즈) : 3.5um x 3.5um Lens Magnification(렌즈 배율) : 0.7x Resolution(실제 분해능) : 3.5um(카메라 픽셀 사이즈) / 0.7(렌즈 배율) = 5um 카메라 설정 예시를 들기 위해 임의의 사양 지정 Motion Speed(모션 속도) 10mm/s Line Interval(촬영 주기) : 5um(실제 분해능) / 10mm/s(모션 속도) = 500us Exposure Time(노출) : 500us(촬영 주기) – 2.1us(Offset Time) = 497.9us 카메라가 이미지 취득 후 다음 동작을 위해서 Offset Time이 필요하며, 센서 종류 또는 카메라 제조사마다 값이 상이합니다. -> 사용할 TAP 모드를 설정합니다. -> 파라미터를 Internal 로 설정합니다. 영역의 값을 조정하여 같이 Exposure Time과 Line interval이 나오도록 조정합니다. 2. Multicam Camfile 열기(SP-Free Run Camfile) Multicam Studio를 관리자 권한으로 실행합니다. Multicam Studio의 가장 좌 상단에 위치한 을 클릭합니다. Camera Link 인터페이스 라디오 버튼을 선택 후 버튼을 클릭합니다. 아이콘을 클릭하여 Camfile이 있는 경로를 선택합니다. 제조사 하위에 있는 카메라 모델명을 선택하고 버튼을 클릭합니다. Camfile / Topology / Connector 선택 Camfile을 선택 및 하단에 표기된 Camfile 이름을 확인 후 버튼을 클릭합니다. 보드의 종류에 따른 Topology / Connector 선택 Full / Base : Topology -> / Connector -> DualBase : Topology -> / Connector -> 또는 설정을 모두 끝마치고 버튼을 누르면 Camfile이 열립니다. SP Camfile 확인Topology / Connector 선택Camfile / Topology / Connector 선택 하단 이미지에 붉은 영역으로 표기된 영역과 같이 Camfile이 Open 됬는지 확인합니다. 3. 카메라 영상 취득 (Multicam 영상취득) Multicam 상단의 Acquisition Start 버튼을 클릭합니다. SeqLength_Ln : 취득할 라인 수를 설정합니다. PageLength_Ln : 이미지 버퍼의 세로 해상도를 설정합니다. 4. 영상 취득 주의 사항 - 촬영간격 (Interval)에 따른 비율 변화 영상 비율 문제 파라미터 설정이 잘못 된 경우
2022.10.271.AOI 모드 선택 Speed / Output format의 리스트 박스 항목 중 AOI 모드를 선택합니다. 2. AOI 영역 설정 AOI의 영역 설정을 위해 LVAL width에 (설정할 해상도 / Tap) 값을 입력합니다. LVAL width x 4가 아닌 LVAL width x Tap로 동작합니다. (표기 오류) 예시로 AOI 2Tap 사용 시 1024 Pixel로 AOI 하고 싶다면 LVAL width 값에 512를 입력합니다. 3. AOI 영역 OffSet 설정 AOI 사용 시 이미지 취득 영역을 센서 중심부로 옮기기 위하여 Offset을 설정합니다. Beginning pixel of video output 텍스트 박스에입력 값 x 4(표기 되있는 수치) 만큼 Offset 값으로 설정되어 카메라에 적용됩니다. 예시로 4K 카메라를 AOI하여 1024Pixel로 설정한 경우[센서 크기(4096) – AOI 영역(1024)] / 2 = 1536(Offset)로 설정하면 센서 중심 기준의 AOI가 설정됩니다.
2022.10.271. 준비단계 카메라의 Calibration 을 하려면 하얗고 균일한 물체가 필요합니다 EX) 디퓨저 또는 A4용지 , 기타 흰 물체 등등 Calibration 진행 전 물체 표면에 영향을 최소화 할 수 있도록 물체와의 WD (Working Distance)를 멀게 세팅 하여 초점을 무너트립니다. 2. 이미지 취득 카메라의 Calibration 을 하려면 영상 데이터가 취득되고 있어야 합니다. 카메라는 Calibration 물체의 한 라인만 촬영해야 합니다, (모션 정지상태) Euresys의 Multicam 또는 타사의 SDk를 이용하여 영상 데이터 취득을 시작합니다 Line Sensor Communication Toll의 "FFC(Auto)"탭을 선택 합니다. 3. 데이터 클리어 FFC를 시작하기 전 카메라의 데이터를 초기화하는 작업을 진행합니다. VIDIO output 그룹의 "OriginalImage" 버튼을 클릭합니다 Auto FFC Flow의 "Clear" 버튼을 클릭합니다. "Dsable the confirmation window"의 체크박스를 체크합니다. 4. Black Level Correction (DSNU) 카메라 렌즈 마개를 이용하여 빛을 차단시켜 이미지를 어둡게 세팅합니다. FFC Target Level for Black 값은 Default 값인 3으로 사용합니다. -> -> 버튼을 순서대로 클릭합니다 버튼이 활성화 되면 Black Level Correction이 완료 됩니다. 5. Black Level Correction (DSNU) 이미지 데이터가 빛을 수광 할 때 포화되지 않는 Level로 설정합니다. 조명, Exposure Tiem , 조리개 등으로 설정 가능 FFC target level for gray 값은 수광 이미지의 평균 Gray Level보다 20~40높게 설정합니다. -> 버튼을 순서대로 클릭 합니다. 버튼이 다시 활성화 되면 Gray Level Correction이 완료 됩니다. Save Correction 그룹 박스에 버튼을 클릭하여 카메라 내부에 데이터를 저장합니다. 6. FFC 적용 전 / 후 차이 FFC 적용 전 노이즈를 부각한 이미지 데이터레 FFC를 사용하여 하기 첨부된 이미지 예시와 같이 균일하게 Calibration 할 수 있습니다.
2022.10.261. 카메라 통신 연결(시리얼 통신 연결) Comport 설정 방법 : Euresys Frame Grabber Multicam Studio를 관리자 권한으로 실행합니다. Multicam Studio의 상단 메뉴의 Tool -> Board Information을 선택 후 SerialControl 텍스트 박스에 사용 하고 싶은 가상 Comport 를 입력합니다. Ex) com8 Comport 확인 방법 : Matrox Frame Grabber 내 PC 또는 내 컴퓨터의 관리 창을 실행합니다. 컴퓨터 관리 -> 장치 관리자 -> 포트 – Matrox Com por 0의 번호를 확인합니다. 카메라 통신 툴 연결 방법 LineSensorCommunication Tool을 관리자 권한으로 실행합니다. Comport 선택 후 "Open" -> "Reload" 버튼을 클릭하면 카메라 파라미터가 활성화 됩니다. 2.카메라 파라미터 설명 Exposure Time : 카메라의 Exposure Time을 설정합니다. Line interval : 1:ine 당 카메라의 촬영 주기를 설정합니다 . Sync control mode : 카메라의 동작을 Internal 또는 External 모드로 설정합니다 Exposure control mode : 카메라의 노출 제어 방식을 설정합니다. Sync Control mode -> Internal 설정 Line interval : 카메라에 설정된 Exposure time으로 동작합니다. Sysc control mode -> External 설정 programmable : 카메라에 설정된 Exposure Time으로 동작합니다 Pulse width : 외부에서 인가되믄 Pulse 폭에 의해 Exposure Time이 동작 합니다. Speend / Output Format : 카메라의 속도 , TAP 설정 관련 파라미터를 설정할 수 있습니다. Test pattern : 프레임 그래버로 전송할 테스트 패턴 이미지를 설정 할 수 있습니다. User id : 카메라 고유 Index를 설정할 수 있으며 0~255까지 설정 가능합니다. Output bit : 카메라에서 출력할 bit 수를 설정 할 수 있습니다 . Gain A (Digital Gain) : 디지털 게인을 설정할 수 있습니다. Analog gain : 아날로그 게인을 On / Off 설정할 수 있으며 On시 4배의 Gain이 설정됩니다. RGB digital gain : 컬러 카메라의 R,B,Gr,Gb Gain을 개별로 조절 할 수 있습니다. 3. 카메라 EEPROM 이용 방법 (카메라 내부 메모리) : 카메라의 EEPROM에 설정한 파라미터 값을 저장합니다 : 카메라 EEPROM에 저장된 파라미터 값을 불러옵니다 : 카메라에 설정된 파라미터 값을 초기화 시킵니다. (EEPROM에 설정된 값 또한 초기화 시킵니다.) * EEPROM : 카메라 내부에 있는 데이터로 불러오기 / 저장하기 가능한 메모리를 의미하며 , 저장된 데이터는 전원을 다시 인가하여도 카메라에 남아있습니다. 4. 카메라 데이터 파일 이용방법 (카메라 파라미터 데이터 파일) "To file" : History Log 창에 있는 파라미터 제어 정보를 데이터 파일로 저장합니다 History Log에 있는 기록들이 파일로 저장되므로 파일 저장전 반드시 "Cls" 후 "Reload" 버튼을 클릭하여 파라미터 정보를 새로 갱신 후"Reload"버튼을 클릭하여 저장합니다. "Load": 카메라 파라미터를 담고 있는 선택 후 불러옵니다. (아직 카메라로 데이터는 전송되지 않은 상태) "Send" : 불러온 카메라 파라미터 파일의 정보를 카메라로 전송 합니다. (카메라로 전송을 됐으나 파라미터 창에 정보 갱신은 되지않은 상태) "Reload" : 변경된 카메라 정보를 파라미터 창에 갱신 합니다. "Cls": 카메라와 통신 한 History Log를 제거 합니다, " to Clipboard" : History log 의 모든 텍스트를 복사 합니다. "Send" : Send 버튼 우측에 기입된 단일 메세지를 카메라로 전송 합니다. "Trans" : 카메라 컨트롤 툴을 반 투명화 시킵니다.
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. 소개 딥러닝 (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.26