当前位置: 首页 > news >正文

服装网站建设美丽去哪里找人做网站

服装网站建设美丽,去哪里找人做网站,网站导航栏的设计与实现,自己设计网站卷积神经网络识别人脸项目的详细过程 整个项目需要的准备文件#xff1a; 下载链接#xff1a; 链接#xff1a;https://pan.baidu.com/s/1WEndfi14EhVh-8Vvt62I_w 提取码#xff1a;7777 链接#xff1a;https://pan.baidu.com/s/10weqx3r_zbS5gNEq-xGrzg 提取码#x…卷积神经网络识别人脸项目的详细过程 整个项目需要的准备文件 下载链接 链接https://pan.baidu.com/s/1WEndfi14EhVh-8Vvt62I_w 提取码7777 链接https://pan.baidu.com/s/10weqx3r_zbS5gNEq-xGrzg 提取码7777 1、模型推理文件 2、模型转换文件 1、数据集准备 数据集的文件夹格式如下图一共两个文件夹 images文件夹装所有的图片图片需随机打乱和编号 labels文件夹内是对图片进行打标签操作的标签 打标签使用的是labelimg安装过程可自行百度 open Dir是打开存放图片的路径我们这里就是images文件夹 Change Save Dir是存放标签的路径我们这里选择labels文件夹 打标签模式选择YOLO 然后点击Create RectBox选择关键位置就可以打标签了。 然后是上一级文件夹格式 其中sex文件夹包括了上面两个文件夹 classes.txt是打标签是生成的包括了标签的顺序和种类这里的男女识别classes.txt内部就是 manwomangen.py是用于随机提取出训练集和测试集 运行gen.py后生成了train.txtval.txt两个txt train.txt就是训练集包括了训练集的图片路径名称 val.txt同理 然后来到主文件夹中 点击路径运行cmd: 运行python yolov5_2_coco.py 生成的文件夹保存到相应路径中 python yolov5_2_coco.py --dir_path D:\Pycharm\code\YOLO2COCO\dataset\YOLOV5打包数据集然后压缩后上传到百度飞桨ai数据集平台 2、模型训练 点击创建项目 项目创建成功后启动环境选择一个GPU 新建一个notebook文件然后重命名为ppyoloe 上传PaddleYOLO文件 然后将上传的文件重命名为PaddleYOLO 然后进入此文件夹 cd /home/aistudio/PaddleYOLO然后根据自己的模型实际情况修改下图文件num_classes是分类的种类这里一共两种所以改为2 dataset/sex是存放数据的位置按实际情况修改我这里是男女识别数据集所以文件夹命名为sex 因为配置文件中要求数据放到dataset/sex里面所以需要把数据集放置到此处。 新建一个mask文件夹把解压过后的数据文件夹拖到mask里面。 粘贴到dataset文件夹下注意红色框的路径。 如果想要修改迭代次数在此处修改 /home/aistudio/PaddleYOLO/configs/ppyoloe/_base_/optimizer_80e.ymlepoch: 40 表示迭代次数为40次 输入下列代码开始训练 第二行代码如果出错权限不够后面加上 --user pip install -r requirements.txt --user模型训练标志此时是0 epoch 等待40次迭代完成 训练完毕后需要导出训练数据文件 !python tools/export_model.py -c configs/ppyoloe/ppyoloe_plus_crn_s_80e_coco.yml -o weights/home/aistudio/PaddleYOLO/output/ppyoloe_plus_crn_s_80e_coco/model_final.pdparams导出成功后保存在以下路径中 /home/aistudio/PaddleYOLO/output_inference/ppyoloe_plus_crn_s_80e_coco然后下载以下的四个文件到电脑中 3、模型转换 将上一步获得的四个文件放入下图的文件夹中 进入模型可视化网站查看模型Netron 选择模型 然后进行模型剪枝在如下目录下打开cmd 运行这个模型剪枝文件 python prune_paddle_model.py --model_dir ppyoloe_crn_s_80 --model_filename model.pdmodel --params_filename model.pdiparams --output_names tmp_16 concat_14.tmp_0 --save_dir export_model 运行过后新增一个减支完成的模型文件夹 然后进行模型转换把Paddle模型转换为onnx需要在环境中提前安装好paddle2onnx。 执行以下命令进行模型转换 paddle2onnx --model_dir export_model --model_filename model.pdmodel --params_filename model.pdiparams --input_shape_dict {image:[1,3,640,640]} --opset_version 11 --save_file ppyoloe_crn_s_80.onnx 执行生成的ppyoloe_crn_s_80.onnx mo --input_model ppyoloe_crn_s_80.onnx执行结果如下 4、模型推理 增加一个文件labels.txt内容是我们的标签注意存放路径 增加一个inference.ipynb用于编写推理代码注意存放路径 inference.ipynb 文件代码如下 from openvino.runtime import Core import openvino.runtime as ov import cv2 as cv import numpy as np import tensorflow as tfOpenVINO 模型推理器class class Predictor:OpenVINO 模型推理器def __init__(self, model_path):ie_core Core()model ie_core.read_model(modelmodel_path)self.compiled_model ie_core.compile_model(modelmodel, device_nameCPU)def get_inputs_name(self, num):return self.compiled_model.input(num)def get_outputs_name(self, num):return self.compiled_model.output(num)def predict(self, input_data):return self.compiled_model([input_data])def get_request(self):return self.compiled_model.create_infer_request() 图像预处理 def process_image(input_image, size):输入图片与处理方法按照PP-Yoloe模型要求预处理图片数据Args:input_image (uint8): 输入图片矩阵size (int): 模型输入大小Returns:float32: 返回处理后的图片矩阵数据max_len max(input_image.shape)img np.zeros([max_len,max_len,3],np.uint8)img[0:input_image.shape[0],0:input_image.shape[1]] input_image # 将图片放到正方形背景中img cv.cvtColor(img,cv.COLOR_BGR2RGB) # BGR转RGBimg cv.resize(img, (size, size), cv.INTER_NEAREST) # 缩放图片img np.transpose(img,[2, 0, 1]) # 转换格式img img / 255.0 # 归一化img np.expand_dims(img,0) # 增加维度return img.astype(np.float32) 图像后处理 def process_result(box_results, conf_results):按照PP-Yolove模型输出要求处理数据非极大值抑制提取预测结果Args:box_results (float32): 预测框预测结果conf_results (float32): 置信度预测结果Returns:float: 预测框float: 分数int: 类别conf_results np.transpose(conf_results,[0, 2, 1]) # 转置# 设置输出形状box_results box_results.reshape(8400,4) conf_results conf_results.reshape(8400,2)scores []classes []boxes []for i in range(8400):conf conf_results[i,:] # 预测分数score np.max(conf) # 获取类别# 筛选较小的预测类别if score 0.5:classes.append(np.argmax(conf)) scores.append(score) boxes.append(box_results[i,:])scores np.array(scores)boxes np.array(boxes)result_box []result_score []result_class []# 非极大值抑制筛选重复的预测结果if len(boxes) ! 0:# 非极大值抑制结果indexs tf.image.non_max_suppression(boxes,scores,len(scores),0.25,0.35)for i, index in enumerate(indexs):result_score.append(scores[index])result_box.append(boxes[index,:])result_class.append(classes[index])# 返回结果return np.array(result_box),np.array(result_score),np.array(result_class) 画出预测框 def draw_box(image, boxes, scores, classes, labels):将预测结果绘制到图像上Args:image (uint8): 原图片boxes (float32): 预测框scores (float32): 分数classes (int): 类别lables (str): 标签Returns:uint8: 标注好的图片colors [(0, 0, 255), (0, 255, 0)]scale max(image.shape) / 640.0 # 缩放比例if len(classes) ! 0:for i in range(len(classes)):box boxes[i,:]x1 int(box[0] * scale)y1 int(box[1] * scale)x2 int(box[2] * scale)y2 int(box[3] * scale)label labels[classes[i]]score scores[i]cv.rectangle(image, (x1, y1), (x2, y2), colors[classes[i]], 2, cv.LINE_8)cv.putText(image,label:str(score),(x1,y1-10),cv.FONT_HERSHEY_SIMPLEX, 0.55, colors[classes[i]], 2)return image 读取标签 def read_label(label_path):with open(label_path, r) as f:labels f.read().split()return labels 同步推理 label_path labels.txt yoloe_model_path ppyoloe_crn_s_80.xml predictor Predictor(model_path yoloe_model_path) boxes_name predictor.get_outputs_name(0) conf_name predictor.get_outputs_name(1) labels read_label(label_pathlabel_path) cap cv.VideoCapture(0) while cap.isOpened():ret, frame cap.read()frame cv.flip(frame, 180)cv.namedWindow(MaskDetection, 0) # 0可调大小注意窗口名必须imshow里面的一窗口名一直cv.resizeWindow(MaskDetection, 640, 480) # 设置长和宽input_frame process_image(frame, 640)results predictor.predict(input_datainput_frame)boxes, scores, classes process_result(box_resultsresults[boxes_name], conf_resultsresults[conf_name])result_frame draw_box(imageframe, boxesboxes, scoresscores, classesclasses, labelslabels)cv.imshow(MaskDetection, result_frame)key cv.waitKey(1)if key 27: #esc退出break cap.release() cv.destroyAllWindows() 异步推理 label_path labels.txt yoloe_model_path ppyoloe_crn_s_80.xml predictor Predictor(model_path yoloe_model_path) input_layer predictor.get_inputs_name(0) labels read_label(label_pathlabel_path) cap cv.VideoCapture(0) curr_request predictor.get_request() next_request predictor.get_request() ret, frame cap.read() curr_frame process_image(frame, 640) curr_request.set_tensor(input_layer, ov.Tensor(curr_frame)) curr_request.start_async() while cap.isOpened():ret, next_frame cap.read()next_frame cv.flip(next_frame, 180)cv.namedWindow(MaskDetection, 0) # 0可调大小注意窗口名必须imshow里面的一窗口名一直cv.resizeWindow(MaskDetection, 640, 480) # 设置长和宽in_frame process_image(next_frame, 640)next_request.set_tensor(input_layer, ov.Tensor(in_frame))next_request.start_async()if curr_request.wait_for(-1) 1:boxes_name curr_request.get_output_tensor(0).dataconf_name curr_request.get_output_tensor(1).databoxes, scores, classes process_result(box_resultsboxes_name, conf_resultsconf_name)frame draw_box(imageframe, boxesboxes, scoresscores, classesclasses, labelslabels)cv.imshow(MaskDetection, frame)frame next_framecurr_request, next_request next_request, curr_requestkey cv.waitKey(1)if key 27: #esc退出break cap.release() cv.destroyAllWindows()最终实现效果如图 笑容识别 性别识别
http://www.huolong8.cn/news/165513/

相关文章:

  • 做网站备负责人风险大吗硬件开发简历
  • 寻求一个专业网站制作公司做行业门户网站注意什么
  • 怎么样做企业模板网站网站主域名是什么
  • 深圳旅游网站建设福州网站排名提升
  • 创建销售网站多少钱建设银行不弹出网站
  • 营销型网站建设公司哪里有公司网络规划设计方案
  • 购物商城网站建设方案网站建设课程设计格式
  • 珠海市横琴新区建设环保局网站国外的网站可以做百度推广吗
  • 看电影免费网站国企网站建设要求
  • 西安做网站公司哪家好 应该怎么选择采购信息网
  • 中国建设银行网站首页南昌市 做网站的公司
  • 同学录网站开发的背景做网站维护难吗
  • 网站开发筛子游戏台州市住房和城乡建设规划局网站
  • 庆祝公司网站上线青岛网站网站建设
  • 增城做网站十大免费网页制作平台
  • 珠海外贸网站建设会员卡管理系统哪里买
  • 手机网站管理工具企业网站风格
  • 第寒网站建设邢台123招聘信息最新招聘信息网
  • 奉节网站建设公司南京本地网站
  • asp网站数据库位置网络营销对传统营销有哪些冲击
  • 一键生成各种app软件网站我优化
  • 沭阳奥体小区做网站的wordpress如何设置文章模板
  • 家居行业网站开发溧阳手机网站哪里做
  • 网站建设同步视频网站改版合同
  • 网站用什么颜色郑州百姓网免费发布信息
  • 宁波网站建设定制开发广告网站制作多少钱
  • 广州网站设计联系方式卖鞋做哪个网站好
  • 网站建设的后期维护问题wordpress 伪静态组件
  • 医院门户网站模板下载2023年房地产行业分析
  • 现代化公司网站建设中国建设银行官网站基金查询