Увеличение производительности видеоизображения через камеру. OpenCV, Tensorflowm, Python
Всем доброго времени суток! Недавно решил сделать проект по распознаванию объектов через видеокамеру. Все написал, поисправлял ошибки и настроил систему и по итогу все заработало. Но при отображении видео, оно немного тормозит и иногда фризит, если кто знает как можно оптимизировать весь процесс или добавить что-нибудь в код для увеличение производительности ,буду благодарен:3 Код:
import os
from imageai.Detection import ObjectDetection
import cv2 as vc
import time
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
camera = vc.VideoCapture(0)
detector = ObjectDetection()
detector.setModelTypeAsYOLOv3()
detector.setModelPath("yolo.h5")
detector.loadModel()
finish = 0
array_detection = []
while camera.isOpened():
ret, frame = camera.read()
start = time.time()
if start-finish > 1.2:
_, array_detection = detector.detectObjectsFromImage(input_image=frame, input_type="array", output_type="array")
finish = time.time()
for obj in array_detection:
coord = obj['box_points']
vc.rectangle(frame, (coord[0], coord[1]), (coord[2], coord[3]), (0, 0, 255))
vc.putText(frame, obj['name'], (coord[0], coord[1] - 6), vc.FONT_HERSHEY_DUPLEX, 1.0, (255, 0, 0), 1)
vc.imshow('Vision', frame)
if vc.waitKey(1) & 0xFF == ord('q') or ret == False:
break
camera.release()
vc.destroyAllWindows()