遥感图像中的太阳能板识别

计算机视觉技术在多个领域有着广泛的应用。例如,政府可以分析地形测量数据,了解国内太阳能板的使用数量和分布情况。保险公司可以利用航拍图像自动验证新投保房屋上的太阳能板数量。本文将展示如何使用计算机视觉技术在航拍图像中识别太阳能板。使用的模型在200张图像上训练,平均精度均值(mAP)得分为70%。还将讨论如何通过添加自己的数据来微调模型。

以下是模型在航拍图像上识别太阳能板的示例:将使用RoboflowUniverse上提供的“航拍太阳能板”模型。Universe是一个社区,提供超过50,000个预训练的视觉模型,用于计算机视觉项目。要访问此模型,需要一个免费的Roboflow账户。

步骤 #1:测试模型

RoboflowUniverse上打开“航拍太阳能板”模型。此模型已训练用于识别航拍图像中的太阳能板。点击左侧边栏的“模型”以测试模型。将被带到一个页面,可以在该页面上上传自己的数据进行测试。还可以从模型附带的测试集中选择一张图像。

步骤 #2:部署模型

模型准备就绪后,有两种部署选项:使用托管的Roboflow API在云端运行模型;使用Roboflow Inference在自己的硬件上运行模型。本指南将展示如何使用托管的Roboflow API。如果想在自己的硬件上部署模型,可以按照Roboflow Inference模型设置说明进行操作。

要开始使用托管API,请在“航拍太阳能板”模型页面上滚动。将出现一个代码片段,可以使用它来运行模型。代码片段将如下所示,填入Roboflow API密钥:

from roboflow import Roboflow rf = Roboflow(api_key="API_KEY") project = rf.workspace().project("aerial-solar-panels") model = project.version(6).model print(model.predict("your_image.jpg", confidence=40, overlap=30).json())

此代码将返回托管模型的预测结果。可以使用Supervision,一个用于计算机视觉模型的Python包,它具有用于可视化模型预测的广泛API。将“your_image.jpg”替换为想要运行推理的文件名。

运行代码后,将看到预测结果。运行以下命令以安装Supervision:

pip install supervision

更新代码以包含以下内容:

import supervision as sv import cv2 image_name = "image.jpeg" image = cv2.imread(image_name) results = model.predict(image_name, confidence=40, overlap=30).json() detections = sv.Detections.from_inference(results) bounding_box_annotator = sv.BoundingBoxAnnotator() label_annotator = sv.LabelAnnotator() annotated_image = bounding_box_annotator.annotate( scene=image, detections=detections) annotated_image = label_annotator.annotate( scene=annotated_image, detections=detections) sv.plot_image(annotated_image)

上述代码将从太阳能板API检索结果,然后在运行推理的图像上绘制结果。结果将交互式显示。

下一步:改进模型和添加逻辑

现在有了可以识别太阳能板的视觉模型,有几个可能的下一步行动:使用自己的数据改进模型;增加识别房屋的能力;添加自己的逻辑以使用模型。

如果上述模型在图像上表现不佳,鼓励导出与模型相关的数据集。然后,可以使用该数据集创建自己的Roboflow项目。这个项目可以使用自己的数据。需要标记数据,但Roboflow的自动标记解决方案可能能够帮助标记数据集中的许多,如果不是大多数,太阳能板。

要了解更多关于Roboflow的自动标记解决方案,请参考。

对于某些应用,例如保险评估,可能需要知道特定屋顶上有多少太阳能板。即使已经裁剪出了财产的区域,也可能有外部太阳能板(即花园中的那些),或者在财产附近,不想包括在内。

可以更新之前使用的模型,使其也能识别屋顶。然后,可以使用模型裁剪出每个屋顶,并计算每个屋顶上的太阳能板数量。

如果上述模型在数据上表现符合预期,可以开始围绕模型开发业务逻辑。例如,可以计算图像中的太阳能板数量。可以将结果与外部产品(例如保险验证,条例调查)连接起来,以得出与业务相关的见解。可以监控趋势,并回答诸如“去年城市中太阳能板的使用量是否增加了,如果是,增加了多少?”之类的问题。

Supervision提供了广泛的实用工具,可用于分析和操作视觉模型的检测结果。例如,可以计算检测结果。可以按类别、框区域、置信度等过滤检测结果。

要查看更多关于计算机视觉模型预测的示例,请参考。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485