총 32 건
1. 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.251.영상 취득 학습을 하고자 하는 대상체의 영상을 취득합니다. 확장자는 PNG, JPG로 이미지를 저장 합니다. 2. Data Annotation Data Annotation은 Detection과 같은 지도 학습 전처리의 필수 단계입니다. 딥러닝 네트워크는 Annotation 설정이 되어 있는 데이터에서 반복되는 패턴을 인식하는 방법을 학습니다. 충분한 학습이 되어야 새 데이터가 제공될 때, 패턴을 인식하게 됩니다. 다운로드 링크 : https://tzutalin.github.io/labelImg/ Labelmg를 실행 합니다. Open Dir를 클릭하여 이미지 경로를 Open 합니다. Change Save Dir를 클릭합니다. Data Annotation 결과 파일 (XML)이 저장될 경로를 설정 합니다. ※이미지 경로 하위경로로 만드는 걸 권장합니다. 키보드의 “W“ 버튼을 클릭 합니다. Drag 기능을 이용하여 Object에 Bounding Box를 그립니다. Label 명을 기입하고 OK 버튼을 클릭 합니다. File 을 눌러 Save를 실행 합니다. ※View 목록에 “Auto Saving” 을 체크 할 경우, 자동 저장이 됩니다. File List의 이미지를 선택해 가며 모든 이미지에 Annotation을 진행 합니다. Save 경로에, XML 파일이 정상적으로 저장되어 있는지 확인 합니다. 3. Augmentation Detection 학습을 위해 데이터 셋의 숫자를 증가 시키는 작업이 필요합니다. (이미지 수가 충분한 경우, 해당 단계는 Skip하여도 됩니다.) Augmentation은 취득된 이미지를 변형시켜 새로운 이미지를 생성 합니다. Pip를 설치 합니다. Sudo apt-get install python3-pip 다음 명령어를 실행 합니다. sudo -H pip3 install --upgrade --ignore-installed pip setuptools Imgaug를 설치 합니다. pip3 install imgaug 하기 명령어를 실행 합니다 cd Desktop git clone https://github.com/FLIR/IIS_Object_Detection.git IIS_Object_Detection 폴더의 image_aug_w_bounding_boxes.py 를 실행합니다. “RGB”를 “L”로 변경 합니다. (Mono 이미지 학습 시) 다른이름으로 저장을 진행 합니다. ex ) image_aug_w_bounding_boxes_Mono.py IIS_Object_Detection 폴더에 학습에 필요한 이미지를 옮깁니다. 수정된 py를 이미지 경로로 복사 합니다. 터미널을 실행 합니다. 하기 명령어를 실행 합니다. python3 image_aug_w_bounding_boxes_Mono.py --input_image_dir='./image/’ --input_bbox_dir='./Annotate/' 정상적으로 동작이 완료 되었는지 확인 합니다. 4. Docker 실행 하기 하기 명령어를 실행 합니다. docker run --gpus all --rm -it --name caffe-env-1 -e DISPLAY=${DISPLAY} --net=host --privileged --shm-size=2g --ulimit memlock=-1 --ulimit stack=67108864 -v /dev:/dev -v ~/Desktop:/home/dockerasigiuk/caffe-ssd_devel:latest 해당 terminal은 켜둔 상태로 유지 합니다. 5. Docker 학습 환경 구성하기 새로운 terminal을 실행합니다. 하기 명령어를 실행 합니다 cd Desktop/IIS_Object_Detection nano project.config DATA_DIR에 Augmentation 경로를 설정 합니다. CLASSNUM은 학습하고자 하는 Detection Class 개수를 의미 합니다. *항상 학습 개수 +1 로 설정해야 합니다. (BackGround) CLASSES 는 학습하는 Detection Class의 이름을 지정 합니다. 다수인 경우 “camera,lens” 형태로 ‘,’로 구분합니다. PROJECT_NAME은 출력물이 저장될 폴더명을 지정합니다. (학습 시 자동 생성 됩니다) 6. Project.config 수정 하기 하기 명령어를 실행 합니다.Nano project.config 수정할 부분을 수정한 뒤 CTRL + O , Enter, CTRL + X 를 진행 합니다. 7. 학습 하기 Docker가 실행중인 terminal에서 경로를 이동 합니다. cd IIS_Object_Detection 학습 실행 명령을 실행 합니다. ./run.sh 8. Project.config 수정하기 Docker가 실행중인 Terminal에서 목록을 확인 합니다.ls IIS_Object_Detection 폴더로 이동 합니다. cd IIS_Object_Detection 학습을 시작 합니다. ./run.sh
2022.10.251. 네트워크 자동 설정 Spinnaker SDK 설치 경로의 Utilities에 다양한 툴이 있습니다. GigE 네트워크 자동 설정을 위해 AdapterConfigGUI를 실행 합니다. 프로그램 실행 후 Welcome 탭에 다음의 설명이 표시 됩니다. IP 구성(어댑터 IP 주소와 서브넷 마스크) 고급 설정 (어뎁터 수신 버퍼 , 전송 버퍼 및 점보 패킷) 기본 값은 모두 체크되어 있으며, 이대로 "Start" 버튼을 클릭 합니다. 설정이 필요한 네트워크 어댑터를 선택합니다. 오른쪽 예시 이미지에서 #1 어댑터 설정을 해보겠습니다. 체크박스 클릭 후 "Next" 버튼을 클릭 합니다. 만약, "Smart Config" 버튼을 클릭하면 자동으로 설정이 완료 됩니다. 고정으로 설정할 IP를 입력하고 "Next" 버튼을 클릭 합니다. "Auto Fill All" 버튼을 클릭하면 수신 버퍼 , 전송 버퍼, 점보 패킷이 자동으로 설정됩니다. 이후 "Next" 버튼을 클릭 합니다. 최종적으로 설정 될 값들을 확인합니다. 이상이 없다면 "Configure" 버튼을 클릭합니다. Gige Camera 사용을 위한 설정이 완료되었습니다. 설정 전, 후 값들이 표시 됩니다.
2022.10.251. AdapterConfigGUI 프로그램 실행하기 시작 > Spinnaker SDK (64Bit) > Utilities를 선택합니다. AdapterConfigGUI 프로그램을 실행 합니다. 2. AdapterConfigGUI 프로그램 사용하기 "Start" 버튼을 클릭 합니다. 설정하고자 하는 NIC Port를 선택 합니다 "Next" 버튼을 클릭 합니다. 네트워크 카드에 설정하고자 하는 IP를 IP Address와 Subnet Mask에 입력 합니다. "Next"를 클릭 합니다. Receive Buffers (Bytes)를 최대 값으로 설정 합니다. Transmit Buffers (Bytes)를 최대 값으로 설정 합니다. Jumbo Packets (Bytes)를 최대 값으로 설정 합니다. "Next" 를 클릭 합니다. ※ 네트워크 카드 드라이버에 따라 최대 설정 값은 하기 이미지와 다를 수 있습니다. ※ 일반적으로 Receive Buffers(Byte)의 값은 2048 이상, Jumbo Packests 는 9Kb (9014)로 설정 되며, 해당 값이 설정이 되지 않을 경우 네트워크 카드 드라이버 재설치가 필요 합니다. "Configure" 를 클릭 합니다. 네트워크 설정이 정상적으로 되었는지 확인 합니다. "Finish"버튼을 클릭하여 설정을 종료 합니다.
2022.10.241. 고정 IP 설정 방법 SpinView 실행 후 Devices 목록에서 고정 IP 설정할 카메라를 확인합니다. 카메라의 IP가 올바르게 설정되어 있지않다면 표시되어 있어 고정 IP 설정하기 위해서 임시로 IP를 설정해야 합니다. 우 클릭하여 "Device's IP is mis-configured -> Force IP to resolve"를 클릭합니다. 카메라에 표시가 사라졌다면 정상적으로 임시 IP설정이 된 것입니다. 고정 IP를 설정하기 위해 다시 우 클릭하여 "GigE Configuration -> IP Configuration"을 클릭합니다. Device IP Configuration 창이 나타나면 "Persistent IP"를 체크 해줍니다 Network Interface Card 정보에 맞춰 올바른 IP Address, Subnet Mask ,Default Gateway를 입력합니다. Default Gateway는 Network Interface Card, 카메라 등 IP 사용하는 Device 들과 충돌 나지않도록 설정해야합니다. “Set Current and Persistent IP Configuration” 버튼을 누르면 현재 IP와 고정 IP 모두 입력한 설정 값으로 변경됩니다. “Set Persistent IP Configuration” 버튼을 누르면 현재 IP는 그대로 이며, 고정 IP 설정이 입력한 설정 값으로 변경되어 전원 재 인가 후 적용된 것을 확인 할 수 있습니다. 버튼을 누른 후 나타나는 팝업 창에서 “예(Y)” 를 클릭해야 적용됩니다. ※ 고정 IP 적용 후 Camera 전원을 재인가 하거나 Device Reset을 진행해줘야 합니다.
2022.10.241. Terminal 실행 Terminal을 실행 합니다. SpinUpdateConsole이 설치되어 있는 경로로 이동 합니다. Command : cd/ usr/bin 2. SpinUpdateConsole 명령어 확인 하기 커맨드를 입력하여 명령어의 종류와 기능을 확인합니다. Command : SpinUpdateConsle --help 3. Firmware Update 진행 SpinUpdateConsole을 이용하여 Firmware Update를 진행 합니다. Command : SpinUpdateConsole –R{SerialNumber} –U {firmware file path and name} 예시 Serial Number : 12345678 Firmware file Path : /home/tech/Desktop Firmware file Name : FFY-U3-16S2M-DL_1905.4.89.0.ez2 Command : SpinUpdateConsole –R12345678 –U /home/tech/Desktop/FFY-U3-16S2M-DL_1905.4.89.0.ez2 완료시 HAL Updater Complete가 표기 됩니다. 진행 Process 표시 없이 해당 메시지가 뜰 경우, 카메라 재연결후 업데이트 재시도가 필요합니다. 4. Firmware Update 결과 확인 업데이트 직후에는 , Update Monitor로 카메라가 인식됩니다. 카메라 전원을 재연결 합니다. Firmware를 검색하여 정상적으로 업데이트가 되었는지 확인 합니다.
2022.10.241. Firmware Update 방법 시작 프로그램 -> Spinnaker SDK (64bit) -> SpinView를 실행 합니다. Device 목록에서 Update 하려는 카메라를 선택합니다. 선택된 카메라에서 마우스 우클릭 -> Update Device Firmware를 선택합니다. Device Information의 내용을 통해 현재의 Firmware Version를 확인합니다. Browse 버튼을 선택하여 Update 파일이 있는 경로를 지정합니다. (확장자는 .ez2) 경로 및 파일명에 한글이 포함 될 경우 문제가 될 소지가 있으므로 영문 및 숫자로 변경하여 주시기 바랍니다. Start 버튼을 선택하여 Update를 시작합니다. 전원이 끊어지거나 다른 Device 연결 시 문제 될 소지가 있으므로 Update 작업이 완전히 종료될 때까지 기다려 주시기 바랍니다. 작업 완료 후 카메라 전원 재 인가 하여 Firmware Version를 확인하시면 됩니다.
2022.10.241. 설정 방법 시작 메뉴 Ponit Grey FlyCapture2 SDK에서 Utilities를 클릭 합니다. GigEConfigurator를 실행 합니다. "Refresh" 버튼을 클릭 합니다. 고정 IP를 설정할 카메라를 선택합니다. "Automatically Force IP"을 클릭합니다. "예"를 클릭합니다. Current IP Configuration IP Address와 Subnet Mask 값을 확인합니다. Persistent IP Configuration IP Address, Subnet Mask, Default Gateway 값을 Current IP Configuration의 IP Address, Subnet Mask에 맞게 설정합니다. (3번째 값까지 동일하게 설정 후 4번째 값은 겹치지 않게 설정합니다.) IP Address Assignment Configuration LLA, DHCP, Persistent IP를 그림과 같이 설정합니다. 를 클릭합니다. Confirm persistent IP settings for Camera "예"를 클릭합니다. Success writing persistent IP configuration to camera "확인"을 클릭합니다. 카메라 전원을 재 연결 합니다.
2022.10.24