东莞哪里建设网站好wordpress ip改成域名
2026/2/13 1:37:02 网站建设 项目流程
东莞哪里建设网站好,wordpress ip改成域名,一个公司做多个网站,网页设计 教程网站采用caffe68点检测人脸特征点#xff0c;识别疲劳#xff0c;当眼睛缝隙小#xff0c;则认为是疲劳#xff0c;有python,c版本。先准备个能打的面部定位工具#xff0c;这里我翻出了珍藏的Caffe版68点检测模型#xff08;prototxt和caffemodel文件得提前准备好#xff0…采用caffe68点检测人脸特征点识别疲劳当眼睛缝隙小则认为是疲劳有python,c版本。先准备个能打的面部定位工具这里我翻出了珍藏的Caffe版68点检测模型prototxt和caffemodel文件得提前准备好放模型目录里别乱跑。Python版本用OpenCV的dnn模块加载最方便# Python版模型加载 net cv2.dnn.readNetFromCaffe( face_detector/68point_deploy.prototxt, face_detector/68point_model.caffemodel )C选手别急咱们的代码也照顾到了// C版模型加载 cv::dnn::Net net cv::dnn::readNetFromCaffe( face_detector/68point_deploy.prototxt, face_detector/68point_model.caffemodel );抓取人脸关键点时有个坑要注意输入图片的归一化方式得和模型训练时一致。比如有些模型要求像素值从0-255缩放到-1到1有的则用均值减法这个不搞清楚定位准头就差远了。拿到68个点坐标后重点锁定眼睛区域。以左眼为例36-41号点计算眼睛睁开程度的套路是这样的def eye_aspect_ratio(eye_points): # 计算垂直方向两组距离 A np.linalg.norm(eye_points[1] - eye_points[5]) B np.linalg.norm(eye_points[2] - eye_points[4]) # 计算水平方向距离 C np.linalg.norm(eye_points[0] - eye_points[3]) return (A B) / (2.0 * C)当这个比值连续20帧低于0.25时别照搬这个阈值得根据实际效果调就该触发警报了。实时检测时建议用环形队列保存最近30帧的状态这样既省内存又能避免误判。C版本的计算逻辑类似但得注意类型转换double calculateEAR(const vectorPoint2f eyePoints) { double vertical1 norm(eyePoints[1] - eyePoints[5]); double vertical2 norm(eyePoints[2] - eyePoints[4]); double horizontal norm(eyePoints[0] - eyePoints[3]); return (vertical1 vertical2) / (2 * horizontal); }实际部署时发现了几个骚操作在光线不足的环境下先做个直方图均衡化再检测侧脸时单眼闭合的情况要特殊处理戴眼镜的同学容易被反光干扰加个ROI区域动态调整就好最后上个Python版的完整流程示例cap cv2.VideoCapture(0) eye_history deque(maxlen30) # 存最近30帧状态 while True: ret, frame cap.read() # 人脸检测和关键点预测此处省略 left_ear eye_aspect_ratio(left_eye_points) right_ear eye_aspect_ratio(right_eye_points) eye_history.append((left_ear right_ear) / 2) if len(eye_history) 30 and np.mean(eye_history) 0.25: cv2.putText(frame, WAKE UP!, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0,0,255), 2) cv2.imshow(Frame, frame)开发这种功能最解压的时刻就是看着检测框跟着人脸晃来晃去比看ASMR还治愈。不过别光顾着玩记得保存模型文件路径别写死不然换台机器分分钟给你脸色看。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询