NPU:Intel Compute Stick 2

30년 공백을 깨고 돌아 온 Neural Processing Unit: Intel Neural Compute Stick 2 설치

coding art 2019. 11. 25. 20:48
728x90

 

 

 

인텔의 뉴럴 Stick 2 USB를 윈도우즈에 꽂은 후 드라이버를 설치해 보자. 설치과정은 다음의 url 주소의 블로그 내용과 OS 별 동영상을 참조하자. 동영상 속도가 빠르므로 여러번 재생해 볼 필요가 있을 지도 모르겠다.

Get Started with Intel Neural Compute Stick 2

https://software.intel.com/en-us/articles/get-started-with-neural-compute-stick

 

Step 2OpenVINO 설치 과정에서 보면 벌써 R1R3 Revision 되었음을 알 수 있다. 그대로 설치하도록 하자.

 

 

 

아울러 주의할 점은 설치과정 블로그 작성 시점이 2018년이므로 사용하는 설치하는 소프트웨어의 업그레이드가 많이 진행되었으나 만약의 경우를 대비해 반드시 최신 버전으로 할 필요는 없다. Visual Studio2019로 설치하되 과정에서 보면 C++ 사용 옵션만을 선택하고 Python은 배제되어 있는데 실제로 Visual Studio로는 Python 코딩이 전혀 이루어지지 않으며 Python 코딩을 위해서는 Anaconda와 같은 Front end를 사용해야 할 것이다.

 

한편 Python은 지금 3.8 이상을 넘어가고 있지만 동영상에서처럼 굳이 3.6.5 버전을 찾아서 설치하도록 하자. Cmake 3.4 or higher 이므로 최신 버전을 설치해도 무방하다.

 

전체 설치 과정을 완료 후 예제를 돌려 본 결과 잘 돌아가는 듯 하였으나 최종적으로 에러가 발생하였다. 그 원인을 알 수 없어 윈도우즈 10 시스템을 재부팅 하였더니 문제가 해결되었다.

  

 

 

위와 같이 demo 폴더의 car.png를 예제를 실행시켜 나온 다음의 sports car 67% 결과를 참조해 보자. 명령에서 MYRIADUSB 포트에 꽂아둔 Compute Stick 2의 디바이스 명인듯하다.

 

 

 

 

 

분석결과를 살펴보면 car.png 데이터 파일 사진을 분석하였다. 따라서 Compute Stick2 의 성능을 좀 더 알아보기 위해서 car.png 파일며으로 다음과 같은 Teddy Bear 사진 분석 작업을 실행해 보자.

 

 

 

실행 결과 Airedale terrier 28% teddy bear 21%로 출력되어 검색해 본 결과 아래 그림과 같이 반려견으로 확인되었는바 그럭저럭 만족스럽게 수용할만한 결과이다.

 

추가 예제로서 demo 폴더의 car_1.bmp 예제는 헤더 그림에서 이미 보았기 때문에 별도로 인터넷에서 구해온 번호판이 선명한 차량 번호판 인식 문제를 실행해 보았다. OpenVino 원래 예제에 비해서 좀 더 옆으로 비스듬한 사진인데 정확하게 차종을 검출 하여 번호판을 인식하였다.

 

 

 

인텔사의 Compute Stick2 2018년도에 출시된 제품으로서 말로만 들어 보았던 NPU(Neural Processing Unit) 가 바로 그것인 듯하다. 이와 같은 뉴럴 전용 프로세서는 1980년대부터 IBM을 비록하여 많은 연구개발이 있었던 것으로 알려져 있다. 상당히 오랜기간 동안 인공지능 분야의 발전이 정체되어 잊혀져 버렸으나 인공지능의 시대가 돌아옴에 따라 최초로 제품화 되어 온 듯하다.

 

지금 Jetson Nano 보드를 사용해봐서 그런지 뭔가 성능이 차이가 나지 않나하는 느낌이지만 자그마한 USB 메모리 사이즈에서 Recognition, Detection 작업이 무리 없이 실행되는 것으로 봐 라즈베리 파이와 같이 GPU 기능이 없는 소형보드에서 Pi카메라와 결합하여 실시간 머신러닝이 가능해질 것이다.