화인스텍 로고

지식정보

제품사용 매뉴얼

FLIR_Classification 사용 방법

2022-10-25

 

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을 눌러 업로드를 진행 합니다.

첨부파일