Browse Source

v2.0

master
wangjin0928 1 year ago
parent
commit
71d3d2929e
1 changed files with 19 additions and 22 deletions
  1. +19
    -22
      demo.py

+ 19
- 22
demo.py View File

###河道巡检的参数#### ###河道巡检的参数####
'''
par={ par={
'device':'0', ###显卡号,如果用TRT模型,只支持0(单显卡) 'device':'0', ###显卡号,如果用TRT模型,只支持0(单显卡)
'labelnames':"../AIlib2/weights/yolov5/class8/labelnames.json", ###检测类别对照表
'labelnames':"../AIlib2/weights/river/labelnames.json", ###检测类别对照表
'gpuname':'3090',###显卡名称 'gpuname':'3090',###显卡名称
'max_workers':1, ###并行线程数 'max_workers':1, ###并行线程数
'trtFlag_det':True,###检测模型是否采用TRT 'trtFlag_det':True,###检测模型是否采用TRT
'trtFlag_seg':True,###分割模型是否采用TRT 'trtFlag_seg':True,###分割模型是否采用TRT
'Detweights':"../AIlib2/weights/yolov5/class8/bestcao_A10_fp16.engine",###检测模型路径
'Detweights':"../AIlib2/weights/river/yolov5_2080Ti_fp16.engine",###检测模型路径
'detModelpara':[{"id":str(x),"config":{"k1":"v1","k2":"v2"}} for x in [0,1,2,3,4,5,6,7] ],###控制哪些检测类别显示,输出 'detModelpara':[{"id":str(x),"config":{"k1":"v1","k2":"v2"}} for x in [0,1,2,3,4,5,6,7] ],###控制哪些检测类别显示,输出
'slopeIndex':[5,6,7],###岸坡类别(或者其它业务里的类别),不与河道(分割的前景区域)计算交并比,即不论是否在河道内都显示。 'slopeIndex':[5,6,7],###岸坡类别(或者其它业务里的类别),不与河道(分割的前景区域)计算交并比,即不论是否在河道内都显示。
'seg_nclass':2,###分割模型类别数目,默认2类 'seg_nclass':2,###分割模型类别数目,默认2类
'segRegionCnt':1,###分割模型结果需要保留的等值线数目 'segRegionCnt':1,###分割模型结果需要保留的等值线数目
'segPar':{'modelSize':(640,360),'mean':(0.485, 0.456, 0.406),'std' :(0.229, 0.224, 0.225),'numpy':False, 'RGB_convert_first':True},###分割模型预处理参数 'segPar':{'modelSize':(640,360),'mean':(0.485, 0.456, 0.406),'std' :(0.229, 0.224, 0.225),'numpy':False, 'RGB_convert_first':True},###分割模型预处理参数
'Segweights' : '../AIlib2/weights/STDC/model_maxmIOU75_1720_0.946_360640_A10_fp16.engine',###分割模型权重位置
'postFile': '../AIlib2/conf/para.json',###后处理参数文件
'Segweights' : '../AIlib2/weights/river/stdc_360X640_2080Ti_fp16.engine',###分割模型权重位置
'postFile': '../AIlib2/weights/river/para.json',###后处理参数文件
'txtFontSize':40,###文本字符的大小 'txtFontSize':40,###文本字符的大小
'digitFont': { 'line_thickness':2,'boxLine_thickness':1, 'fontSize':1.0,'waterLineColor':(0,255,255),'waterLineWidth':3},###显示框、线、数字设置 'digitFont': { 'line_thickness':2,'boxLine_thickness':1, 'fontSize':1.0,'waterLineColor':(0,255,255),'waterLineWidth':3},###显示框、线、数字设置
'testImgPath':'images/slope/', 'testImgPath':'images/slope/',
#'images/river2/', #'images/river2/',
#'../../../data/无人机起飞测试图像/',###测试图像的位置 #'../../../data/无人机起飞测试图像/',###测试图像的位置
'testOutPath':'images/results/',###输出测试图像位置 'testOutPath':'images/results/',###输出测试图像位置
}'''
}
####公路巡检的参数 ####公路巡检的参数
'''
'''
par={ par={
'device':'0', ###显卡号,如果用TRT模型,只支持0(单显卡) 'device':'0', ###显卡号,如果用TRT模型,只支持0(单显卡)
'labelnames':"../AIlib2/weights/road/labelnames.json", ###检测类别对照表 'labelnames':"../AIlib2/weights/road/labelnames.json", ###检测类别对照表
'max_workers':1, ###并行线程数 'max_workers':1, ###并行线程数
'trtFlag_det':True,###检测模型是否采用TRT 'trtFlag_det':True,###检测模型是否采用TRT
'trtFlag_seg':True,###分割模型是否采用TRT 'trtFlag_seg':True,###分割模型是否采用TRT
'Detweights':"../AIlib2/weights/road/best_A10_fp16.engine",###检测模型路径
'Detweights':"../AIlib2/weights/road/yolov5_2080Ti_fp16.engine",###检测模型路径
'detModelpara':[{"id":str(x),"config":{"k1":"v1","k2":"v2"}} for x in [0,1,3,4,5,6] ],###控制哪些检测类别显示、输出 'detModelpara':[{"id":str(x),"config":{"k1":"v1","k2":"v2"}} for x in [0,1,3,4,5,6] ],###控制哪些检测类别显示、输出
'slopeIndex':[5,6,7],###岸坡类别(或者其它业务里的类别),不与河道(分割的前景区域)计算交并比,即不论是否在河道内都显示。 'slopeIndex':[5,6,7],###岸坡类别(或者其它业务里的类别),不与河道(分割的前景区域)计算交并比,即不论是否在河道内都显示。
'seg_nclass':2,###分割模型类别数目,默认2类 'seg_nclass':2,###分割模型类别数目,默认2类
'segRegionCnt':2,###分割模型结果需要保留的等值线数目 'segRegionCnt':2,###分割模型结果需要保留的等值线数目
'segPar':{'modelSize':(640,360),'mean':(0.485, 0.456, 0.406),'std' :(0.229, 0.224, 0.225),'numpy':False, 'RGB_convert_first':True},###分割模型预处理参数 'segPar':{'modelSize':(640,360),'mean':(0.485, 0.456, 0.406),'std' :(0.229, 0.224, 0.225),'numpy':False, 'RGB_convert_first':True},###分割模型预处理参数
'Segweights' : '../AIlib2/weights/road/BiseNet_A10_fp16.engine',###分割模型权重位置
'Segweights' : '../AIlib2/weights/road/stdc_360X640_2080Ti_fp16.engine',###分割模型权重位置
'postFile': '../AIlib2/weights/road/para.json',###后处理参数文件 'postFile': '../AIlib2/weights/road/para.json',###后处理参数文件
'txtFontSize':80,###文本字符的大小 'txtFontSize':80,###文本字符的大小
'digitFont': { 'line_thickness':2,'boxLine_thickness':1, 'fontSize':1.0,'waterLineColor':(0,255,255),'waterLineWidth':3},###显示框、线设置 'digitFont': { 'line_thickness':2,'boxLine_thickness':1, 'fontSize':1.0,'waterLineColor':(0,255,255),'waterLineWidth':3},###显示框、线设置
def det_demo(business ): def det_demo(business ):
####森林巡检的参数 ####森林巡检的参数
'''
par={ par={
'device':'0', ###显卡号,如果用TRT模型,只支持0(单显卡) 'device':'0', ###显卡号,如果用TRT模型,只支持0(单显卡)
'labelnames':"../AIlib2/weights/forest/labelnames.json", ###检测类别对照表 'labelnames':"../AIlib2/weights/forest/labelnames.json", ###检测类别对照表
'max_workers':1, ###并行线程数 'max_workers':1, ###并行线程数
'trtFlag_det':True,###检测模型是否采用TRT 'trtFlag_det':True,###检测模型是否采用TRT
'trtFlag_seg':False,###分割模型是否采用TRT 'trtFlag_seg':False,###分割模型是否采用TRT
'Detweights':"../AIlib2/weights/forest/best_A10_fp16.engine",###检测模型路径
'Detweights':"../AIlib2/weights/forest/yolov5_2080Ti_fp16.engine",###检测模型路径
'detModelpara':[{"id":str(x),"config":{"k1":"v1","k2":"v2"}} for x in [0,1,2,3,4,5,6] ],###控制哪些检测类别显示、输出 'detModelpara':[{"id":str(x),"config":{"k1":"v1","k2":"v2"}} for x in [0,1,2,3,4,5,6] ],###控制哪些检测类别显示、输出
'slopeIndex':[],###岸坡类别(或者其它业务里的类别),不与河道(分割的前景区域)计算交并比,即不论是否在河道内都显示。 'slopeIndex':[],###岸坡类别(或者其它业务里的类别),不与河道(分割的前景区域)计算交并比,即不论是否在河道内都显示。
'seg_nclass':2,###分割模型类别数目,默认2类 'seg_nclass':2,###分割模型类别数目,默认2类
'testImgPath':'../AIdemo2/images/forest/',###测试图像的位置 'testImgPath':'../AIdemo2/images/forest/',###测试图像的位置
'testOutPath':'images/results/',###输出测试图像位置 'testOutPath':'images/results/',###输出测试图像位置
} }
'''
###车辆巡检参数 ###车辆巡检参数
''' '''
par={ par={
'max_workers':1, ###并行线程数 'max_workers':1, ###并行线程数
'trtFlag_det':True,###检测模型是否采用TRT 'trtFlag_det':True,###检测模型是否采用TRT
'trtFlag_seg':False,###分割模型是否采用TRT 'trtFlag_seg':False,###分割模型是否采用TRT
'Detweights':"../AIlib2/weights/vehicle/yolov5_A10_fp16.engine",###检测模型路径
'Detweights':"../AIlib2/weights/vehicle/yolov5_2080Ti_fp16.engine",###检测模型路径
'detModelpara':[{"id":str(x),"config":{"k1":"v1","k2":"v2"}} for x in [0,1,2,3,4,5,6] ],###控制哪些检测类别显示、输出 'detModelpara':[{"id":str(x),"config":{"k1":"v1","k2":"v2"}} for x in [0,1,2,3,4,5,6] ],###控制哪些检测类别显示、输出
'slopeIndex':[],###岸坡类别(或者其它业务里的类别),不与河道(分割的前景区域)计算交并比,即不论是否在河道内都显示。 'slopeIndex':[],###岸坡类别(或者其它业务里的类别),不与河道(分割的前景区域)计算交并比,即不论是否在河道内都显示。
'seg_nclass':2,###分割模型类别数目,默认2类 'seg_nclass':2,###分割模型类别数目,默认2类
'max_workers':1, ###并行线程数 'max_workers':1, ###并行线程数
'trtFlag_det':True,###检测模型是否采用TRT 'trtFlag_det':True,###检测模型是否采用TRT
'trtFlag_seg':False,###分割模型是否采用TRT 'trtFlag_seg':False,###分割模型是否采用TRT
'Detweights':"../AIlib2/weights/pedestrian/yolov5_A10_fp16.engine",###检测模型路径
'Detweights':"../AIlib2/weights/pedestrian/yolov5_2080Ti_fp16.engine",###检测模型路径
'detModelpara':[{"id":str(x),"config":{"k1":"v1","k2":"v2"}} for x in [0,1,2,3,4,5,6] ],###控制哪些检测类别显示、输出 'detModelpara':[{"id":str(x),"config":{"k1":"v1","k2":"v2"}} for x in [0,1,2,3,4,5,6] ],###控制哪些检测类别显示、输出
'slopeIndex':[],###岸坡类别(或者其它业务里的类别),不与河道(分割的前景区域)计算交并比,即不论是否在河道内都显示。 'slopeIndex':[],###岸坡类别(或者其它业务里的类别),不与河道(分割的前景区域)计算交并比,即不论是否在河道内都显示。
'seg_nclass':2,###分割模型类别数目,默认2类 'seg_nclass':2,###分割模型类别数目,默认2类
}''' }'''
###烟雾火焰检测模型 ###烟雾火焰检测模型
'''
par={ par={
'device':'0', ###显卡号,如果用TRT模型,只支持0(单显卡) 'device':'0', ###显卡号,如果用TRT模型,只支持0(单显卡)
'labelnames':"../AIlib2/weights/smogfire/labelnames.json", ###检测类别对照表 'labelnames':"../AIlib2/weights/smogfire/labelnames.json", ###检测类别对照表
'max_workers':1, ###并行线程数 'max_workers':1, ###并行线程数
'trtFlag_det':True,###检测模型是否采用TRT 'trtFlag_det':True,###检测模型是否采用TRT
'trtFlag_seg':False,###分割模型是否采用TRT 'trtFlag_seg':False,###分割模型是否采用TRT
'Detweights':"../AIlib2/weights/smogfire/yolov5_A10_fp16.engine",###检测模型路径
'Detweights':"../AIlib2/weights/smogfire/yolov5_2080Ti_fp16.engine",###检测模型路径
'detModelpara':[{"id":str(x),"config":{"k1":"v1","k2":"v2"}} for x in [0,1,2,3,4,5,6] ],###控制哪些检测类别显示、输出 'detModelpara':[{"id":str(x),"config":{"k1":"v1","k2":"v2"}} for x in [0,1,2,3,4,5,6] ],###控制哪些检测类别显示、输出
'slopeIndex':[],###岸坡类别(或者其它业务里的类别),不与河道(分割的前景区域)计算交并比,即不论是否在河道内都显示。 'slopeIndex':[],###岸坡类别(或者其它业务里的类别),不与河道(分割的前景区域)计算交并比,即不论是否在河道内都显示。
'seg_nclass':2,###没有分割模型,此处不用 'seg_nclass':2,###没有分割模型,此处不用
'testImgPath':'../AIdemo2/images/smogfire/',###测试图像的位置 'testImgPath':'../AIdemo2/images/smogfire/',###测试图像的位置
'testOutPath':'images/results/',###输出测试图像位置 'testOutPath':'images/results/',###输出测试图像位置
} }
'''
segRegionCnt=par['segRegionCnt'] segRegionCnt=par['segRegionCnt']
trtFlag_seg = par['trtFlag_seg'];segPar=par['segPar'] trtFlag_seg = par['trtFlag_seg'];segPar=par['segPar']
device = select_device(device_) device = select_device(device_)
half = device.type != 'cpu' # half precision only supported on CUDA half = device.type != 'cpu' # half precision only supported on CUDA
trtFlag_det=par['trtFlag_det'] ###是否采用TRT模型加速 trtFlag_det=par['trtFlag_det'] ###是否采用TRT模型加速
##以下参数目前不可改 ##以下参数目前不可改
#business='forest';imageW=4916 ####森林模型
#business='road';
imageW=1536 ####道路模型 imageW=1536 ####道路模型
digitFont= par['digitFont'] digitFont= par['digitFont']
#jkm_demo() #jkm_demo()
det_demo( 'pedestrian' )
#detSeg_demo()
#det_demo( 'pedestrian' )
detSeg_demo()

Loading…
Cancel
Save