본문 바로가기

3. 인공지능

[모듈 4-8] Open Vino 설치 및 환경 변수 설정하기

 

 

Intel OpenVino

kr.mouser.com/new/intel/intel-openvino/

 

 

 

 

- 오픈비노 다운로드 링크

software.intel.com/content/www/us/en/develop/tools/openvino-toolkit/download.html

 

Download Intel® Distribution of OpenVINO™ Toolkit

Download a version of the Intel® Distribution of OpenVINO™ toolkit for Linux, Windows, or macOS.

software.intel.com

 

 

- 아래와 같이옵션을 설정하고 다운로드 실행

 

 

 

설치 파일 다운로드 후  아래와 같이 진행

 

 

 

설치가 완료가 되었으면 open vino가 잘 동작하는지 테스트 해보자.

 

 

 

먼저 아래 open vino sample Model을 다운로드 해보자.

 

drive.google.com/file/d/1hm9vVLfYEkZI6ctP5yVgIOeoKYreMr6N/view?usp=sharing

 

test_openvino.zip

 

drive.google.com

 

 

우측 상단 다운로드 아이콘 클릭

 

다운로드 한 알집파일을 알집을 풀어 준 후 아래와 같이 현재 파이참 프로젝트 폴더에 파일들을 넣어준다.

 

 

 

 

아래 코드를 복붙 해보자.

import cv2
import numpy as np
from utils.opv import OpvModel

mymodel2 = OpvModel("face-detection-adas-0001",device="CPU", fp="FP32")

friends = cv2.imread("images/friends.jpeg")
friends = cv2.resize(friends,(1200,710))     #Downsize the image since the original is quite large
predictions = mymodel2.Predict(friends)


def DrawBoundingBoxes(predictions, image, conf=0.5):
    canvas = image.copy()  # copy instead of modifying the original image
    predictions_1 = predictions[0][0]  # subset dataframe
    confidence = predictions_1[:, 2]  # getting conf value [image_id, label, conf, x_min, y_min, x_max, y_max]
    topresults = predictions_1[(confidence > conf)]  # choosing only predictions with conf value bigger than treshold
    (h, w) = canvas.shape[:2]  # setting the variable h and w according to image height


    for detection in topresults:
        box = detection[3:7] * np.array([w, h, w, h])  # determine box location
        (xmin, ymin, xmax, ymax) = box.astype("int")  # assign box location value to xmin, ymin, xmax, ymax

        cv2.rectangle(canvas, (xmin, ymin), (xmax, ymax), (0, 0, 255), 4)  # make a rectangle
        cv2.putText(canvas, str(round(detection[2] * 100, 1)) + "%", (xmin, ymin),  # include text
                    cv2.FONT_HERSHEY_SIMPLEX, 0.6, (255, 0, 0), 2)
    cv2.putText(canvas, str(len(topresults)) + " face(s) detected", (50, 50),  # include text
                cv2.FONT_HERSHEY_SIMPLEX, 0.6, (255, 0, 0), 2)
    return canvas


cv2.imshow("Friends2", DrawBoundingBoxes(predictions, friends))
cv2.waitKey(0)
cv2.destroyAllWindows()

 

 

그리고 코드 실행을 해보자.

동작되는가? 나는 안된다!

 

그 이유는. 

 

바로, OPEN VINO 환경변수를 활성화 하지 않았기 때문이다.

 

 

먼저, 파이참 하단의 TERMINAL 창을 열어보자.

 

 

TERMINAL 창에서 아래 경로로 가서 환경변수를 실행해야 한다.

 

먼저 cd / 명령어로 c드라이브 root로 이동한다.

 

 

- 디렉토리 이동을 할때 cd 만 누르고 tap을 눌러 주소값을 자동 변환되게 하면 효율적이다.

 

 

 

- 그리고 다시 코드를 동작시켜 보자!

잘동작하는가? 그렇지 않다. 

 

 

 

 

open vino를 사용할 때는 terminal 창에서 파이썬 코드가 있는 디렉토리로 이동해서 해당 파이썬 파일을

python 이란 명령어로 컴파일 해주어야 한다. 

 

 

아래와 같은 그림이 잘 뜨면 open vino 모델이 정상적으로 동작하는 경우이다 !

 

 

 

  • 뚜또 2021.10.28 00:21 댓글주소 수정/삭제 댓글쓰기

    Opv모델 불러오는 코드 어디서 가져왔는지 알 수 있나요? 제가 지금 그 방법 사용해서 코드 짜고잇는데 age-gender-recognition-retail-0013 공부하는 중인데 참고할만한 코드가 안보이네요...