嵌入式设备或者移动端设备由于没有GPU,是NPU、TPU、CPU导致模型推理速度跟不上
此时就需要抽帧跳帧检测推理识别
原理:假设视频是30帧,则目标画面在毫秒内也就是3帧之内变化不大,只需要识别第一帧,第二帧和第三帧使用第一帧的识别结果进行标注画锚框
cap = cv2.VideoCapture(0)
detect_skip = 3
detect_skip_index = 1;
dict_result = None
while True:
ret, img = cap.read()
if img.shape[-1]==4:
img=cv2.cvtColor(img,cv2.COLOR_BGRA2BGR)
if detect_skip_index % detect_skip == 0 or dict_result == None:
detect_skip_index = 1
dict_result = detect(model, img, device)
else:
detect_skip_index = detect_skip_index + 1
cv2.imshow("result", draw_result(img,dict_result))
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
百度paddle官方原文
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/189990ecc2facf18c2f7261e78fc9924.png)