网络其实还是蛮简单的,多尺度进行人脸检索,最厉害的地方就是模型只有7MB,速度很快,我的破电脑只有不到2G显存都能实时检测。
使用方法也极其简单
def image_demo():
dbface = DBFace()
dbface.eval()
if HAS_CUDA:
dbface.cuda()
dbface.load("model/dbfaceSmallH.pth")
detect_image(dbface, "datas/selfie.jpg")
detect_image(dbface, "datas/12_Group_Group_12_Group_Group_12_728.jpg")
def camera_demo():
dbface = DBFace()
dbface.eval()
if HAS_CUDA:
dbface.cuda()
dbface.load("model/dbfaceSmallH.pth")
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1080)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)
ok, frame = cap.read()
while ok:
objs = detect(dbface, frame)
for obj in objs:
common.drawbbox(frame, obj)
cv2.imshow("demo DBFace", frame)
key = cv2.waitKey(1) & 0xFF
if key == ord('q'):
break
ok, frame = cap.read()
cap.release()
cv2.destroyAllWindows()