有没有办法自动进行天空探测?

2024-06-18 22:08:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试进行天空检测,我已经尝试了opencv蓝色检测,但由于云层以及不同的颜色取决于时间,所以效果不好,最后的尝试是最有用的方法,我使用了一种需要用户调整的精明检测,然后我用白色像素填充天空,另一种是黑色像素。 问题是,, 有没有可能在没有用户界面的情况下自动进行天空检测


Tags: 方法用户颜色时间情况像素用户界面opencv
1条回答
网友
1楼 · 发布于 2024-06-18 22:08:20

我可以从人工智能的角度给出建议。对于非人工智能建议,请阅读至结尾


实际上,确实存在一种“简单”的方法,只要您愿意手动注释大约几千张图像。你可以让你的一些同事/同学帮你解决这个问题。我使用了YOLO-V3程序,它为您提供了一个体面的GUI来手动注释图像。然而,YLO-V3只适用于边界框,因此我的下一个建议将用于识别整个天空并逐像素分割图像

但是如果你已经有了一个带注释的数据集,有一种叫做Mask RCNN的神经网络结构,它用你选择的任何颜色的遮罩覆盖你的给定图像,遮罩覆盖在给定对象上,或者你要指示的设置上。根据我的经验,这一次确实需要大量带注释的数据来训练,以获得理想的结果。但对于像天空探测器和覆盖层这样可以推广的东西,它应该只适用于1-3k带注释的图片。如果您选择沿着这条路线走下去,这里有一个article描述了如何制作自己的带注释的图片


非人工智能建议:

  • 使用RGB元组中的蓝色索引,研究每种颜色可以使用的阈值,然后可以对这些点进行随机采样并从中开始

但说真的,基于我在这方面的所有研究,看看其他人的存储库,似乎最好的方法是通过人工智能。这是一个example。原因是探测天空需要大量的空间“意识”。例如,计算机将如何区分天空和海洋?两个都是蓝色的。但是你可以从海浪中看到这是一片海洋。基本的空间推理实际上可以通过人工智能或大量的手工编码来完成

相关问题 更多 >