首页 > 其他分享 >openvino道路分割

openvino道路分割

时间:2023-09-30 09:44:25浏览次数:32  
标签:openvino res mask 分割 道路 blob np net cv

我这里仅显示道路和车道线

1 mask = np.zeros((hh, ww, 3), dtype=np.uint8)
2 mask[np.where(res > 0)] = (0, 255, 0) # 路面
3 mask[np.where(res > 1)] = (255, 0, 0) # 车道线

 

模型的下载还是老方法

Accuracy

The quality metrics calculated on 500 images from "Mighty AI" dataset that was converted for four class classification task are:

LabelIOUACC
mean 0.844 0.901
BG 0.986 0.994
road 0.954 0.974
curbs 0.727 0.831
marks 0.708 0.806
  • IOU=TP/(TP+FN+FP)
  • ACC=TP/GT
  • TP - number of true positive pixels for given class
  • FN - number of false negative pixels for given class
  • FP - number of false positive pixels for given class
  • GT - number of ground truth pixels for given class

Performance

Inputs

A blob with a BGR image in the format: [B, C=3, H=512, W=896], where:

  • B – batch size
  • C – number of channels
  • H – image height
  • W – image width

Outputs

The output is a blob with the shape [B, C=4, H=512, W=896]. It can be treated as a four-channel feature map, where each channel is a probability of one of the classes: BG, road, curb, mark.

 1 import time
 2 import cv2 as cv
 3 import numpy as np
 4 import numpy as py
 5 from openvino.inference_engine import IECore
 6 
 7 gengers = ["femal", "male"]
 8 
 9 def face_landmarks35():
10     ie = IECore()
11     for device in ie.available_devices:
12         print(device)
13     model_xml = "road-segmentation-adas-0001.xml"
14     model_bin = "road-segmentation-adas-0001.bin"
15     net = ie.read_network(model=model_xml, weights=model_bin)
16     input_blob = next(iter(net.input_info))
17     out_blob = next(iter(net.outputs))
18     n, c, h, w = net.input_info[input_blob].input_data.shape
19     print(n, c, h, w)  # 1 3 384 384
20 
21     cap = cv.VideoCapture("2.mp4")
22     exec_net = ie.load_network(network=net, device_name="CPU")
23 
24     while True:
25         ret, frame = cap.read()
26         if ret is not True:
27             break
28         image = cv.resize(frame, (w, h))
29         image = image.transpose(2, 0, 1)
30         inf_start = time.time()
31         # 路面与车道线分割
32         res = exec_net.infer(inputs={input_blob: [image]})
33         inf_end = time.time() - inf_start
34         ih, iw, ic = frame.shape
35         res = res[out_blob]          # (1, 4, 512, 896)
36         res = np.squeeze(res, 0)     # (4, 512, 896)
37         #res = res.transpose(1, 2, 0) # (512, 896, 4)
38         res = np.argmax(res, 0)
39         hh, ww = res.shape
40         mask = np.zeros((hh, ww, 3), dtype=np.uint8)
41         mask[np.where(res > 0)] = (0, 255, 0) # 路面
42         mask[np.where(res > 1)] = (255, 0, 0) # 车道线
43         mask = cv.resize(mask, (frame.shape[1], frame.shape[0]))
44         result = cv.addWeighted(frame, 0.5, mask, 0.5, 0)
45 
46         cv.imshow("road segment", result)
47         cv.waitKey(1)
48     cv.destroyAllWindows()
49 
50 
51 if __name__ == "__main__":
52     face_landmarks35()
View Code

 

标签:openvino,res,mask,分割,道路,blob,np,net,cv
From: https://www.cnblogs.com/feiyull/p/15471605.html

相关文章

  • ISO/ SAE 21434 道路车辆网络安全工程
    ISO/SAE21434道路车辆网络安全工程是全球首个面向汽车行业网络安全管理的国际标准,明确了网络安全风险管理以及产品全生命周期各阶段的工程要求.ISO/SAE21434标准明确了与网络安全相关的术语、目标、要求和指导方针,制定了一个结构化的抽象框架,以帮助包括整车制造商以及供应......
  • json数据传输压缩以及数据切片分割分块传输多种实现方法,大数据量情况下zlib压缩以及by
    json数据传输压缩以及数据切片分割分块传输多种实现方法,大数据量情况下zlib压缩以及bytes指定长度分割。importsysimportzlibimportjsonimportmathKAFKA_MAX_SIZE=1024*1024CONTENT_MIN_MAX_SIZE=KAFKA_MAX_SIZE*0.9defsplit_data(data):""":param......
  • QOJ 5175 翻修道路
    QOJ传送门考虑\(1\)到其他关键城市的最短路的并是一棵以\(1\)为根的外向树,考虑在外向树上从叶子往根dp。设\(f_{u,i,S}\)为当前在点\(u\),已经翻修了\(i\)条道路,当前已经经过的关键点集合为\(S\),最短路最大值的最小值。转移有两种情况,一种是在外向树上往父亲的边......
  • 如何使用python进行pdf文件分割
    1.安装PyPDF2包pipinstallPyPDF2然后importPyPDF22.在PyPDF2库中,可以使用以下代码打开PDF文件:pdf_file=open('filename.pdf','rb')pdf_reader=PyPDF2.PdfFileReader(pdf_file)total_pages=pdf_reader.numPages3.下面代码将每一页分开fromPyPDF2impo......
  • 深圳轨道交通的高客运量减轻了城市道路交通的压力
    深圳,一个充满活力的现代都市,其交通系统一直以来都备受瞩目。根据广郡通数据平台的数据,截止到2021年,深圳的轨道交通线路长度达到了431公里,拥有264个轨道交通车站,其中包括44个换乘车站,轨道交通客运量高达218,633.2万人次。本文将探讨深圳轨道交通系统的特点以及它对城市居民的生活产......
  • Shell中如何分割字符串
    使用字符替换来分割字符串tr或者类似实现字符串替换的工具,如sed。echo"go:python:rust:js"|tr":""\n"#使用tr将分隔符:替换成换行符\n使用tr将分隔符:替换成换行符\n。使用cut分割字符串echo"go:python:rust:js"|cut-d":"-f1echo"go:pyth......
  • 基于Unet+opencv实现天空对象的分割、替换和美化
      传统图像处理算法进行“天空分割”存在精度问题且调参复杂,无法很好地应对云雾、阴霾等情况;本篇文章分享的“基于Unet+opencv实现天空对象的分割、替换和美化”,较好地解决了该问题,包括以下内容:1、基于Unet语义分割的基本原理、环境构建、参数调节等2、一种有效的天空分割数......
  • 马毅教授新作:白盒ViT成功实现分割涌现,经验深度学习时代即将结束?
    前言 CRATE模型完全由理论指导设计,仅用自监督学习即可实现分割语义涌现。本文转载自新智元仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最全教程整理【CV技......
  • SAP 评估类、评估类型、分割评估、评估范围的区别
    SAP评估类、评估类型、分割评估、评估范围的区别SAPMM评估类型评估类别同一物料的使用,既有“自制品”,又有“外购品”,并且其来源不同,如同一外购品由不同的供应商提供,价格也不相同,也就是说:同一物料有不同的价值指派,即在不同的条件下,同一物料可能有不同的价值。将“自制品”和......
  • ICCV 2023 | 超越SAM!EntitySeg:更少的数据,更高的分割质量!
    前言 在本文中,High-QualityEntitySegmentation对分割问题进行了全新的探索。本文转载自CVer仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最全教程整理【CV......