当前位置: 首页 > news >正文

优秀高端网站建设服务商/服务外包公司

优秀高端网站建设服务商,服务外包公司,高端网站教建设,做资源分享网站在我们之前的博客文章《OAK相机扩展NDVI功能检测植物健康情况》中,我们探讨了 NDVI 方法以及如何使用多光谱相机计算它。 今天,我们通过使用带有多光谱相机的无人机并使用 SAM2 模型进行场分割和健康比较,将 NDVI 感知提升到一个新的水平。 …

在我们之前的博客文章《OAK相机扩展NDVI功能检测植物健康情况》中,我们探讨了 NDVI 方法以及如何使用多光谱相机计算它。

今天,我们通过使用带有多光谱相机的无人机并使用 SAM2 模型进行场分割和健康比较,将 NDVI 感知提升到一个新的水平。

具有 SAM2 分段的 NDVI 无人机

1. 硬件

我们使用了 OAK-D-SR 的 PCBA 并更换了一个 CCM(紧凑型相机模块),因此一个传感器感知可见光波段 (380-750nm),而另一个传感器感知近红外波段 (>750nm)。

OAK-D-SR 连接到 RPi Zero 2W,RPi Zero 2W 连接到 OAK-D-SR 并每秒保存两帧。这两款设备都由移动电源供电,再加上DJI Mini 2 SE无人机(249克),所有设备的重量总共386克。

2. SAM2 分段

录制左/右帧后,使用 SAM2 Dmo 应用程序,上传彩色视频,并选择(一次仅 3 个)我们感兴趣的字段。选择字段并运行模型后,您可以在“网络”选项卡的“propagate_in_video”请求下检查分段结果。将这些结果保存在一个文件中,然后对其进行解码和可视化。

SAM2 结果是 RLE 编码的,因此需要对其进行解码才能获得掩码。您可以使用 pycocotools 来解码掩码。

from pycocotools import mask as mask_utils
mask = mask_utils.decode(annotation["segmentation"])

3. NDVI比较

在演示的底部,您可以看到字段之间的 NDVI 比较。因为 NDVI 是相对的(不是绝对的),所以我们只能用它来比较字段的健康状况。

字段 6 具有最高的 NDVI 值,这从彩色 NDVI 图像中也很明显 - 它比其他字段更绿。

4. 可视化和代码

我们使用 Rerun 进行整个可视化,使用 OpenCV 进行图像处理和轮廓计算(以获得更好的可视化效果)。

以下是演示背后的主要逻辑。完整的代码可以在这里找到,完整的演示可以在这里找到(包括SAM结果和视频)。

# Run & initialize ReRun viewer
rr.init('NDVI /w SAM2', spawn=True)# Prepare rerun visualization
annotationContext = [(0, "Background", (0, 0, 0, 0))]
for i, color in enumerate(colors):annotationContext.append((i + 1, f"Field {i + 1}", color))rr.log(f"NDVI_Average/Field{i+1}",rr.SeriesLine(color=color, name=f"Field {i+1}"))
rr.log("Color", rr.AnnotationContext(annotationContext), timeless=True)t = 0
size = (800, 1280)
for frame_idx in range(len(sam_data[0])):rr.set_time_sequence("step", t)t += 1frames = get_all_frames()ndvi = calc_ndvi(frames['color'], frames['ir'])segmentations = np.zeros(size)for i, data in enumerate(get_sam_output(frame_idx)):for result in data.get("results", []):field_num = result['object_id']+i*3 # 3 segmentations per file# Decode the RLE maskmask = np.array(maskUtils.decode(result["mask"]), dtype=np.uint8)# Set full_mask to num where masksegmentations[mask == 1] = field_num + 1 # as 0 is Backgroundline_strips = get_contours(mask)rr.log(f"Color/Contours{field_num + 1}",rr.LineStrips2D(line_strips, colors=colors[field_num]))rr.log(f"NDVI/Color/Contours{field_num + 1}",rr.LineStrips2D(line_strips, colors=colors[field_num])mean_ndvi = np.mean(ndvi[mask == 1])rr.log(f"NDVI_Average/Field{field_num + 1}", rr.Scalar(mean_ndvi))rr.log("Color/Image", rr.Image(frames['color'][..., ::-1]))rr.log("NDVI/Color", rr.Image(frames['ndvi_colorized'][..., ::-1]))rr.log("Color/Mask", rr.SegmentationImage(segmentations))

5. 可以进行的改进

需要注意的一点是,NDVI 是按图像视图计算的,而不是全局计算的。这就是为什么该字段的中位数 NDVI 会发生变化,而不是一个常数。为了改善这一点,我们可以使用整个视频(例如进行图像拼接)并计算整个区域的NDVI。

6. 结论

我们已经展示了如何使用带有多光谱相机的无人机来捕获 NDVI 图像,并使用 SAM2 模型进行现场分割和健康状况比较。这种方法可用于各种农业任务,例如监测作物健康、检测疾病等。

如果您有任何意见或建议,欢迎在评论中告诉我!

http://www.whsansanxincailiao.cn/news/31986768.html

相关文章:

  • 莱州网站建设青岛华夏商务网/seo整站优化一年价格多少
  • 网站建设欣赏/网店推广方案策划书
  • 做网站专用图标/万网
  • 国外做连接器平台网站/谷歌广告优化师
  • 手机网站展示/品牌宣传策略
  • 内蒙营销型网站建设/北京百度推广优化
  • 手机网站开发看什么书/线上营销方式6种
  • 网站设计公司推荐/免费男女打扑克的软件
  • 贵州做农业网站/seo和sem的联系
  • 嘉兴网站开发学校/热点新闻事件及评论
  • 优势网网站/seo排名软件
  • 那个b2b网站可以做外贸/手机百度最新正版下载
  • 商业空间设计方案/山东seo推广公司
  • 51制作视频mv网站/seo排名哪家有名
  • 深圳网站制作价格/百度站长提交网址
  • 东莞网站建设多少钱/百度公司总部
  • 触屏版网站制作/制作网页需要多少钱
  • p2p网站建设制作/天津seo网站管理
  • wordpress关键词工具/关键词优化排名软件推荐
  • 做网站前期需要准备什么/总裁培训班
  • 汽车网站建设毕业论文/西安seo专员
  • 做免费嗳暧视频网站/游戏推广员怎么做
  • 旅游网站规划方案/湖南关键词优化排名推广
  • 在建设一个公司网站多少钱/关键词指数批量查询
  • 没有rss源的网站如何做rss订阅/好看的html网页
  • 论坛网站建设流程/网站seo啥意思
  • 成都平面设计公司排行/北仑seo排名优化技术
  • 盐城网站建设/搜索引擎关键词怎么优化
  • 高端网站建设 来磐石网络/百度推广每年600元什么费用
  • 网站百度忽然搜索不到/什么软件引流客源最快