Jetson Nano

Jetson Nano AI World imagenet-console.py 코드를 네트워크별로 실행해 보자---III

coding art 2020. 5. 24. 21:13
728x90

imagenet-console.py를 실행을 위한 command line 명령 사용법을 알아보자. 이 코드는 입력 이미지 사진을 처리하여 그 인식 과정 및 결과를 터미널에 출력하고 아울러 인식률을 이미지에 출력해준다.

아래의 출력은 IDLE3에서 command line 입력 없이 실행시켰을 경우에 나오는 안내문이다. imageNet arguments로서 10개 모델 중에 하나를 지정해야 한다. 아울러 file_in 에 해당하는 image 분석을 위한 이미지 데이터 파일을 하나 지정해야 하며 아울러 image 분석 결과를 담은 출력 파일을 지정하자.

다음과 같이 alexnet을 사용하여 구체적인 command line 명령을 실행해 보자.

python3 imagenet-console.py network=alexnet images/orange_0.jpg output_0.jpg

알렉스네트워크를 사용하여 99.13% 인식률이 얻어진다. 알렉스 네트워크 외에도 이미 설치된 9종의 네트워크를 지정하여 사용이 가능하다.

아래 결과는 알렉스 또는 구글 네트워크 보다 좀 더 인식률이 높은 ResNet-18 ResNet-50을 사용한 결과로서 인식률이 각각 99.6%, 99.8%임을 알 수 있다. 한편 ResNet-50을 사용할 경우부터 컴퓨팅 부담이 상당히 커지는데 ResNet-101 이상을 사용하려면 Jetson Nano SD카드 메모리 용량 문제가 있을 수도 있다.

imagenet-console.py 의 코드 구조를 살펴보면 종류별로 네트워크를 지정 호출함에 있어 imageNet 클라스를 사용하고 있으므로 command line 명령의 입력 파라메터 주는 법만 잘 알면 된다. 한편 imagenet-console.py에 사용되는 pretrained 네트워크는 파일 크기가 크고 컴퓨팅 부담이 커서 오브젝트 검출(objects detection)에 사용하기는 부담스러워 SSDMobileNet 이 사용된다.