Neural network 如何在16位深度图像文件上训练YOLO(Darknet)?
yolo的当前实现支持8位深度、3通道png/jpg图像进行训练。我需要在16位,3通道png图像上训练yolo。我需要更改什么代码 我当前已更改以下代码: 在函数Neural network 如何在16位深度图像文件上训练YOLO(Darknet)?,neural-network,computer-vision,deep-learning,object-detection,darknet,Neural Network,Computer Vision,Deep Learning,Object Detection,Darknet,yolo的当前实现支持8位深度、3通道png/jpg图像进行训练。我需要在16位,3通道png图像上训练yolo。我需要更改什么代码 我当前已更改以下代码: 在函数图像加载\u图像\u机顶盒(字符*文件名,int通道)中,更改: unsigned char*data=stbi_加载(文件名,&w,&h,&c,通道)tounsigned short*data=stbi\u加载(文件名,&w,&h,&c,通道) im.data[dst_index]=(float)data[src_index]/2
图像加载\u图像\u机顶盒(字符*文件名,int通道)
中,更改:
tounsigned char*data=stbi_加载(文件名,&w,&h,&c,通道)
unsigned short*data=stbi\u加载(文件名,&w,&h,&c,通道)代码>
im.data[dst_index]=(float)data[src_index]/255代码>到
im.data[dst_index]=(float)data[src_index]/65536代码>
image load\u image\u cv(char*filename,int channels)
中,将src=cvLoadImage(filename,flag)
更改为src=cvLoadImage(filename,-1)
,因为-1
标志要求opencv以原始深度加载图像
在函数voidipl\u到图像(IplImage*src,图像im)
中,更改为:
tounsigned char*data=(unsigned char*)src->imageData
unsigned short*data=(unsigned short*)src->imageData代码>
im.data[k*w*h+i*w+j]=data[i*step+j*c+k]/255代码>到
im.data[k*w*h+i*w+j]=数据[i*step+j*c+k]/65536代码>
我应该做哪些其他修改以确保yolo在16位通道上进行培训?谢谢。探测器似乎需要3个通道(rgb)。通过禁用失真增强,并更新硬编码到3个通道的代码区域,即load_data_seg(),我能够让它进行训练。在我的例子中,我使用opencv并加载16位pgm文件 您是否能够使用16位数据向前移动?我在看(yolov3),它需要rgb数据。我添加了对读取16位.pgm灰度文件的支持。但是,如果将通道设置为1,并加载16位数据,注释掉对rgbgr_image()的调用,它将在训练期间在扭曲_image中断言,因为预计会有3个通道发生扭曲。好像我要进一个兔子洞。