Я попытался запустить какой-нибудь скрипт python распознавания лиц в моем Raspberry Pi 3 с openVino, установленным openCV и Intel Movidius Neural Stick 2 Myriad. Но когда Myriad пытается выполнить net.forward()
, малина падает и перезапускается. Это код:
import numpy as np
import argparse
import imutils
import time
import cv2
from imutils.video import VideoStream
import numpy as np
import argparse
import imutils
import time
import cv2
#Argumentos de la funcion
ap = argparse.ArgumentParser()
ap.add_argument("-p", "--prototxt", required=True,
help="path to Caffe 'deploy' prototxt file")
ap.add_argument("-m", "--model", required=True,
help="path to Caffe pre-trained model")
ap.add_argument("-c", "--confidence", type=float, default=0.5,
help="minimum probability to filter weak detections")
args = vars(ap.parse_args())
#Cargamos el modelo
print("[INFO] loading model...")
net = cv2.dnn.readNetFromCaffe(args["prototxt"], args["model"])
net.setPreferableTarget(cv2.dnn.DNN_TARGET_MYRIAD)
print("[INFO] starting video stream...")
vs = cv2.VideoCapture(0)
time.sleep(2.0)
while(True):
#Redimensiona a 400 pixeles
retval, frame = vs.read()
frame = imutils.resize(frame, width=400)
#Obtiene las dimensiones y las convierte a blob
(h, w) = frame.shape[:2]
blob = cv2.dnn.blobFromImage(cv2.resize(frame, (300, 300)), 1.0,(300, 300), (104.0, 177.0, 123.0))
#Predicciones
net.setInput(blob)
detections = net.forward()
cv2.imshow('Input image', cv2.flip(frame, 1))
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
В аналогичном коде без videoCapture скрипт net.forward()
работает очень хорошо.
Спасибо за ваше время и ваши ответы:)