총 90 건
안녕하세요? 화인스텍 마케팅 팀입니다. 머신비전 전문 기업 화인스텍 블로그를 찾아주셔서 감사드립니다. 이번에는 XENICS사의 Manx SQ CXP카메라의 사용하는 방법에 대해 설명해드리겠습니다. 기초이론부터 영상 취득 방법, Calibaration 생성 , 저장과 관리까지 상세하게 전달 해드리겠습니다! 1. 준비작업 1) 보드 펌웨어 보드 뒷면의 6Pin 전원을 연결합니다. CoaxLink Firmware Manager를 실행합니다. 오른쪽 그림과 같이 표시가 있다면 펌웨어 업데이트가 필요한 경우입니다. 펌웨어 목록 중 1-Camera를 선택하고 버튼을 클릭합니다. 펌웨어 업데이트가 완료되면 컴퓨터의 전원을 끕니다. 이 때 , 재부팅이 아니라 완전하게 종료해야 합니다. 컴퓨터 부팅 후 다시 CoaxLink Firmware Manager를 실행합니다. 왼쪽 그림과 같이 표시가 있다면 준비가 완료된 상태입니다. 카메라와 보드의 ABCD 커넥터를 A:A , B:B , C:C, D:D로 연결해야 합니다. 왼쪽 그림은 카메라의 채널 순서를 오른쪽은 보드의 채널 순서를 보여줍니다. A는 POCXP(전원)입력이므로 가장 마지막에 연결 합니다. 보드 펌웨어와 케이블 연결이 정상이라면 보드 뒷면의 LED가 초록색으로 점등 됩니다. 그리고 GenICam Browser 실행 시 CXPCam으로 인식됩니다. 2. 기초 이론 1) 동작 Manx SQ CXP 카메라는 Linescan 카메라이지만 Frame으로 출력됩니다. 프레임 출력은 카메라 내부에서 프레임을 생성하기 때문에 최대 높이가 정해져 있습니다. 2) 파라미터 DeviceGain(Analog Gain) 이미지가 어두울 경우 Gain을 높여 밝기를 확보 할 수 있습니다. Gain을 높일 경우 노이즈도 같이 증폭되므로 주의가 필요합니다. ExposureTime(us) 노출 시간을 설정하는 파라미터 입니다. AcquisitionLineTime(us) Line Rate를 설정하는 파라미터 입니다. 노출 시간이 너무 긴 경우 실제 AcquisitionLineTime은 Exposure Time이 됩니다. Height (Pixel) Frame의 높이를 설정 합니다. 3) NUC NUC(Non-Uniformity Calibration) 개별 픽셀은 오프셋이 약간 다를 수 있으며 들어오는 광자에 약간 다르게 반응합니다. 이러한 이유로 원본 이미지는 왼쪽 그림과 같이 약간 줄무늬가 있는 경향이 있습니다. NUC를 적용하면 오른쪽 그림과 같이 원본 이미지를 균일하게 만들 수 있습니다. 주의 사항 Exposure Time , Gain Exposure Time과 Gain이 변경되면 환경에 맞춰 다시 Calibration을 해야 합니다. Temperature 사용 환경의 온도가 변경되면 환경에 맞춰 다시 Calibration을 진행해야 합니다. NUC 조명 , 타겟 NUC에 사용될 조명과 타겟의 표면은 균일해야 합니다. 4)광학계 사양 계산 방법 예시 환경 Camera : Manx 2048 SQ CXP (Cell Size 12.5um) Lens: 2x Motion Speed : 10mm/s 계수 계산 방법 Resolution (실제 분해능) = 12.5um (Cell Size) / 2(렌즈 배율) = 6.25um AcqusitionLineTime = 6.25um(실제 분해능) / 10mm/s (모션속도) = 625us ExposureTime = 625us 미만 예시 환경 Camera : Manx 2048 SQ CXP (Cell Size 12.5um) Lens: 2x Motion Speed : 10mm/s Encoder Pitch : 4um 4체배 사용 계수 계산방법 4체배 사용 시 Pitch per edge : 1um Encoder Pulse Divider = 6.25um (실제 분해능) , 정수 입력 시 6 또는 7 3. 영상 취득 방법 1)카메라 Free-Run 제어 Deive 설정 CameraControlMethod : NC Remote Device 설정 Height : Frame 높이 AcquisitionMode : continuous TriggerMode : LineFreeFrameFree AcquisitionLineTile(us) : 광학 사양에 따른 계산 값 Exposure Tiem(us) : AcquisitionLineTime 보다 작은 값 DeVice 설정 CameraControlMethod:RC ExposureReadoutOverlap : True ExposureRecoveryTime : 0.0 CycleMinimumPeriod(us) : 광학 사양에 따른 계산 값 CycleTriggerSource :Immediate Remote Device 설정 Height: Frame 높이 AcquisitionMode :Continuous TriggerMode : LineCXPFrameFree ExposureTime(us) : CycleMinimumPeriod 보다 작은 값 Interface 설정 QuadratureDecoderTollSelector : QDC1 QuadratureDecoderToolSources : Din11_Din12 QuadratureDecoderTollActivation : AllEdgesAB DividerToolSelector : DIV1 DividerToolSource : QDC1 DividerToolEnableControl :Enable DividerToolDivisionFactor : 광학 사양에 따른 계산 값 Divice 설정 CameraControlMethod : RC ExposureReadoutOverlap : True ExposureRecoveryTime : 0.0 CycleMinimumPeriod(us): 광학 사양에 따른 계산 값 CycleTriggerSource: DIV1 Remote Device 설정 Height : Frame 높이 AcquisitionMode : continuous TriggerMode : LineCXPFrameFree ExposureTime(us) : CycleMinimumperiod 보다 작은 값 4. Calibration 파일 생성 방법 Xeneth64를 실행합니다. Calibration data는 none을 선택 합니다. 툴 상단의 메뉴를 클릭합니다 . Camera Calibration Wizard 에서 Two Point Calibration을 선택하고 버튼을 클릭 합니다. 첫 단계는 FPN(Fixed Pattern Nosie)를 보정합니다. FPN보정을 위해 빛을 차단한 Dark Image를 취득해야 합니다. 버튼을 클릭하면 이미지를 취득하고 분석이 진행 됩니다. Dark Nosie 분석이 완료되면 이미지 뷰어에 다음과 같이 표시 됩니다. 초록색 : FPN 위치 빨간색 : Temporal 노이즈 위치 다음 단계는 PRNU(Photon Response Non-Uniformity)를 보정합니다 . PRNU 보정을 위해 균일한 Gray Image를 취득해야 합니다. 조명 및 타겟 (예시 :A4 용지)의 표면이 균일한지 확인합니다. 빛의 밝기는 히스토그램의 2/3 위치가 적절합니다. Xeneth64 View 메뉴에서 히스토그램을 활성화 할 수 있습니다. 버튼을 클릭하면 이미지를 획득하고 분석이 진행 됩니다. PRNU 분석이 완료되면 이미지 뷰어에 다음과 같이 표시됩니다. 노란색 : PRNU 위치 보라색 : Temporal 노이즈 위치 Finichi 버튼을 클릭하면 Calibarion 정보를 파일로 저장할 것인지 확인 메세지가 표시됩니다. 경로를 지정하면 Calibration 파일이 저장됩니다. Calibration 생성후 버튼을 클릭하여 활성화 여부를 설정 할 수 있습니다. 왼쪽 이미지는 비활성화 , 오른쪽 이미지는 활성화 후 스캔 된 모습 입니다. 5. Calibration 정보 카메라에 저장하는 방법 이전 단계에서 저장한 Calibration 파일을 카메라 메모리에 저장 할 수 있습니다 . Xeneth64 프로그램의 Settings 메뉴에서 버튼을 클릭합니다. Calibration set control 카테고리의 Selector 에서 저장 공간을 선택합니다. 0~6 까지는 기본 값이 보관되어 있고, 7~15는 비어 있습니다. Slot을 선택하면 Slot Info에 Free 또는 Not Free로 표시됩니다. Xeneth64 Settions 메뉴에 파라미터 갱신 주기를 설정 할 수 있습니다. 즉각 파라미터 확인을 위해 짧게 설정 합니다 Free 상태의 Slot을 선택하고 store의 버튼을 클릭 합니다. 파일 선택 창이 표시되면 Calibration 파일을 선택합니다. 파일 선택 후 진행 창이 잠시 표시되고 사라집니다. Slot 15의 상태를 확인하면 Not Free로 표시됩니다. 즉, 정상적으로 Slot 15에 Calibration 정보가 저장 됐습니다. Calibration 정보를 삭제할 Slot을 선택한다 그리고 Clear 버튼을 클릭하면 즉시 정보가 비워집니다 정상적으로 비워졌다면 Slot Info에 Free로 표시됩니다. 6. User set 관리하는 방법 설정된 파라미터 정보를 카메라의 User set 공간에 저장할 수 있습니다. User Set Control 카테고리의 Selector 에 Slot 0~15중 하나를 선택합니다. 선택한 Slot 상태에 따라 Slot Info에 Free, Not Free가 표시됩니다. Default는 카메라 전원 입력시 불러와지는 Slot 을 의미합니다. Save의 버튼을 클릭하면 저장됩니다. 카메라의 user set 공간에 저장된 파라미터 설정 값을 불러올 수 있습니다. User set control 카테고리의 Selector에 Slot 0~15중 하나를 선택합니다 선택된 Slot 상태에 따라 Slot Info에 Free, Not Free가 표시됩니다. Load의 버튼을 클릭하면 불러옵니다. 이번 시간에는 XENICS_CXP_Manx SQ 카메라 사용 방법에 대해서 알아 보았습니다. 도움이 되셨나요 ? 문의 사항 있으시면 머신비전 솔루션 전문 기업 화인스텍에 문의하세요 . 언제나 여러분과 함께 하겠습니다. www.fainstec.com으로 이동.
2022.10.281. 설치 방법 • CLIP Studio v1.5.0.exe를 실행합니다. • 아래 그림과 같이 Welcome 페이지가 표시됩니다. • 버튼을 클릭합니다. • 라이선스 화면입니다. • CLIP Studio를 설치하기 위해 버튼을 클릭합니다. • 설치 구성 요소 선택 화면입니다. • Files와 Driver는 기본 선택이고, CLIP SDK는 선택 항목입니다. CLIP SDK를 설치하기 위해 체크하고 버튼을 클릭합니다. • 설치 경로 선택화면입니다. 버튼을 클릭하여 설치를 진행합니다. • 설치 과정 중 Microsoft Visual C++ 2013, 2015-2019 Redistributable (x64) 설치 화면이 표시 됩니다. • 이미 설치가 돼있다면, 왼쪽 그림처럼 표시됩니다. 이 때 버튼을 클릭합니다. • 설치가 안되어 있다면, 오른쪽 그림처럼 표시됩니다. 설치 후 버튼을 클릭합니다. • 다음은 Common Vision Blox (x64) 설치 화면입니다. • AT 제품을 사용하기 위한 드라이버를 제공합니다. • 설치 방법은 간단하게 버튼만 클릭하면 됩니다. • 다음은 cxSupportPackage 2.9.0 설치 화면입니다. • AT 제품의 SDK 및 유틸리티가 설치됩니다. • 설치 방법은 간단하게 버튼만 클릭하면 됩니다. • 모든 설치를 완료하면, 아래와 같이 CLIP Studio 프로그램이 실행됩니다.
2022.10.27Calibrartion File Upload • C5-CS 센서에 Calibration File 을 업로드하기 위해서는 CVB에서 제공하는 유틸리티를 사용해야 합니다. • 아래의 기본 경로에서 GEVConfigManager.exe 프로그램을 실행합니다. C:\Program Files\STEMMER IMAGING\Common Vision Blox\Hardware\StemmerImaging\Utilities • Filter Driver 항목에서 업로드가 필요한 센서를 선택하고 버튼을 클릭합니다. • 센서 연결 후 좌측 상단의 File Upload 메뉴를 클릭합니다. • 새로 저장할 공간을 선택하고 버튼을 클릭합니다. • 제조사로부터 특별한 언급이 없었다면 CalibrartionUser를 선택합니다. • 파일 선택 창이 표시되면 업로드할 Calibrartion File(*.xml)을 선택합니다. • 업로드가 완료되면 아래와 같이 메시지 창이 표시됩니다. 2. Calibrartion File Download • C5-CS 센서에 Calibrartion File을 다운로드 하기 위해서는 CVB에서 제공하는 유틸리티를 사용해야 합니다. • 아래의 기본 경로에서 GEVConfigManager.exe 프로그램을 실행합니다. C:\Program Files\STEMMER IMAGING\Common Vision Blox\Hardware\StemmerImaging\Utilities • Filter Drivier 항목에서 다운로드가 필요한 센서를 선택하고 버튼을 클릭합니다. • 센서 연결 후 좌측 상단의 File Download 메뉴를 클릭합니다. • 센서의 특정 공간을 선택하고 버튼을 클릭합니다. • 파일 저장 창이 표시되면 다운로드 할 Calibration File (*.xml)의 이름을 지정하고 버튼을 클릭합니다. • 다운로드가 완료되면 아래와 같이 메시지 창이 표시됩니다.
2022.10.27Auto Start 모드 설명 Auto Start 모드란? • 일반적인 검사 시스템의 경우, 스캔을 위한 물체 감지를 위해 근접 센서를 사용하는 것이 일반적입니다. • 하지만 경우에 따라 근접 센서를 사용하지 못하는 경우, 3D 센서 내부에서 물체를 감지하는 기능을 사용할 수 있습니다. • Auto Start 모드는 자동저으로 물체를 감지하고 이미지 취득을 트리거하여 전체 물체를 스캔합니다. • 또한, 시작 트리거 이전에 캡처된 히스토리 버퍼(History Buffer) 데이터를 획득하여 완전한 스캔을 보증하는 옵션이 있습니다. Auto Start 모드 동작 원리 • AOI 내에 물체가 인식될 때까지 3D 스캔을 대기합니다. 하지만 물체 인식을 위한 데이터 취득은 계속됩니다. • AOI 내에 물체가 인식되면 본격적인 3D 스캔이 시작됩니다. • AOI 내의 물체를 인식하기 위한 파라미터 설정이 필요합니다. 2. Auto Start 모드 적용 과정 Auto Start 모드 적용 과정 - AOI • cxExplorer에서 물체가 보이는 조건으로 2D Profile 이미지를 취득합니다. • 좌측 상단의 아이콘을 클릭하여 AOI Rectangle을 지정하고, 아이콘을 클릭하여 AOI를 설정합니다. Auto Start 모드 적용 과정 - SequencerMode • SequencerMode를 Auto Start로 설정합니다. • SequencerMode를 Auto Start로 설정해야, 이와 관련된 모든 파라미터에 접근이 가능합니다. Auto Start 모드 적용 과정 - AutoStartThreshold • Auto Start 조건이 충족되는 라인 위치를 정의합니다. • 해당 파라미터는 AbsolutePosition 값에 따라 계산 방법이 달라집니다. -> AbsolutePosition 은 CameraControls > ModeAndAlgorithmControls 에 있습니다. • AutoStartThreshold 계산 예시는 다음과 같습니다. -> 설정한 AOI 정보가 다음과 같을 때 * AoiHeight : 50 * AoiOffsetY : 800 -> AbsolutePosition 값에 따라 다음과 같이 계산됩니다. * AutoStartThreshold = 800 + 50/2 = 825 (AbsolutePosition : TURE) * AutoStartThreshold = 50/2 = 25 (AbsolutePosition : FALSE) Auto Start 모드 적용 과정 - AutoStartNumPixel • 레이저 위치 외에도, 충족되는 유효한 레이저 위치의 수를 정의합니다. • 캡처 된 각 프로파일의 위치 값이 AutoStartNumPixel의 수를 초과하지 않는 한, 센서는 시작 트리거가 생성되지 않습니다. Auto Start 모드 적용 과정 - Column Evaluation Mask • 유효한 센서 열과 제외되어야 하는 센서 열을 정의합니다. • 적용 예시는 다음과 같습니다. -> 0~2047 중 500~1500 Column만 유효 열로 설정하고 싶을 때. * ColRangeStart : 500, ColRangeEnd : 1500, ColRangeEnableCommand 실행 * ColRangeStart : 0, ColRangeEnd : 499, ColRangeDisableCommand 실행 * ColRangeStart : 1501, ColRangeEnd : 2047, ColRangeDisableCommand 실행 * ColRangeAvtivate 실행 Auto Start 모드 적용 과정 - AutoStartOption • 레이저 라인 위치의 유효 범위를 정의합니다. • 옵션에 따라 위, 아래 방향으로 레이저 라인을 인식합니다. * PosLessThanAtuoStartThreshold * PosGreaterThanAtuoStartThreshold Auto Start 모드 적용 과정 - AutoStartBufferOption • 시작 트리거가 시작되기 전에 미리 취득된 데이터를 얻을지 정의합니다. • 다음의 옵션이 제공됩니다. * none * HistoryBuffer • 3D 모드에서 AT 제품은 3개의 내부 버퍼를 사용하여 프로파일을 동시에 취득하고, 3D 프레임을 PC로 전송합니다. HistoryBuffer는 이 버퍼들 중 하나입니다. • 설정된 옵션에 따라 첫 번째 프레임(Buff#1)이 버려질 수 있습니다. • HistoryBuffer의 크기는 제한되어 있으며, 버퍼가 가득 차면 가장 오래된 데이터를 덮어쓰기 시작합니다. • 또한, HistoryBuffer와 함께 청크(Chunk) 모드를 사용해야 합니다. -> 청크 모드의 사용 방법은 cx_cam_chunk_test 예제 코드를 참고하세요 • HistoryBuffer의 청크 데이터에는 실제 유효한 Y 크기가 포함되어 있습니다. -> sizeYReal : 유효한 프로파일 수 • 예제 코드를 실행하면 아래와 같이 실제 유효한 Y 크기를 얻을 수 있습니다. • 다시 정리하면, HistoryBuffer 를 사용하여 트리거 된 직전 이미지를 얻을 수 있습니다. • 하지만, 실제 유효한 Y 크기를 얻어 추출하고, 트리거 된 직후 이미지와 병합(merge) 작업이 필요합니다.
2022.10.271.카메라 설정 카메라 동작 / 노출 제어 설정 카메라 촬영 신호 - 프레임 그래버에서 / 카메라 노출 제어 - 카메라에서 Synchronization mode : External Exposure Mode : Edge Preset 카메라 촬영 신호: 프레임 그래버에서 / 카메라 노출 제어 - 프레임 그래버 에서 Synchronization mode : External Exposure Mode : Pulse Width 2. Multicam Camfile 열기 Multicam 실행 및 Camfile 열기 Multicam Studio를 관리자 권한으로 실행 합니다. Multicam Studio의 가장 좌 상단에 위치한 버튼을 클릭 합니다. 인터페이스 / Camile 경로 선택 Camera Link 인터페이스 라디오 버튼을 클릭 후 "Next" 버튼을 클릭 합니다. 아이콘을 클릭하여 Camefile이 있는 경로를 선택합니다. 제조사 하위에 있는 카메라 모델명을 선택하고 "Next" 버튼을 클릭합니다. Camfile /Topology /Connetor 선택 Camfile을 선택 및 하단에 표기된 Camfile 이름을 확인 후 "Next"버튼을 클릭 합니다. 보드의 종류에 따른 Topology /Connector 선택 Full/Base : Topology -> Mono / Connector -> M DualBase : Topology -> Duo /Connector -> A 또는 B 설정을 모두 끝마치고 "Finish" 버튼을 누르면 Camfile이 열립니다. Camfile Open 확인 하단 이미지에 붉은 영역으로 표기된 영역과 같이 Camfile이 Open 됬는지 확인 합니다. 3. Encoder 동작 모드 설정 광학계 사양 및 파라미터 값 계산 (PERIOD) PERIOD 모드 프레임그레버 촬영 신호를 설정된 주기만큼 일정하게 생성 및 전송 전송받은 신호로 카메라는 주기적으로 이미지 취득 카메라 설정 예시를 들기 위해 임의의 사양 지정 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(촬영 주기) - 4us (Offset Time) = 496us 이하 카메라가 이미지 취득 후 다음 동작을 위해서 Offset Time이 필요하며, 센서 종류 또는 카메라 제조사마다 값이 상이합니다. "Encoder Control" 카테고리 "LineRateMode"를 PERIOD 모드로 변경 합니다 "Period_us"를 500us(Line interval) 값으로 설정 합니다. Encoder Control" 카테고리 "Expose_us"에 사용하고자 하는 Exposure 값을 입력합니다. 설정한 Expose_us 만큼 카메라로 Pulse가 전송됩니다. 단, Expose_us에 설정한 노출 값은 카메라의 설정이 Pulse Width 모드에서만 적용됩니다. (카메라 내부 노출 제어 설정 시 트리거 신호로만 인식함) Encoder 체배 신호 설명 1 체배 신호 A 상의 Rising Edge 또는 Falling Edge 신호를 사용하며, Encoder의 A 상 신호가 4um 이동마다 발생하며, 항상 A 상의 Rising Edge 또는 Falling Edge만 사용하므로 신호의 발생 간격은 4um입니다. 2 체배 신호 A 상의 Rising Edge와 Falling Edge 신호를 사용하며, Encoder A 상 신호가 4um 이동마다 발생하며, 항상 A 상의 Rising Edge와 Falling Edge 모두 사용하므로 신호의 발생 간격은 Encoder Pitch 값의 ½인 2um입니다. 4 체배 신호 A 상과 B 상의 Rising Edge와 Falling Edge 신호를 모두 사용하며, Encoder A 상 신호가 4um 이동마다 발생하며, 항상 A 상과 B 상의 Rising Edge와 Falling Edge 모두 사용하므로 신호의 발생 간격은 Encoder Pitch 값의 ¼인 1um입니다. Pulse 모드 프레임 그래버에서 외부 신호를 받아서 촬영 (DIN input 또는 IIN Input) RateDivisionFactor 파라미터를 이용하여 입력 신호에 대한 촬영 비율을 조정 가능 카메라 설정 예시를 들기 위해 임의의 사양 지정 Pixel size(카메라 픽셀 사이즈) : 3.5um X 3.5um Lens magnification(렌즈 배율) : 0.875x Resolution(실제 분해능) 3.5um (카메라 픽셀 사이즈) / 0.875 (렌즈 배율) = 4um X 4um 카메라 설정 예시를 들기 위해 임의의 사양 지정 Motion Speed(모션 속도) : 10mm/s Line interval(촬영 주기) : 4um(실제 분해능) / 10mm/s(모션 속도) = 400us Exposure time(노출) : 400us(촬영 주기) – 4us(Offset Time) = 396us 이하 카메라가 이미지 취득 후 다음 동작을 위해서 Offset Time이 필요하며, 센서 종류 또는 카메라 제조사마다 값이 상이합니다. Encoder Pitch : 4um Encoder 1 Pulse 당 모션이 이동하는 거리로서 Encoder 성능에 따라 달라집니다. Line Pitch(=Resolution) : 4um 현재 라인과 다음 라인의 물리적인 간격을 의미하며 1:1 영상을 맞추기 위해 실제 분해능 값과 동일합니다. RateDivisionFactor : 입력된 값 N에 대하여 N-1개의 펄스를 무시합니다. 5 입력 시 첫 촬영 후 5-1 = 4개의 신호를 무시 후 다음 펄스를 발생시킵니다. 정수 단위만 입력 가능하며 입력할 수 있는 범위응 1~512 입니다. Encoder Pitch는 A상과 B상의 1,2,4 체배 신호에 따라 입력 값이 달라집니다. Multicam 파라미터 설정 "Encoder Control" 카테고리 "LineRateMode" 파라미터를 PULSE 모드로 변경합니다. "LineTrigCtl"은 DIFF 또는 DIFF_PAIRED를 사용합니다. (신호 종류가 LVDS가 아닐 시 ISO 사용 DIFF(A 상 또는 A,B 상 신호 선택하여 연결 가능) 1체배, 2체배, 4체배 신호 모두 사용 가능 역방향 스킨 시 이미지 취득을 금지할 수 있는 기능을 사용 할 수 없습니다. DIFF_PAIRED(A, B 상 신호 모두 연결해야 사용 가능) 1체배, 2체배, 4체배 신호 모두 사용가능 *역방향 스캔 시 이미지 취득을 금지할 수 있는 기능을 사용 할 수 있습니다. "LineTrigLine" 파라미트럴 DIN1_DIN2로 설정 합니다. (4체배 신호 사용 시 ) "LineTrigEdge" 파라미터를 설정 합니다. A상의 상승 Edge만 촬영 신호로 사용하는 경우 -> RISING_A Encoder Pitch가 4um인 경우 -> 4um마다 펄스 인식 A상의 하강 Edge만 촬영 신호로 사용하는 경우 -> FALLING_A Encoder Pitch가 4um인 경우 -> 4um마다 펄스 인식 A상의 상승 / 하강 Edge 모두 촬영 신호로 사용하는 경우 -> ALL_A Encoder Pitch가 4um인 경우 -> 2um마다 펄스 인식 A상, B상의 상승 / 하강 Edge 모두 촬영 신호로 사용하는 경우 -> ALL_A_B Encoder Pitch가 4um인 경우 -> 1um마다 펄스 인식 카메라의 촬영 주기를 맞춰주기 위해 PULSE 모드에서는 RateDivisionFactor 파라미터를 사용합니다. RateDivisionFactor 값 설정 Line Pitch(=Resolution) : 4um / Encoder Pitch : 4um LineTrigEdge가 Rising A 시 -> 4um / 4um = 1 LineTrigEdge가 Falling A 시 -> 4um / 4um = 1 LineTrigEdge가 ALL_A 시 -> 4um / 2um = 2 LineTrigEdge가 ALL_A_B 시 -> 4um / 1um = 4 "Exposure Control" 카테고리 "Expose_us"에 사용하고자 하는 Exposure 값을 입력 합니다. 설정한 Expose_us 만큼 카메라로 Pulser가 전송됩니다. 단, Expose_us에 설정한 노출 값은 카메라의 설정이 Pulse Width 모드에서만 적용됩니다. (카메라 내부 노출 제어 설정 시 트리거 신호로만 인식함) 광학계 사양 및 파라미터 값 계산 (CONVERT) CONVERT 모드 프레임그레버에서 외부 신호를 받아서 촬영(DIN Input 또는 IIN Input) PULSE 모드에서 사용하는 RateDivisionFactor 파라미터 계산 시 정수 형태로 계산되지 않는 경우 사용 Line Pitch와 Encoder Pitch 비율을 입력하여 동작 제어 가능(RateConverter) 카메라 설정 예시를 들기 위해 임의의 사양 지정 Pixel size(카메라 픽셀 사이즈) : 3.5um x 3.5um Lens magnification(렌즈 배율) : x 0.7 Resolution(실제 분해능) 3.5um(카메라 픽셀 사이즈) / 0.7(렌즈 배율) =5um x 5um 카메라 설정 예시를 들기 위해 임의의 사양 지정 Motion Speed(모션 속도) : 10mm/s Line interval(촬영 주기) : 5um(실제 분해능) / 10mm/s(모션 속도) = 500us Exposure time(노출) : 500us(촬영 주기) – 4us(Offset Time) = 496us 이하 카메라가 이미지 취득 후 다음 동작을 위해서 Offset Time이 필요하며, 센서 종류 또는 카메라 제조사마다 값이 상이합니다. Encoder Pitch : 4um Encoder 1 Pulse 당 모션이 이동하는 거리로서 Encoder 성능에 따라 달라집니다. Line Pitch(=Resolution) : 5um 현재 라인과 다음 라인의 물리적인 간격을 의미하며 1:1 영상을 맞추기 위해 실제 분해능 값과 동일합니다. RateConverter : 입력된 펄스의 비율 조절하여 카메라로 출력합니다. Convert 모드의 파라미터은 Line Pitch와 Encoder Pitch에 입력된 값으로 출력 펄스의 비율을 조절합니다. "Encoder Control" 카테고리 "LineRateMode"를 CONVERT 모드로 변경합니다. "LineTrigCtl"은 DIFF 또는 DIFF_PAIRED를 사용합니다. (신호의 종류가 LVDS가 아닐시 ISO 사용) DIFF(A 상 또는 A, B 상 신호 선택하여 연결 가능) 1체배, 2체배, 4 체배 신호 모두 사용 가능 역방향 스캔 시 이미지 취득을 금지할 수 있는 기능을 사용할 수 없습니다. DIFF_PAIRED(A, B 상 신호 모두 연결해야 사용 가능) 1체배, 2체배, 4 체배 신호 모두 사용 가능 역방향 스캔 시 이미지 취득을 금지할 수 있는 기능을 사용할 수 있습니다. "LineTrigLine"를 DIN1_DIN2로 설정합니다.(4 체배 신호 사용 시) "LineTirgEdge"를 설정합니다. A상의 상승 Edge만 촬영 신호로 사용하는 경우 -> RISING_A Encoder Pitch가 4um인 경우 -> 4um마다 펄스 인식 A상의 하강 Edge만 촬영 신호로 사용하는 경우 -> FALLING_A Encoder Pitch가 4um인 경우 -> 4um마다 펄스 인식 A상의 상승 / 하강 Edge 모두 촬영 신호로 사용하는 경우 -> ALL_A Encoder Pitch가 4um인 경우 -> 2um마다 펄스 인식 A상, B상의 상승 / 하강 Edge 모두 촬영 신호로 사용하는 경우 -> ALL_A_B Encoder Pitch가 4um인 경우 -> 1um마다 펄스 인식 카메라의 촬영 주기를 맞춰주기 위하여 CONVERT 모드에서는 EncoderPitch와 LinePitch 파라미터를 사용합니다. LinePitch : 5um(정수) / Encoder Pitch : 4um(정수) 숫자 그대로 입력(좌측 하단 이미지 참고) LinePitch : 5.5um(소수) / Encoder Pitch : 4um(정수) 소수 단위를 입력할 수 없지만, 정수 비가 되도록 배수로 설정하면 비율이 계산되어 이미지가 취득됩니다. "Exposure Control" 카테고리 "Exposure_us"에 사용하고자 하는 Exposure 값을 입력합니다. 설정한 Expose_us 만큼 카메라로 Pulse가 전송됩니다. 단, Expose_us에 설정한 노출 값은 카메라의 설정이 Pulse Width 모드에서만 적용 됩니다. (카메라 내부 노출 제어 설정 시 트리거 신호로만 인식함) 4. 카메라 영상 취득 카메라 영상 취득 Multicam 상단의 Acquisition Start 버튼을 클릭 합니다. SeqLength_Ln : 취득할 라인 수를 설정합니다. PageLength_Ln : 이미지 버퍼의 세로 해상도를 설정합니다. 5. 영상 취득 주의 사항 영상 비율 문제 파라미터 설정이 잘못된 경우 Line Pitch(Resolution) 또는 Encoder Pitch가 실제 사양과 다른 경우 I/O 케이블이 잘못 제작된 경우 Encoder 신호 출력 자체가 문제가 있는 경우
2022.10.271.카메라 설정 ( 트리거 모드 설정 방법) 카메라 촬영 신호 - 프레임그래버에서 / 카메라 노출 제어 - 카메라에서 Synchronization mode : External Exposure mode : Programmable 카메라 촬영 신호 - 프레임그래버에서 / 카메라 노출 제어 - 프레임그래버에서 Synchronization mode : External Exposure mode : Pulse Width 2. Multicam Camfile 열기-RG(Encoder) Camfile Multicam Studio를 관리자 권한으로 실행합니다. Multicam Studio의 가장 좌 상단에 위치한 을 클릭합니다. Camera Link 인터페이스 라디오 버튼을 선택 후 버튼을 클릭합니다. 아이콘을 클릭하여 Camfile이 있는 경로를 선택합니다. 제조사 하위에 있는 카메라 모델명을 선택하고 버튼을 클릭합니다. Camfile을 선택 및 하단에 표기된 Camfile 이름을 확인 후 버튼을 클릭합니다. 보드의 종류에 따른 Topology / Connector 선택 Full / Base : Topology -> Mono / Connector -> M DualBase : Topology -> Duo / Connector -> A 또는 B 설정을 모두 마치고 버튼을 누르면 Camfile이 열립니다. Camefile Open 확인 하단 이미지에 붉은 영역으로 표기된 영역과 같이 Camfile이 Open 됬는지 확인합니다. 3. Encoder 동작 모드 설정 (Period / Pulse /Convert) PERIOD 모드 프레임그레버에서 촬영 신호를 설정된 주기만큼 일정하게 생성 및 전송 전송받은 신호로 카메라는 주기적으로 이미지 취득 카메라 설정 예시를 들기 위해 임의의 사양 지정 Pixel size(카메라 픽셀 사이즈) : 3.5um x 3.5um Lens magnification(렌즈 배율) : 0.7x Resolution(실제 분해능) 3.5um(카메라 픽셀 사이즈) / 0.7(렌즈 배율) = 5um 광학계 사양 및 파라미터값 계산 (Period) 카메라 설정 예시를 들기 위해 임의의 사양 지정 Motion Speed(모션 속도) : 10mm/sLine interval(촬영 주기) : 5um(실제 분해능) / 10mm/s(모션 속도) = 500us Exposure time(노출) : 500us(촬영 주기) – 4us(Offset Time) = 496us 이하 카메라가 이미지 취득 후 다음 동작을 위해서 Offset Time이 필요하며, 센서 종류 또는 카메라 제조사마다 값이 상이합니다. Encoder Pitch : 4um Encoder 1 pluse 당 모션이 이동하는 거리로서 Encoder 성능에 따라 달라집니다. Line Pitch (=Resolution): 4um 현재 라인과 다음 라인의 물리적인 간격을 의미하며 1:1 영상을 맞추기 위해 실제 분해능 값과 동일합니다. Multicam 파라미터 설정 (PERIOD) 카테고리 파라미터를 를 PERIOD 모드로 변경합니다. 를 500us (Line Inteval) 값으로 설정합니다. 카테고리 에 사용하고자 하는 Exposure 값을 입력합니다. 설정한 Expose_us 만큼 카메라로 Pulse가 전송됩니다. 단, Expose_us에 설정한 노출 값은 카메라의 설정이 Pulse Width 모드에서만 적용됩니다. (카메라 내부 노출 제어 설정 시 트리거 신호로만 인식함) Encoder 체배 신호 설명 Encoder Pitch 4um 기준 예시 1 체배 신호 A 상의 Rising Edge 또는 Falling Edge 신호를 사용하며, Encoder의 A 상 신호가 4um 이동마다 발생하며, 항상 A 상의 Rising Edge 또는 Falling Edge만 사용하므로 신호의 발생 간격은 4um입니다. 2 체배 신호 A 상의 Rising Edge와 Falling Edge 신호를 사용하며, Encoder A 상 신호가 4um 이동마다 발생하며, 항상 A 상의 Rising Edge와 Falling Edge 모두 사용하므로 신호의 발생 간격은 Encoder Pitch 값의 ½인 2um입니다. 4 체배 신호 A 상과 B 상의 Rising Edge와 Falling Edge 신호를 모두 사용하며, Encoder A 상 신호가 4um 이동마다 발생하며, 항상 A 상과 B 상의 Rising Edge와 Falling Edge 모두 사용하므로 신호의 발생 간격은 Encoder Pitch 값의 ¼인 1um입니다. 광학계 사양 및 파라미터 값 계산 (Pulse) PULSE 모드프레임그레버에서 외부 신호를 받아서 촬영(DIN Input 또는 IIN Input) RateDivisionFactor 파라미터를 이용하여 입력 신호에 대한 촬영 비율을 조정 가능 카메라 설정 예시를 들기 위해 임의의 사양 지정 Pixel size(카메라 픽셀 사이즈) : 3.5um x 3.5um Lens magnification(렌즈 배율) : 0.875x Resolution(실제 분해능) 3.5um(카메라 픽셀 사이즈) / 0.875(렌즈 배율) = 4um x 4um 카메라 설정 예시를 들기 위해 임의의 사양 지정 Motion Speed(모션 속도) : 10mm/s Line interval(촬영 주기) : 4um(실제 분해능) / 10mm/s(모션 속도) = 400us Exposure time(노출) : 400us(촬영 주기) – 4us(Offset Time) = 396us 이하 카메라가 이미지 취득 후 다음 동작을 위해서 Offset Time이 필요하며, 센서 종류 또는 카메라 제조사마다 값이 상이합니다. Encoder Pitch : 4um Encoder 1 Pulse 당 모션이 이동하는 거리로서 Encoder 성능에 따라 달라집니다. Line Pitch(=Resolution) : 4um 현재 라인과 다음 라인의 물리적인 간격을 의미하며 1:1 영상을 맞추기 위해 실제 분해능 값과 동일합니다. 광학계 사양 및 파라미터 값 계산 (Pluse) RateDivisionFactor : 입력된 값 N에 대하여 N-1 개의 펄스를 무시합니다. 5 입력시 첫 촬영 후 5-1 = 4개의 신호를 무시 후 다음 펄스를 발생 시킵니다. 정수 단위만 입력 가능하며, 입력 할 수 있는 범위는 1~512입니다. Encoder Pitch는 A상과 B상의 1,2,4 체배 신호에 따라 입력 값이 달라집니다. Multicam 파라미터 설정 (Pluse) 카테고리 파라미터를 를 Pulse 모드로 변경합니다. 은 DIFF 또는 DIFF_PAIRED를 사용합니다. (신호 종류가 LVDS가 아닐 시 ISO 사용) DIFF(A 상 또는 A, B 상 신호 선택하여 연결 가능) 1체배, 2체배, 4 체배 신호 모두 사용 가능. 역방향 스캔 시 이미지 취득을 금지할 수 있는 기능을 사용할 수 없습니다. DIFF_PAIRED(A, B 상 신호 모두 연결해야 사용 가능) 1체배, 2체배, 4 체배 신호 모두 사용 가능. 역방향 스캔 시 이미지 취득을 금지할 수 있는 기능을 사용할 수 있습니다. Multicam 파라미터 설정 (Pluse) 파라미터를 DIN1_DIN2로 설정합니다.(4 체배 신호 사용 시) 파라미터를 설정합니다. A상의 상승 Edge만 촬영 신호로 사용하는 경우 -> RISING_A Encoder Pitch가 4um인 경우 -> 4um마다 펄스 인식 A상의 하강 Edge만 촬영 신호로 사용하는 경우 -> FALLING_A Encoder Pitch가 4um인 경우 -> 4um마다 펄스 인식 A상의 상승 / 하강 Edge 모두 촬영 신호로 사용하는 경우 -> ALL_A Encoder Pitch가 4um인 경우 -> 2um마다 펄스 인식 A상, B상의 상승 / 하강 Edge 모두 촬영 신호로 사용하는 경우 -> ALL_A BEncoder Pitch가 4um인 경우 -> 1um마다 펄스 인식 카메라의 촬영 주기를 맞춰주기 위하여 PULSE모 모드에서는 RateDivisionFactor 파라미터를 사용합니다. RateDivisionFactor 값 설정 Line Pitch(=Resolution) : 4um / Encoder Pitch : 4um LineTrigEdge가 Rising A시 -> 4um /4um = 1 LineTrigEdge가 Falling A 시 -> 4um /4um = 1 LineTrigEdge가 ALL_A 시 ->4um / 2um = 2 LineTrigEdge가 All_A_B 시 ->4um / 1um = 4 카테고리 에 사용하고자 하는 Exposure 값을 입력합니다. 설정한 Expose_us 만큼 카메라로 Pluse가 전송됩니다. 단, Expose us 에서 설정한 노출 값은 카메라의 설정이 Pluse Width 모드에서만 적용됩니다. (카메라 내부 노출 제어 설정 시 트리거 신호로만 인식함) 광학계 사양 및 파라미터 값 계산 (Covnert) Convert 모드 프레임 그레버에서 외부 신호를 받아서 촬영 (Din Input 또는 IIN Input) PLUSE 모드에서 사용하는 RateDivisionFactor 파라미터 계산 시 정수 형태로 계산되지 않는 경우 사용 Line Pitch와 Encoder Pitch 비율을 입력하여 동작 제어 가능 (RateCovnerter) 카메라 설정 예시를 들기 위해 임의의 사양 지정 Pixel size (카메라 픽셀 사이즈) : 3.5um x 3.5um Lens Magnification (렌즈 배율) : 0.7x Resolution (실제 분해능 ) : 3.5um (카메라 픽셀 사이즈) / 0.7 (렌즈배율) = 5um x 5um 카메라 설정 예시를 들기 위해 임의의 사양 지정 Motion Speed (모션속도) : 10mm/s Line unterval (촬영주기) : 5um (실제 분해능) / 10mm/s (모션속도) = 500us Exposure Time (노출) 500us(촬영 주기 ) - 4us (Offset Time) = 496us 이하 카메라 이미지 취득 후 다음 동작을 위해서 Offset Time이 필요하며 , 센서 종류 또는 카메라 제조사마다 값이 상이함. Encoder Pitch : 4um Encoder 1 Pulse 당 모션이 이동하는 거리로서 Encoder 성능에 따라 달라집니다. Line Pitch(=Resolution) : 5um 현재 라인과 다음 라인의 물리적인 간격을 의미하며 1:1 영상을 맞추기 위해 실제 분해능 값과 동일힙니다. RateConverter : 입력된 펄스의 비율을 조절하여 카메라로 출력합니다. Convert Mode 의 파라미터인 Line Pitch와 Encoder Pitch에 입력된 값으로 출력 펄스의 비율을 조절합니다. Multicam 파라미터 설정 (Convert) 카테고리 파라미터를 를 Pulse 모드로 변경합니다. 은 DIFF 또는 DIFF_PAIRED를 사용합니다. (신호 종류가 LVDS가 아닐 시 ISO 사용) DIFF(A 상 또는 A, B 상 신호 선택하여 연결 가능) 1체배, 2체배, 4 체배 신호 모두 사용 가능. 역방향 스캔 시 이미지 취득을 금지할 수 있는 기능을 사용할 수 없습니다. DIFF_PAIRED(A, B 상 신호 모두 연결해야 사용 가능) 1체배, 2체배, 4 체배 신호 모두 사용 가능. 역방향 스캔 시 이미지 취득을 금지할 수 있는 기능을 사용할 수 있습니다. Multicam 파라미터 설정 (Convert) 파라미터를 DIN1_DIN2로 설정합니다.(4 체배 신호 사용 시) 파라미터를 설정합니다. A상의 상승 Edge만 촬영 신호로 사용하는 경우 -> RISING_A Encoder Pitch가 4um인 경우 -> 4um마다 펄스 인식 A상의 하강 Edge만 촬영 신호로 사용하는 경우 -> FALLING_A Encoder Pitch가 4um인 경우 -> 4um마다 펄스 인식 A상의 상승 / 하강 Edge 모두 촬영 신호로 사용하는 경우 -> ALL_A Encoder Pitch가 4um인 경우 -> 2um마다 펄스 인식 A상, B상의 상승 / 하강 Edge 모두 촬영 신호로 사용하는 경우 -> ALL_A_B BEncoder Pitch가 4um인 경우 -> 1um마다 펄스 인식 카메라의 촬영 주기를 맞춰주기 위하여 Convert 모드 에서는 EncoderPitch와 LinePitch 파라미터를 사용합니다. LinePitch : 5um (정수) / Encoder pitch : 4um(정수) 숫자 그대로 입력 (좌측 하단 이미지 참고) LinePitch : 5.5um(소수) / Encoder Pitch : 4um (정수) 소수 단위를 입력할 수 없지만 정수 비가 되도록 배수로 설정하면 비율이 계산되어 이미지가 취득됩니다. (우측하단 이미지 참고) 카테고리 에 사용하고자 하는 Exposure 값을 입력합니다. 설정한 Expose_us 만큼 카메라로 Pulse가 전송됩니다. 단, Expose_us에 설정한 노출 값은 카메라의 설정이 Pulse Width 모드에서만 적용됩니다. (카메라 내부 노출 제어 설정시 트리고 신호로만 인식함) 4. 카메라 영상 취득 MultiCam 상단의 Acquisition Start 버튼을 클릭합니다. SeqLength_Ln : 취득할 라인 수를 설정합니다. PageLength_Ln : 이미지 버퍼의 세로 해상도를 설정합니다. 5. 영상 취득시 주의 사항 ( 파라미터 설정 및 신호 입력에 따른 영상 비율 변화) 영상 비율 문제 영상 비율이 맞지 않는 경우 파라미터 설정이 잘못 된 경우 Line Pitch (Resolution) 또는 Encoder Pitch가 실제 사양과 다른경우 I/O 케이블이 잘못 제작된 경우 Encoder 신호 출력 자체가 문제가 있는 경우
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. Neural Network Classification 미리 정의된 클래스 목록 중 가장 확률이 높은 클래스로 분류합니다. Firefly-DL 카메라는 인식된 현재 클래스와 그를 결정하게 된 백분율을 제공 합니다. Object Detection 미리 정의된 클래스 목록 중 이미지 내에 있는 각각의 객체에 대한 확률이 높은 클래스로 분류 합니다 이미지 내의 위치정도(Bounding Box)를 제공 합니다. 동일한 이미지 내에서 다수의 클래스를 검출 할 수 있습니다. 2. 환경 구축하기 OverView 미리 학습된 신경망을 재 학습하여 Movidius Chipset 전용 형식으로 변환 하고, 재 학습된 신경망을 FFY-DL모델에 탑재하여 Deep Learning 검사환경을 구현 합니다. Neural Network의 구축, Firefly-DL에서 Inference가 가능하도록 변환하는 프로세스를 실행 하기 위해서는, 환경 구성이 필요 합니다. 요구되는 프로그램이 이미 설치 되어 있는 경우 (Spinnaker 제외), 프로그램 설정으로 인한 충돌을 방지하고자 재설치를 진행하는 것을 권장 드립니다. Neuro Utility PC에서 사용되는 네트워크 파일 (Neural Network)을 Firefly-DL에서 사용가능한 형식으로 변환하는 기능을 제공 합니다. 변환된 네트워크 파일을 카메라로 업로드 하는 기능을 제공 합니다. 아이콘을 클릭하여 설치를 진행 합니다. 이 나타날 때 까지 Next 를 눌러 진행 합니다. Install을 눌러 설치를 진행 합니다. Python 네트워크 파일 학습 및 FFY-DL 용으로 재 학습을 위한 스크립트를 실행하는 기능을 수행합니다. 아이콘을 클릭하여 설치를 진행 합니다. Add Python 3.5 to PATH를 선택합니다. Install Now를 클릭하여 설치를 진행합니다. Tensor Flow 네트워크 파일을 제작하는 오픈소스 플랫폼 FFY-DL에서 사용 가능 하도록 형식을 변환 (재 학습) 하는 기능을 제공 합니다. 명령 프롬프트를 실행합니다. py -3.5 -m pip install tensorflow==1.13.2를 입력 합니다. Tensor Flow for Poet Google에서 제공하는 Tensor flow로 구현된 네트워크 학습 예제 네트워크를 학습하는 방법을 확인 할 수 있는 스크립트를 포함 합니다. https://github.com/googlecodelabs/tensorflow-for-poets-2 해당 경로에서 파일을 받아 압축을 해제하여 줍니다. Training Data Tensor Flow for Poet을 테스트하기 위한 학습용 이미지 데이지, 민들레, 장미, 해바라기 및 튤립 등 다양한 꽃 사진으로 구성 https://download.tensorflow.org/example_images/flower_photos.tgz 경로에서 데이터를 다운로드 한 뒤 tensorflow-for-poet-2-master\tf_files 디렉토리에서 floswer_photos폴더의 압축을 해제 합니다. MobileNet-SSD (Detection 전용) 사전에 학습된 Caffemodel 및 prototxt파일을 연결하는 예제 Windows 환경에서는 Upload만 가능 https://flir.app.boxcn.net/s/frspfle54xi44qzi9ozybqg5i7s9orhz 해당 경로에서 다운로드 가능 3. Classification Classification - Retrain TensorFlow-for-poet-2-master 폴더 경로로 이동 합니다. 폴더의 Address bar에 cmd를 입력 합니다. (명령 프롬프트 윈도우가 해당 폴더경로를 포함하여 실행 됩니다.) Py -3.5 –m scripts.retrain –how_many_training_steps=500 –output_graph=tf_files/retrained_graph.pb –output_labels=tf_files/retrained_labels.txt –architecture=mobilenet_0.50_224 –image_dir=tf_files/flower_photos 을 명령 프롬프트 윈도우에 적어 실행 합니다. ※사용자의 PC 환경 (CPU)에 따라 학습시간은 상이할 수 있습니다. Retrain이 완료 되었는지 확인합니다. Tensorflow-for-poet-2-master\tf_files 경로에 들어가 retrained_graph.pb 및 retrained_labels.txt 파일이 정상적으로 생성 되었는지 확인 합니다. Classification - Command how_many_training_steps 학습 반복 횟수 일반적으로 많이 학습할 수록 검사 성능 향상. output_graph 재 학습된 Network File의 이름. output_label 재 학습에 사용된 이미지에 대한 Label 정보. architecture 사용되는 신경망 구조. 다양한 mobilenet 버전이 사용될 수 있습니다. image_dir 학습에 이용되는 이미지 경로. Classification - Upload Flir Neuro Utility를 실행 합니다. (관리자 권한으로 실행) Tensorflow (Classification)을 선택 합니다. CONTINUE 를 눌러 다음 단계를 진행합니다. .pb File : Retrain으로 생성된 pb 파일의 경로를 지정합니다. Network Input Width(px) : 224 Network Input Height(px) : 224 Input Layer Name : input Output Layer : final_result Output Directory : FFY-DL 용으로 변환된 네트워크 출력파일의 생성 경로를 지정 합니다. Convert File Name : FFY-DL 용으로 변환된 네트워크 출력 파일의 이름을 지정 합니다. Inference Type : pb파일이 학습된 알고리즘을 선택 합니다. Camera user Set : 저장할 메모리를 지정 합니다. Convert를 눌러 변환 과정을 진행 합니다. 완료가 되면 CONTINUE를 눌러 다음 단계를 진행 합니다. 선택사항 - Validation Validation의 사용할 이미지 폴더 경로를 지정합니다. START를 클릭 합니다. 선택사항 - Validation Validation 결과를 확인 합니다. 흰색 : 학습된 pb 파일에 대한 결과 주황색 : Convert 된 네트워크 결과 CONTINUE를 눌러 다음단계를 진행 합니다. Camera 연결 상태를 확인 합니다. 업로드 방식을 지정 합니다. Flash : Camera Flash Memory에 저장 (비휘발성) DDR : Camera DDR Memory에 저장 (휘발성) Configure & Develop을 눌러 업로드를 진행 합니다.
2022.10.251. Camera GPIO 4EA Bi-direction IO 제공 기본 3.3V 출력이 되며, 외부 회로 (Pull-up) 구성을 통해 24V까지 사용 가능 2. GPIO 설정 Line Selector : 사용할 GPOI 를 선택 Line Model : Input / Output을 선택 Line Source : Inference Output (Infernce 결과를 출력으로 사용) Line Inference Target: Out에 반영시킬 Class를 선택 Line Inference Threshold : Inference 결과에 대한 Accuracy를 선택 ※ Line Inference Target / Threshold는 Line Source가 반드시 Inference Output으로 선택이 되어 있어야 선택 가능. 3. 동작 예시 Class 0의 Inference 결과가 80% 이상일 경우, GPIO0의 출력 발생 Class 1의 Inference 결과가 80% 이상일 경우, GPIO1의 출력 발생 4. Acquisition On Boot Enable 설정하기 카메라 부팅 완료 후에 즉시 영상 촬영 및 검사 진행이 가능하도록 설정이 가능합니다. 5. UserSet 저장하기 설정완료 이후 진행 합니다. UserSetSelector : 저장할 메모리 공간을 선택 UserSetDefault : 파워 재인가시 Load하는 메모리 공간 선택 ※ UserSetSelector의 경우 , Inference File 업로드 시 , Neuro Utility에서 선택했던 UserSet을 그대로 사용하는 것을 권장 드립니다.
2022.10.251. Inference 파일 상태 확인 Inference Network Status 값을 확인 합니다. Success : Inference File이 정상 업로드 된 상태 Empty : Inference File이 없는 상태 2. Inference 파일 제거하기 Feature Tap에서 File을 검색 합니다. File Selector를 Inference Network로 설정 합니다. File Operation Selector를 Delete로 설정합니다. FileOperationExecuete를 Execute 합니다. 전원을 재인가 합니다. 3. Inference 파일 상태 확인 Inference Network Status 값이 Empty인지 여부를 확인 합니다.
2022.10.25