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

正能量网站免费入口不用下载网站建设与管理课件

正能量网站免费入口不用下载,网站建设与管理课件,网站资源做外链,建站城前言 想做一个目标旋转角度检测的工程#xff0c;但是网上多少python的#xff0c;或者linux的。在win10 visual 2022移植部署#xff0c;记录一下。 参考 这篇文章没有C win10 环境下的部署教程#xff0c;我相对于是对此做了补充。 1、下载工程 https://github.com/sh…前言 想做一个目标旋转角度检测的工程但是网上多少python的或者linux的。在win10 visual 2022移植部署记录一下。 参考 这篇文章没有C win10 环境下的部署教程我相对于是对此做了补充。 1、下载工程 https://github.com/shouxieai/tensorRT_Pro 2 模型导出 在 ultralytics/engine/exporter.py 文件中改动一处 # output_names [output0, output1] if isinstance(self.model, SegmentationModel) else [output0] # dynamic self.args.dynamic # if dynamic: # dynamic {images: {0: batch, 2: height, 3: width}} # shape(1,3,640,640) # if isinstance(self.model, SegmentationModel): # dynamic[output0] {0: batch, 2: anchors} # shape(1, 116, 8400) # dynamic[output1] {0: batch, 2: mask_height, 3: mask_width} # shape(1,32,160,160) # elif isinstance(self.model, DetectionModel): # dynamic[output0] {0: batch, 2: anchors} # shape(1, 84, 8400) # exporter.py output_names [output0, output1] if isinstance(self.model, SegmentationModel) else [output] dynamic self.args.dynamic if dynamic:dynamic {images: {0: batch}} # shape(1,3,640,640)if isinstance(self.model, SegmentationModel):dynamic[output0] {0: batch, 2: anchors} # shape(1, 116, 8400)dynamic[output1] {0: batch, 2: mask_height, 3: mask_width} # shape(1,32,160,160)elif isinstance(self.model, DetectionModel):dynamic[output] {0: batch} # shape(1, 84, 8400)在 ultralytics/nn/modules/head.py 文件中改动一处 def forward(self, x):Concatenates and returns predicted bounding boxes and class probabilities.bs x[0].shape[0] # batch sizeangle torch.cat([self.cv4[i](x[i]).view(bs, self.ne, -1) for i in range(self.nl)], 2) # OBB theta logits# NOTE: set angle as an attribute so that decode_bboxes could use it.angle (angle.sigmoid() - 0.25) * math.pi # [-pi/4, 3pi/4]# angle angle.sigmoid() * math.pi / 2 # [0, pi/2]if not self.training:self.angle anglex Detect.forward(self, x)if self.training:return x, angle#return torch.cat([x, angle], 1) if self.export else (torch.cat([x[0], angle], 1), (x[1], angle))return torch.cat([x, angle], 1).permute(0, 2, 1) if self.export else (torch.cat([x[0], angle], 1), (x[1], angle))在终端执行如下指令即可完成 onnx 导出 from ultralytics import YOLOmodel YOLO(yolov8_obb_zwc_0918.pt)success model.export(formatonnx, dynamicTrue, simplifyTrue)3 C 修改一个简单的测试测序在原工程app_yolo_obb.cpp 的基础上修改如下 #include trt_builder.hpp #include trt_infer.hpp #include ilogger.hpp #include yolo_obb.hpp static const char* dotalabels[] {0topleft, 1topright, 2downleft, 3downright, 4top,5right, 6down, 7left, bridge, large vehicle,small vehicle, helicopter, roundabout, soccer ball field, swimming pool }; using namespace std; static vectorcv::Point xywhr2xyxyxyxy(const YoloOBB::Box box) {float cos_value std::cos(box.angle);float sin_value std::sin(box.angle);float w_2 box.width / 2, h_2 box.height / 2;float vec1_x w_2 * cos_value, vec1_y w_2 * sin_value;float vec2_x -h_2 * sin_value, vec2_y h_2 * cos_value;vectorcv::Point corners;corners.push_back(cv::Point(box.center_x vec1_x vec2_x, box.center_y vec1_y vec2_y));corners.push_back(cv::Point(box.center_x vec1_x - vec2_x, box.center_y vec1_y - vec2_y));corners.push_back(cv::Point(box.center_x - vec1_x - vec2_x, box.center_y - vec1_y - vec2_y));corners.push_back(cv::Point(box.center_x - vec1_x vec2_x, box.center_y - vec1_y vec2_y));return corners; } static void test_single_image() {// //----initialauto engine YoloOBB::create_infer(E:***.trt, // engine file0, // gpu id0.25f, // confidence threshold0.45f, // nms thresholdYoloOBB::NMSMethod::FastGPU, // NMS method, fast GPU / CPU1024, // max objectsfalse // preprocess use multi stream);if (engine nullptr) {INFOE(Engine is nullptr);return;}//auto files iLogger::find_files(IMG, *.jpg;*.jpeg;*.png;*.gif;*.tif);vectorcv::Mat images;for (int i 0; i files.size(); i) {auto image cv::imread(files[i]);images.emplace_back(image);}//for (auto img : images)//{// cv::imshow(src, img);// cv::waitKey(0);//}for(auto img:images){cv::Mat imageimg ;if (image.empty()) {INFOE(Image is empty);return;}auto boxes engine-commit(image).get();for (auto obj : boxes) {uint8_t b, g, r;tie(b, g, r) iLogger::random_color(obj.class_label);auto corners xywhr2xyxyxyxy(obj);cv::polylines(image, vectorvectorcv::Point{corners}, true, cv::Scalar(b, g, r), 2, 16);auto name dotalabels[obj.class_label];auto caption iLogger::format(%s %.2f, name, obj.confidence);int width cv::getTextSize(caption, 0, 1, 2, nullptr).width 10;cv::rectangle(image, cv::Point(corners[0].x - 3, corners[0].y - 33), cv::Point(corners[0].x - 3 width, corners[0].y), cv::Scalar(b, g, r), -1);cv::putText(image, caption, cv::Point(corners[0].x - 3, corners[0].y - 5), 0, 1, cv::Scalar::all(0), 2, 16);}INFO(Save to Result.jpg, %d objects, boxes.size());cv::imwrite(Result.jpg, image);cv::imshow(result, image);cv::waitKey(0);}engine.reset(); } int main() {test_single_image();return 0; }3.1 工程下IMG 文件夹结构(你要测试的图片集合) 3.2 所需要的CPP 3.3 编译 添加头文件 3.3 .cu的文件需要设置CUDA C/C 编译类型 4 结果 5 PS Cuda 、cudnn 、OpenCV,的配置可以自行百度or参考我的往期文章https://blog.csdn.net/qq_36784503/article/details/138597169
http://www.w-s-a.com/news/450370/

相关文章:

  • wordpress调用图片优化型网站建设的基本要求
  • 郑州模板网站建设策划公司做网站怎么赚钱滑县电
  • 东昌府聊城网站优化秦皇岛市妇幼保健院
  • 做网站能赚钱吗网页升级访问通知天天更新
  • 做网站使用什么软件的免费招聘网
  • 宁波网站建设公司推荐哪家淄博网站制作公司服务
  • 做网站网页挣钱不免费主题wordpress
  • 如何提高你的网站的粘性手机网站整站模板下载
  • 学校网站建设制度网站相关推荐怎么做
  • 昌图网站wordpress 视频外链
  • 企业网站要怎么建设重庆住房城乡建设部网站
  • html5网站特点seo教程培训班
  • 深圳网站建设哪个最好网站 多语
  • 互联网工具型网站创意网络广告
  • 影视公司网站建设网页界面设计分辨率是多少dpi
  • 免费的做微博的网站模板wordpress 页面 首页
  • 摄影图片网站网站辅导运营与托管公司
  • 做课件的网站长春免费建站模板
  • 响应式网站模板下载免费wordpress 小工具移动
  • 网站标签title在线app制作平台
  • 做电器推广的网站简洁大方的网站模板
  • 网站开发的平台100个详情页设计图
  • wordpress淘宝客建站教程视频知名的设计公司网站
  • 批量做单页网站怎么直接用代码做网站
  • 百度收录较好的网站办公室装修设计方案
  • 建设购物网站要求cnzz数据统计
  • 深圳自适应网站建设价格广东网站建设软件
  • 网页设计介绍北京网站自己做彩票网站
  • 最牛论坛网站app生成链接
  • 用jsp做的网站源代码网站优化说明