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

上海地区网站开发公司wordpress em

上海地区网站开发公司,wordpress em,长沙微信网站制作,郑州做网站公司有哪些采用三次多项式拟合生成的anchor特征点#xff0c;在给定的polyfit_draw函数中#xff0c;degree参数代表了拟合多项式的度数。 具体来说#xff0c;当我们使用np.polyfit函数进行数据点的多项式拟合时#xff0c;我们需要指定一个度数。这个度数决定了多项式的复杂度。例…采用三次多项式拟合生成的anchor特征点在给定的polyfit_draw函数中degree参数代表了拟合多项式的度数。 具体来说当我们使用np.polyfit函数进行数据点的多项式拟合时我们需要指定一个度数。这个度数决定了多项式的复杂度。例如 degree 1线性拟合也就是最简单的直线拟合。拟合的多项式形式为 f(y)axb。 degree 2二次多项式拟合。拟合的多项式形式为 f(y)ax2bxc。 degree 3三次多项式拟合。拟合的多项式形式为 f(y)ax3bx2cxd。 ...以此类推。 度数越高多项式越复杂可以更准确地拟合数据点但也更容易过拟合即模型过于复杂过于依赖训练数据对新数据的适应性差。 import torch, os, cv2 from utils.dist_utils import dist_print import torch, os from utils.common import merge_config, get_model import tqdm import torchvision.transforms as transforms from data.dataset import LaneTestDatasetdef pred2coords(pred, row_anchor, col_anchor, local_width 1, original_image_width 1640, original_image_height 590):batch_size, num_grid_row, num_cls_row, num_lane_row pred[loc_row].shapebatch_size, num_grid_col, num_cls_col, num_lane_col pred[loc_col].shapemax_indices_row pred[loc_row].argmax(1).cpu()# n , num_cls, num_lanesvalid_row pred[exist_row].argmax(1).cpu()# n, num_cls, num_lanesmax_indices_col pred[loc_col].argmax(1).cpu()# n , num_cls, num_lanesvalid_col pred[exist_col].argmax(1).cpu()# n, num_cls, num_lanespred[loc_row] pred[loc_row].cpu()pred[loc_col] pred[loc_col].cpu()coords []row_lane_idx [1,2]col_lane_idx [0,3]for i in row_lane_idx:tmp []if valid_row[0,:,i].sum() num_cls_row / 2:for k in range(valid_row.shape[1]):if valid_row[0,k,i]:all_ind torch.tensor(list(range(max(0,max_indices_row[0,k,i] - local_width), min(num_grid_row-1, max_indices_row[0,k,i] local_width) 1)))out_tmp (pred[loc_row][0,all_ind,k,i].softmax(0) * all_ind.float()).sum() 0.5out_tmp out_tmp / (num_grid_row-1) * original_image_widthtmp.append((int(out_tmp), int(row_anchor[k] * original_image_height)))coords.append(tmp)for i in col_lane_idx:tmp []if valid_col[0,:,i].sum() num_cls_col / 4:for k in range(valid_col.shape[1]):if valid_col[0,k,i]:all_ind torch.tensor(list(range(max(0,max_indices_col[0,k,i] - local_width), min(num_grid_col-1, max_indices_col[0,k,i] local_width) 1)))out_tmp (pred[loc_col][0,all_ind,k,i].softmax(0) * all_ind.float()).sum() 0.5out_tmp out_tmp / (num_grid_col-1) * original_image_heighttmp.append((int(col_anchor[k] * original_image_width), int(out_tmp)))coords.append(tmp)return coordsdef polyfit_draw(img, coords, degree3, color(144, 238, 144), thickness2):对车道线坐标进行多项式拟合并在图像上绘制曲线。:param img: 输入图像:param coords: 车道线坐标列表:param degree: 拟合的多项式的度数:param color: 曲线的颜色:param thickness: 曲线的宽度:return: 绘制了曲线的图像if len(coords) 0:return imgx [point[0] for point in coords]y [point[1] for point in coords]# 对点进行多项式拟合coefficients np.polyfit(y, x, degree)poly np.poly1d(coefficients)ys np.linspace(min(y), max(y), 100)xs poly(ys)for i in range(len(ys) - 1):start_point (int(xs[i]), int(ys[i]))end_point (int(xs[i1]), int(ys[i1]))cv2.line(img, start_point, end_point, color, thickness)return imgif __name__ __main__:torch.backends.cudnn.benchmark Trueargs, cfg merge_config()cfg.batch_size 1print(setting batch_size to 1 for demo generation)dist_print(start testing...)assert cfg.backbone in [18,34,50,101,152,50next,101next,50wide,101wide]if cfg.dataset CULane:cls_num_per_lane 18elif cfg.dataset Tusimple:cls_num_per_lane 56else:raise NotImplementedErrornet get_model(cfg)state_dict torch.load(cfg.test_model, map_locationcpu)[model]compatible_state_dict {}for k, v in state_dict.items():if module. in k:compatible_state_dict[k[7:]] velse:compatible_state_dict[k] vnet.load_state_dict(compatible_state_dict, strictFalse)net.eval()img_transforms transforms.Compose([transforms.Resize((int(cfg.train_height / cfg.crop_ratio), cfg.train_width)),transforms.ToTensor(),transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)),])if cfg.dataset CULane:splits [test0_normal.txt]datasets [LaneTestDataset(cfg.data_root,os.path.join(cfg.data_root, list/test_split/split),img_transform img_transforms, crop_size cfg.train_height) for split in splits]img_w, img_h 1570, 660elif cfg.dataset Tusimple:splits [test.txt]datasets [LaneTestDataset(cfg.data_root,os.path.join(cfg.data_root, split),img_transform img_transforms, crop_size cfg.train_height) for split in splits]img_w, img_h 1280, 720else:raise NotImplementedErrorfor split, dataset in zip(splits, datasets):loader torch.utils.data.DataLoader(dataset, batch_size1, shuffle False, num_workers1)fourcc cv2.VideoWriter_fourcc(*MJPG)print(split[:-3]avi)vout cv2.VideoWriter(4.avi, fourcc , 30.0, (img_w, img_h))for i, data in enumerate(tqdm.tqdm(loader)):imgs, names dataimgs imgs.cuda()with torch.no_grad():pred net(imgs)vis cv2.imread(os.path.join(cfg.data_root,names[0]))coords pred2coords(pred, cfg.row_anchor, cfg.col_anchor, original_image_width img_w, original_image_height img_h)for lane in coords: # for coord in lane: # cv2.circle(vis,coord,1,(0,255,0),-1) # vis draw_lanes(vis, coords) # polyfit_draw(vis, lane)vis polyfit_draw(vis, lane) # 对每一条车道线都使用polyfit_draw函数vout.write(vis)vout.release() ps 优化前 优化后 显存利用情况
http://www.zqtcl.cn/news/215211/

相关文章:

  • 视频微网站开发谷歌怎么做网站推广
  • 微信公众号服务号网站开发流程网站推广网络
  • 徐州网站建设技术wordpress 分辨 模版
  • 慈溪企业网站建设公司wordpress网盘搜索引擎源码
  • 建筑类企业网站模板怎么制作网站链接
  • 常州网站建设外包襄阳做网站的
  • 临清网站优化用jsp做网站的感想
  • 个人工作室网站网站备案 万网
  • 网络推广模板网站会员管理软件
  • 西乡塘网站建设网站建设公司的成本有哪些方面
  • 在哪里可以学习做网站西安制作公司网站的公司
  • 网站建设 更新 维护淮北矿业工程建设公司网站
  • 网站开发 平台宝应做网站
  • 网站开发开题报告广州的兼职网站建设
  • 辽宁同鑫建设网站网站后期维护费用
  • 政法网站建设有哪些不足广州网站建设信息科技有限公司
  • 营销型网站 平台海口智能建站价格
  • 网站空间过期电商网站建设比较好的
  • seo公司 彼亿营销舆情优化公司
  • diango是做网站的后端吗网页怎么做成app
  • 思勤传媒网站建设公司如何查询网站的外链
  • 网站设计思路文案范文专业手机网站建设多少钱
  • 有部分网站打不开网站服务内容怎么写
  • 百度安全网站检测好看的免费的小说网站模板
  • 锡山区住房和城乡建设局网站免费ppt模板下载简约
  • 建设银行 杭州招聘网站建设工程有限公司是干什么的
  • 做网站必须购买空间吗?3点新闻发布
  • 济南集团网站建设流程东莞做网站公司首选
  • 有需要做网站推广找我网站怎么 备案
  • 怎么把网站放到服务器上站长工具seo综合查询外部链接数量