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

怎么把别人做的网站变成自己的wordpress固定链接html

怎么把别人做的网站变成自己的,wordpress固定链接html,市场营销策略的概念,做影视网站有什么风险目录 1. 前言 2.人体关键点检测方法 (1)Top-Down(自上而下)方法 (2)Bottom-Up(自下而上)方法#xff1a; 3.人体关键点检测模型训练 4.人体关键点检测模型Android部署 #xff08;1#xff09; 将Pytorch模型转换ONNX模型 #xff08;2#xff09; 将ONNX模型转换…目录 1. 前言 2.人体关键点检测方法 (1)Top-Down(自上而下)方法 (2)Bottom-Up(自下而上)方法 3.人体关键点检测模型训练 4.人体关键点检测模型Android部署 1 将Pytorch模型转换ONNX模型 2 将ONNX模型转换为TNN模型 3 Android端上部署模型 4 Android测试效果  5 运行APP闪退dlopen failed: library libomp.so not found 5.Android项目源码下载 6.C实现人体关键点检测 1. 前言 人体关键点检测Human Keypoints Detection又称为人体姿态估计2D Pose是计算机视觉中一个相对基础的任务是人体动作识别、行为分析、人机交互等的前置任务。一般情况下可以将人体关键点检测细分为单人/多人关键点检测、2D/3D关键点检测同时有算法在完成关键点检测之后还会进行关键点的跟踪也被称为人体姿态跟踪。 项目将实现人体关键点检测算法其中使用YOLOv5模型实现人体检测(Person Detection)使用HRNetLiteHRNet和Mobilenet-v2模型实现人体关键点检测。为了方便后续模型工程化和Android平台部署项目支持高精度HRNet检测模型轻量化模型LiteHRNet和Mobilenet模型训练和测试并提供Python/C/Android多个版本项目分为数据集说明模型训练和C/Android部署等多个章节本篇是项目《人体关键点检测(人体姿势估计)》系列文章之Android实现人体关键点检测主要分享将Python训练好的模型移植到Android平台搭建一个可实时的人体关键点检测Android Demo且支持多人关键点检测。 轻量化Mobilenet-v2模型在普通Android手机上可以达到实时的检测效果CPU(4线程)约50ms左右GPU约30ms左右 基本满足业务的性能需求。下表格给出HRNet以及轻量化模型LiteHRNet和Mobilenet的计算量和参数量以及其检测精度。 模型input-sizeparams(M)GFLOPsAPHRNet-w32192×25628.48M5734.05M0.7585LiteHRNet18192×2561.10M182.15M0.6237Mobilenet-v2192×2562.63M529.25M0.6181 【尊重原创转载请注明出处】 https://blog.csdn.net/guyuealian/article/details/134881797 Android人体关键点检测APP Demo体验(下载)https://download.csdn.net/download/guyuealian/88610359 Android人体关键点检测APP Demo体验 更多项目《人体关键点检测(人体姿势估计)》系列文章请参考 人体关键点检测1人体姿势估计数据集(含下载链接) https://blog.csdn.net/guyuealian/article/details/134703548人体关键点检测2Pytorch实现人体关键点检测(人体姿势估计)含训练代码和数据集 https://blog.csdn.net/guyuealian/article/details/134837816人体关键点检测3Android实现人体关键点检测(人体姿势估计)含源码 可实时检测 https://blog.csdn.net/guyuealian/article/details/134881797人体关键点检测4C/C实现人体关键点检测(人体姿势估计)含源码 可实时检测 https://blog.csdn.net/guyuealian/article/details/134881797手部关键点检测1手部关键点(手部姿势估计)数据集(含下载链接)https://blog.csdn.net/guyuealian/article/details/133277630手部关键点检测2YOLOv5实现手部检测(含训练代码和数据集)https://blog.csdn.net/guyuealian/article/details/133279222手部关键点检测3Pytorch实现手部关键点检测(手部姿势估计)含训练代码和数据集https://blog.csdn.net/guyuealian/article/details/133277726手部关键点检测4Android实现手部关键点检测(手部姿势估计)含源码 可实时检测https://blog.csdn.net/guyuealian/article/details/133931698手部关键点检测5C实现手部关键点检测(手部姿势估计)含源码 可实时检测https://blog.csdn.net/guyuealian/article/details/133277748 2.人体关键点检测方法 目前主流的人体关键点检测(人体姿势估计)方法主要两种一种是Top-Down自上而下方法另外一种是Bottom-Up自下而上方法 (1)Top-Down(自上而下)方法 将人体检测和人体关键点检测(人体姿势估计)检测分离在图像上首先进行人体目标检测定位人体位置然后crop每一个人体图像再估计人体关键点这类方法往往比较慢但姿态估计准确度较高。目前主流模型主要有CPNHourglassCPMAlpha PoseHRNet等。 (2)Bottom-Up(自下而上)方法 先估计图像中所有人体关键点然后在通过Grouping的方法组合成一个一个实例因此这类方法在测试推断的时候往往更快速准确度稍低。典型就是COCO2016年人体关键点检测冠军Open Pose。 通常来说Top-Down具有更高的精度而Bottom-Up具有更快的速度就目前调研而言 Top-Down的方法研究较多精度也比Bottom-Up自下而上方法高。本项目采用Top-Down(自上而下)方法先使用YOLOv5模型实现人体检测然后再使用HRNet进行人体关键点检测(人体姿势估计) 本项目基于开源的HRNet进行改进关于HRNet项目请参考GitHub HRNet: https://github.com/leoxiaobin/deep-high-resolution-net.pytorch 3.人体关键点检测模型训练 本项目采用Top-Down(自上而下)方法使用YOLOv5模型实现人体检测并基于开源的HRNet实现人体关键点检测(人体姿态估计)为了方便后续模型工程化和Android平台部署项目支持轻量化模型LiteHRNet和Mobilenet模型训练和测试并提供Python/C/Android多个版本轻量化Mobilenet-v2模型在普通Android手机上可以达到实时的检测效果CPU(4线程)约50ms左右GPU约30ms左右 基本满足业务的性能需求 本篇博文主要分享Android版本的模型部署不包含Python版本的训练代码和相关数据集关于人体关键点检测的训练方法和数据集说明可参考 :  人体关键点检测2Pytorch实现人体关键点检测(人体姿势估计)含训练代码和数据集 https://blog.csdn.net/guyuealian/article/details/134837816 下表格给出HRNet以及轻量化模型LiteHRNet和Mobilenet的计算量和参数量以及其检测精度AP 高精度检测模型HRNet-w32AP可以达到0.7585但其参数量和计算量比较大不合适在移动端部署LiteHRNet18和Mobilenet-v2参数量和计算量比较少合适在移动端部署虽然LiteHRNet18的理论计算量和参数量比Mobilenet-v2低但在实际测试中发现Mobilenet-v2运行速度更快。轻量化Mobilenet-v2模型在普通Android手机上可以达到实时的检测效果CPU(4线程)约50ms左右GPU约30ms左右 基本满足业务的性能需求 模型input-sizeparams(M)GFLOPsAPHRNet-w32192×25628.48M5734.05M0.7585LiteHRNet18192×2561.10M182.15M0.6237Mobilenet-v2192×2562.63M529.25M0.6181 HRNet-w32参数量和计算量太大不适合在Android手机部署本项目Android版本只支持部署LiteHRNet和Mobilenet-v2模型C版本可支持部署HRNet-w32LiteHRNet和Mobilenet-v2模型  4.人体关键点检测模型Android部署 目前CNN模型有多种部署方式可以采用TNNMNN,NCNN以及TensorRT等部署工具鄙人采用TNN进行Android端上部署。部署流程可分为四步训练模型-将模型转换ONNX模型-将ONNX模型转换为TNN模型-Android端上部署TNN模型。 1 将Pytorch模型转换ONNX模型 训练好Pytorch模型后我们需要先将模型转换为ONNX模型以便后续模型部署。 原始Python项目提供转换脚本你只需要修改model_file和config_file为你模型路径即可 convert_torch_to_onnx.py实现将Pytorch模型转换ONNX模型的脚本 python libs/convert_tools/convert_torch_to_onnx.py This code is used to convert the pytorch model into an onnx format model.import os import torch.onnx from pose.inference import PoseEstimation from basetrainer.utils.converter import pytorch2onnxdef load_model(config_file, model_file, devicecuda:0):pose PoseEstimation(config_file, model_file, devicedevice)model pose.modelconfig pose.configreturn model, configdef convert2onnx(config_file, model_file, devicecuda:0, onnx_typekp)::param model_file::param input_size::param device::param onnx_type::return:model, config load_model(config_file, model_file, devicedevice)model model.to(device)model.eval()model_name os.path.basename(model_file)[:-len(.pth)]onnx_file os.path.join(os.path.dirname(model_file), model_name .onnx)# dummy_input torch.randn(1, 3, 240, 320).to(cuda)input_size tuple(config.MODEL.IMAGE_SIZE) # w,hinput_shape (1, 3, input_size[1], input_size[0])pytorch2onnx.convert2onnx(model,input_shapeinput_shape,input_names[input],output_names[output],onnx_fileonnx_file,opset_version11)print(input_shape)if __name__ __main__:config_file ../../work_space/person/mobilenet_v2_17_192_256_custom_coco_20231124_090015_6639/mobilenetv2_192_192.yamlmodel_file ../../work_space/person/mobilenet_v2_17_192_256_custom_coco_20231124_090015_6639/model/best_model_158_0.6181.pthconvert2onnx(config_file, model_file)2 将ONNX模型转换为TNN模型 目前CNN模型有多种部署方式可以采用TNNMNN,NCNN以及TensorRT等部署工具鄙人采用TNN进行Android端上部署 TNN转换工具 1将ONNX模型转换为TNN模型请参考TNN官方说明TNN/onnx2tnn.md at master · Tencent/TNN · GitHub2一键转换懒人必备一键转换 Caffe, ONNX, TensorFlow 到 NCNN, MNN, Tengine   (可能存在版本问题这个工具转换的TNN模型可能不兼容建议还是自己build源码进行转换2022年9约25日测试可用) ​​ 3 Android端上部署模型 项目实现了Android版本的人体检测和人体关键点检测Demo部署框架采用TNN支持多线程CPU和GPU加速推理在普通手机上可以实时处理。项目Android源码核心算法均采用C实现上层通过JNI接口调用。 如果你想在这个Android Demo部署你自己训练的模型你可将训练好的Pytorch模型转换ONNX 再转换成TNN模型然后把TNN模型代替你模型即可。  HRNet-w32参数量和计算量太大不适合在Android手机部署本项目Android版本只支持部署LiteHRNet和Mobilenet-v2模型C版本可支持部署HRNet-w32LiteHRNet和Mobilenet-v2模型  这是项目Android源码JNI接口 Java部分 package com.cv.tnn.model;import android.graphics.Bitmap;public class Detector {static {System.loadLibrary(tnn_wrapper);}/**** 初始化检测模型* param dets_model 检测模型不含后缀名* param pose_model 识别模型不含后缀名* param root模型文件的根目录放在assets文件夹下* param model_type模型类型* param num_thread开启线程数* param useGPU是否开启GPU进行加速*/public static native void init(String dets_model, String pose_model, String root, int model_type, int num_thread, boolean useGPU);/**** 返回检测和识别结果* param bitmap 图像bitmapARGB_8888格式* param score_thresh置信度阈值* param iou_thresh IOU阈值* param pose_thresh 关键点阈值* return*/public static native FrameInfo[] detect(Bitmap bitmap, float score_thresh, float iou_thresh, float pose_thresh); }这是Android项目源码JNI接口 C部分 #include jni.h #include string #include fstream #include src/yolov5.h #include src/pose_detector.h #include src/Types.h #include debug.h #include android_utils.h #include opencv2/opencv.hpp #include file_utils.husing namespace dl; using namespace vision;static YOLOv5 *detector nullptr; static PoseDetector *pose nullptr;JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) {return JNI_VERSION_1_6; }JNIEXPORT void JNI_OnUnload(JavaVM *vm, void *reserved) {}extern C JNIEXPORT void JNICALL Java_com_cv_tnn_model_Detector_init(JNIEnv *env,jclass clazz,jstring dets_model,jstring pose_model,jstring root,jint model_type,jint num_thread,jboolean use_gpu) {if (detector ! nullptr) {delete detector;detector nullptr;}std::string parent env-GetStringUTFChars(root, 0);std::string dets_model_ env-GetStringUTFChars(dets_model, 0);std::string pose_model_ env-GetStringUTFChars(pose_model, 0);string dets_model_file path_joint(parent, dets_model_ .tnnmodel);string dets_proto_file path_joint(parent, dets_model_ .tnnproto);string pose_model_file path_joint(parent, pose_model_ .tnnmodel);string pose_proto_file path_joint(parent, pose_model_ .tnnproto);DeviceType device use_gpu ? GPU : CPU;LOGW(parent : %s, parent.c_str());LOGW(useGPU : %d, use_gpu);LOGW(device_type: %d, device);LOGW(model_type : %d, model_type);LOGW(num_thread : %d, num_thread);YOLOv5Param model_param YOLOv5s05_320;//模型参数detector new YOLOv5(dets_model_file,dets_proto_file,model_param,num_thread,device);PoseParam pose_param POSE_MODEL_TYPE[model_type];//模型类型pose new PoseDetector(pose_model_file,pose_proto_file,pose_param,num_thread,device); }extern C JNIEXPORT jobjectArray JNICALL Java_com_cv_tnn_model_Detector_detect(JNIEnv *env, jclass clazz, jobject bitmap,jfloat score_thresh, jfloat iou_thresh, jfloat pose_thresh) {cv::Mat bgr;BitmapToMatrix(env, bitmap, bgr);int src_h bgr.rows;int src_w bgr.cols;// 检测区域为整张图片的大小FrameInfo resultInfo;// 开始检测if (detector ! nullptr) {detector-detect(bgr, resultInfo, score_thresh, iou_thresh);} else {ObjectInfo objectInfo;objectInfo.x1 0;objectInfo.y1 0;objectInfo.x2 (float) src_w;objectInfo.y2 (float) src_h;objectInfo.label 0;resultInfo.info.push_back(objectInfo);}int nums resultInfo.info.size();LOGW(object nums: %d\n, nums);if (nums 0) {// 开始检测pose-detect(bgr, resultInfo, pose_thresh);// 可视化代码//classifier-visualizeResult(bgr, resultInfo);}//cv::cvtColor(bgr, bgr, cv::COLOR_BGR2RGB);//MatrixToBitmap(env, bgr, dst_bitmap);auto BoxInfo env-FindClass(com/cv/tnn/model/FrameInfo);auto init_id env-GetMethodID(BoxInfo, init, ()V);auto box_id env-GetMethodID(BoxInfo, addBox, (FFFFIF)V);auto ky_id env-GetMethodID(BoxInfo, addKeyPoint, (FFF)V);jobjectArray ret env-NewObjectArray(resultInfo.info.size(), BoxInfo, nullptr);for (int i 0; i nums; i) {auto info resultInfo.info[i];env-PushLocalFrame(1);//jobject obj env-AllocObject(BoxInfo);jobject obj env-NewObject(BoxInfo, init_id);// set bbox//LOGW(rect:[%f,%f,%f%f] label:%d,score:%f \n, info.rect.x,info.rect.y, info.rect.w, info.rect.h, 0, 1.0f);env-CallVoidMethod(obj, box_id, info.x1, info.y1, info.x2 - info.x1, info.y2 - info.y1,info.label, info.score);// set keypointfor (const auto kps : info.keypoints) {//LOGW(point:[%f,%f] score:%f \n, lm.point.x, lm.point.y, lm.score);env-CallVoidMethod(obj, ky_id, (float) kps.point.x, (float) kps.point.y,(float) kps.score);}obj env-PopLocalFrame(obj);env-SetObjectArrayElement(ret, i, obj);}return ret; } 4 Android测试效果  Android Demo在普通手机CPU/GPU上可以达到实时检测效果CPU(4线程)约50ms左右GPU约30ms左右 基本满足业务的性能需求。 Android版本的人体关键点检测APP Demo体验 Android人体关键点检测APP Demo体验(下载)https://download.csdn.net/download/guyuealian/88610359 5 运行APP闪退dlopen failed: library libomp.so not found 参考解决方法解决dlopen failed: library “libomp.so“ not found_PKing666666的博客-CSDN博客_dlopen failed Android SDK和NDK相关版本信息请参考  5.Android项目源码下载 Android项目源码下载地址 Android人体关键点检测APP Demo体验(下载)https://download.csdn.net/download/guyuealian/88610359 整套Android项目源码内容包含 Android Demo源码支持YOLOv5人体检测Android Demo源码支持轻量化模型LiteHRNet和Mobilenet-v2人体关键点检测(人体姿态估计)Android Demo在普通手机CPU/GPU上可以实时检测CPU约50msGPU约30ms左右Android Demo支持图片视频摄像头测试所有依赖库都已经配置好可直接build运行若运行出现闪退请参考dlopen failed: library “libomp.so“ not found 解决。 6.C实现人体关键点检测 人体关键点检测4C/C实现人体关键点检测(人体姿势估计)含源码 可实时检测 https://blog.csdn.net/guyuealian/article/details/134881797
http://www.hkea.cn/news/14380997/

相关文章:

  • 网站收录了但是搜索不到要找人做公司网站应该怎么做
  • 旅行做攻略的网站好加快网站访问速度
  • 网站建设及运营服务流程西安企业招聘官网
  • 参考效果图网站深圳做美颜相机的公司
  • 手机网站模板图片网站超链接用什么
  • 成绩查询系统网站开发北京建设安全生产协会网站
  • 网站开发程序网站开发常用哪几种语言
  • 企业网站标题设置wordpress 移动端不显示图片
  • 医院如何做网站策划?网站从哪些方面来做
  • 国家通建设通网站做网站需要注意什么
  • 成都的网站建设wordpress底部不显示
  • 良品铺子网站建设设计建设网站后台
  • 做HH网站网站一般有哪些模块
  • 模板网传奇手游福州网站seo
  • 温州网站设计联系亿企邦福州seo经理招聘
  • 宿迁房价怎么给网站做seo优化
  • 深圳优化网站方法什么网站可下载可做海报的图片
  • 有没有做机械加工的网站东莞外贸网站搭建制作
  • 中国空间站有几个舱段广州网站优化费用
  • 国家城乡和建设厅特殊工种网站沈阳建设网站哪家好
  • 爱站工具下载百度小说排行榜风云榜
  • 给你网站你会怎么做二维码生成器网站
  • 东莞微联建站网站制作预付款会计分录
  • 山东建设厅官方网站临沂如何做设计师个人网站
  • 网站建设走无形资产Wordpress幻灯片滑块设置
  • 自己做电影网站需要什么网站建设大师
  • 成都网站建设 小兵cms漯河网站建设电话
  • 东莞网站建设必要性怎么做网站缩略图
  • 办公用品网站建设wix建站是免费的吗
  • 漳州模板网站建设改革开放40周年网站发展建设