NJUVISION / rho-vision

ρ-Vision: Efficient Visual Computing with Camera RAW Snapshots
https://njuvision.github.io/rho-vision
MIT License
39 stars 3 forks source link

有关RAW Model #1

Closed xiao-junhua closed 1 year ago

xiao-junhua commented 1 year ago

有关RAW 图像上直接做目标检测的算法会公开吗?我拜读了你们的论文,非常感兴趣,想复现一下

lizhihao6 commented 1 year ago

您好,感谢您的关注,我们目前还没有整理检测模型。您可以使用我们公开的 Cycle R2R 进行 sim RAW 预训练,您也可以使用我们带有标注的 multiRAW 进行进一步训练测试。

获取 Outlook for iOShttps://aka.ms/o0ukef


发件人: xiao-junhua @.> 发送时间: Monday, January 2, 2023 10:58:37 PM 收件人: NJUVISION/rho-vision @.> 抄送: Subscribed @.***> 主题: [NJUVISION/rho-vision] 有关RAW Model (Issue #1)

有关RAW 图像上直接做目标检测的算法会公开吗?我拜读了你们的论文,非常感兴趣,想复现一下

― Reply to this email directly, view it on GitHubhttps://github.com/NJUVISION/rho-vision/issues/1, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFJEKRGK7SFRQXHK24HQXX3WQLUJ3ANCNFSM6AAAAAATO4KSO4. You are receiving this because you are subscribed to this thread.Message ID: @.***>

Chegva commented 1 year ago

想问下,你们提供的华为的raw图格式是RYYB的,但asi和iphone的raw图格式是RGGB的,如果我想练一个输入是RAW图的目标检测器,这两种格式的图片能混合去训练吗?你们有什么归一化之类的方法吗?谢谢。

lizhihao6 commented 1 year ago

您好,我们在论文中是分开训练的。您可以尝试 ( (RAW-blc) / (saturation-blc) ) ^ (1/2.2) 后混合训练,对训练集中含有的相机进行测试应该问题不大,具体效果需要实验论证。

Chegva commented 1 year ago

我用yolov5直接去训练asi_294mcpro的RAW图,用rawpy取代cv2去获取raw图,就下面两句,raw = rawpy.imread(f),im = raw.raw_image.astype(np.uint16)/16, 然后就用这种图练,只用了yolov5自带的mosaic数据增强方式,其他都关了,训练了大概30epoch,发现recall和precision极其低,只有0.000几的。能问下你们是怎么处理raw图去训练的吗?

Chegva commented 1 year ago

请问你们是否知道有没有什么论坛有讨论用raw图作训练数据的吗,想去了解了解

lizhihao6 commented 1 year ago

RAW图需要根据blc和saturation归一化,blc和saturation信息可以通过metainfos里面对应文件或者rawpy获取。输入网络可以rearrange成四通道,或者demosaic成三通道。

Chegva commented 1 year ago

直接用原始的单通道bayer阵列图片去训练的方式走不通吗,我的意思是,你们尝试过经过归一化之后,但不进行pack成4通道之类的操作,直接进去网络训练的方式效果不理想吗。

lizhihao6 commented 1 year ago

我们没尝试过

Chegva commented 1 year ago

你好,我用asi_mcpro294数据训练模型,效果不怎么好,请问你们有没什么建议呢。下面是具体实现细节。

我用yolov5s,启用预训练模型,只用上下翻转,左右翻转,缩放,平移4种数据增强,用上adamw,lr为0.001, 批次128,训练300轮。

归一化直接除以16383,因为这个数据集的blacklevel是0,所以按照你们提供的公式,其实就是除16383。输入图片pack成RGGB4个通道,然后平均掉中间两个绿色通道,最终变为3通道输入模型。

我也是只选用了数据标注里的car,bus,truck这三个vehicle类别的,最后结果如下: Class Image Instance P R AP50 AP50-95 all 885 7977 0.723 0.423 0.461 0.291 car 885 7055 0.795 0.574 0.647 0.416 bus 885 268 0.717 0.407 0.426 0.272 truck 885 654 0.658 0.287 0.31 0.186

可见,综合指标AP50只有0.461,还没达到论文上的AP0.785,按理来说,yolov5模型应该比换了主干的v3要强,但是也只有用上了预训练权重,AP也才0.46,不用的话只有0.2。

我想这里面肯定有哪些操作我没做到位,所以想请教下你们,上述有什么能改进的吗?

lizhihao6 commented 1 year ago

您好,您是否使用了gamma correction?我们在 sec 4.1 分析了直接归一化效果不好的原因,在高bits depth下更为显著,您可以尝试在归一化后加入 4.1.2 中 gamma correction 来显著提高性能。

获取 Outlook for iOShttps://aka.ms/o0ukef


发件人: Chegva @.> 发送时间: Thursday, February 16, 2023 4:26:17 PM 收件人: NJUVISION/rho-vision @.> 抄送: lizhihao6 @.>; State change @.> 主题: Re: [NJUVISION/rho-vision] 有关RAW Model (Issue #1)

你好,我用asi_mcpro294数据训练模型,效果不怎么好,请问你们有没什么建议呢。下面是具体实现细节。

我用yolov5s,启用预训练模型,只用上下翻转,左右翻转,缩放,平移4种数据增强,用上adamw,lr为0.001, 批次128,训练300轮。

归一化直接除以16383,因为这个数据集的blacklevel是0,所以按照你们提供的公式,其实就是除16383。输入图片pack成RGGB4个通道,然后平均掉中间两个绿色通道,最终变为3通道输入模型。

我也是只选用了数据标注里的car,bus,truck这三个vehicle类别的,最后结果如下: Class Image Instance P R AP50 AP50-95 all 885 7977 0.723 0.423 0.461 0.291 car 885 7055 0.795 0.574 0.647 0.416 bus 885 268 0.717 0.407 0.426 0.272 truck 885 654 0.658 0.287 0.31 0.186

可见,综合指标AP50只有0.461,还没达到论文上的AP0.785,按理来说,yolov5模型应该比换了主干的v3要强,但是也只有用上了预训练权重,AP也才0.46,不用的话只有0.2。

我想这里面肯定有哪些操作我没做到位,所以想请教下你们,上述有什么能改进的吗?

― Reply to this email directly, view it on GitHubhttps://github.com/NJUVISION/rho-vision/issues/1#issuecomment-1432698093, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFJEKRAKLUV33SYJ4OGAQZ3WXXQCTANCNFSM6AAAAAATO4KSO4. You are receiving this because you modified the open/close state.Message ID: @.***>

lizhihao6 commented 1 year ago

gamma correction 具体公式可以在 supplemental S.I.C 中找到

Chegva commented 1 year ago

( (RAW-blc) / (saturation-blc) ) ^ (1/2.2),这个1/2.2就是gamma值吗

Chegva commented 1 year ago

好的,我去看看

Chegva commented 1 year ago

你们练RAW图时是用的去demosaic之后的raw图吗

lizhihao6 commented 1 year ago

用的未经demosaic的

获取 Outlook for iOShttps://aka.ms/o0ukef


发件人: Chegva @.> 发送时间: Monday, February 20, 2023 1:05:06 PM 收件人: NJUVISION/rho-vision @.> 抄送: lizhihao6 @.>; State change @.> 主题: Re: [NJUVISION/rho-vision] 有关RAW Model (Issue #1)

你们练RAW图时是用的去demosaic之后的raw图吗

― Reply to this email directly, view it on GitHubhttps://github.com/NJUVISION/rho-vision/issues/1#issuecomment-1436334848, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFJEKRDHS6ZLSMOEJ4N3KNLWYL3QFANCNFSM6AAAAAATO4KSO4. You are receiving this because you modified the open/close state.Message ID: @.***>

Chegva commented 1 year ago
1

这里不管使用百分之多少的raw图作训练图片时,验证集都是固定的吗,这几幅图的AP涨得都很高,都到80了,远超RGB baseline的55.6了。因为我用asi_294mcpro练,里面默认2100张训练,900张验证,我只有在把训练集当验证集用的时候,AP50才能到80+,如果用验证集去测试模型,在启用yolo自带的预训练权重,论文的归一化和伽马校准方式,数据增强的情况下,练了300epoch,AP50也才到0.501,用的类别也是car,truck和bus。感觉再练下去,AP50最多到0.55吧。

Chegva commented 1 year ago

或者你们能发一下你们用模型练RAW图的代码吗,想看看

lizhihao6 commented 1 year ago

请仔细阅读我们的论文。


远超RGB baseline的55.6了

Recall and Average Precision (AP) of Object Detection on the testing set of iPhone RAWs. RGB detector is trained using original RGB images in BDD100K [29];

”55.6“ RGB baselines 是 BDD100K - RGB pretrained 后直接在 iPhone RGB 测试的结果。


用的类别也是car,truck和bus

We only conducted training and testing on the “vehicle” category that has the largest number of objects (e.g., >55 %) and presents the smallest differences.

我们只用了 car 类别训练测试。