if back_detector: face_detector.load_weights("blazefaceback.pth") face_detector.load_anchors("anchors_face_back.npy") else: face_detector.load_weights("blazeface.pth") face_detector.load_anchors("anchors_face.npy") palm_detector = BlazePalm().to(gpu) palm_detector.load_weights("blazepalm.pth") palm_detector.load_anchors("anchors_palm.npy") palm_detector.min_score_thresh = .75 hand_regressor = BlazeHandLandmark().to(gpu) hand_regressor.load_weights("blazehand_landmark.pth") face_regressor = BlazeFaceLandmark().to(gpu) face_regressor.load_weights("blazeface_landmark.pth") WINDOW='test' cv2.namedWindow(WINDOW) if len(sys.argv) > 1: capture = cv2.VideoCapture(sys.argv[1]) mirror_img = False else: capture = cv2.VideoCapture(0) mirror_img = True if capture.isOpened(): hasFrame, frame = capture.read() frame_ct = 0
if back_detector: face_detector.load_weights("blazefaceback.pth") face_detector.load_anchors("anchors_face_back.npy") else: face_detector.load_weights("blazeface.pth") face_detector.load_anchors("anchors_face.npy") palm_detector = BlazePalm().to(gpu) palm_detector.load_weights("blazepalm.pth") palm_detector.load_anchors("anchors_palm.npy") palm_detector.min_score_thresh = .75 hand_regressor = BlazeHandLandmark().to(gpu) hand_regressor.load_weights("blazehand_landmark.pth") face_regressor = BlazeFaceLandmark().to(gpu) face_regressor.load_weights("blazeface_landmark.pth") WINDOW = 'test' cv2.namedWindow(WINDOW) if len(sys.argv) > 1: capture = cv2.VideoCapture(sys.argv[1]) mirror_img = False else: capture = cv2.VideoCapture(2) mirror_img = True if capture.isOpened(): hasFrame, frame = capture.read() frame_ct = 0 else:
import torch import cv2 import sys from blazebase import resize_pad, denormalize_detections from blazeface import BlazeFace from blazepalm import BlazePalm from blazeface_landmark import BlazeFaceLandmark from blazehand_landmark import BlazeHandLandmark from visualization import draw_detections, draw_landmarks, draw_roi, HAND_CONNECTIONS, FACE_CONNECTIONS gpu = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") torch.set_grad_enabled(False) model = BlazeFaceLandmark().to(gpu) model.load_weights("blazeface_landmark.pth") ############################################################################## batch_size = 1 height = 192 width = 192 x = torch.randn((batch_size, height, width, 3), requires_grad=True).byte().to(gpu) opset = 12 ############################################################################## input_names = ["input"] #[B,192,192,3], output_names = ['landmark', 'confidence'] #[B,486,3], [B] onnx_file_name = "BlazeFace_{}x{}x{}xBGRxByte_opset{}.onnx".format(