简单地说,我们现在是Redis

了解更多

如何使用Redis创建一个强大的无人机系统来保护作物保险公司免受虚假索赔

面对气候变化,农作物保险公司面临着一系列全新的问题。缺乏评估可耕地和产量的数据一直是一个问题,但准确估计作物损失也被证明几乎是一项不可能的任务。

更糟糕的是,作物的偏远位置可能会阻碍保险公司找到专家进行检查和风险评估。这些都对保险公司的成本和时间有影响。

但无人机的能力很快被认为是这些问题的解决方案。

一个启动应用程序演示了如何通过创建一个互连的无人机系统来实现这一点,该系统使用Redis在组件之间传输数据。Redis将每个组件拉得更近,使大量数据能够实时传输。

有了这项技术,无人机就可以在农田上空飞行,拍摄庄稼的图像,然后将它们发送回在线门户网站进行评估。我们创建了一个演示来说明这是如何实现的。

让我们来看看这个团队是如何做到这一点的。但在我们继续之前,我们也有很多不同的应用程序供你探索,所以一定要在发射台

内容

  1. 你要建造什么?
  2. 你需要什么?
  3. 体系结构
  4. 它是如何工作的?
  5. 开始
  6. 如何设置后台
  7. 如何设置前端
  8. 结论

1.你要建造什么?

你将建立一个无人机系统,使用Redis和云技术,快速捕捉农村地区作物的准确数据。农作物保险公司可以利用这一资产创建更安全的保险政策,同时最大限度地提高索赔过程的透明度。

我们将探索它们是如何将所有这些不同的组件结合在一起,以便彼此协调工作的。

2.你需要什么?

发展

  • Next.JS启用基于React的web应用功能,如服务器端渲染和生成静态网站(门户)
  • Python作为首选编程语言使用
  • Java /弹簧引导:用于构建微服务,处理所有与客户相关的查询、策略和索赔相关的API

云计算和服务

  • Azure云将分析后的图像存储到Azure Blob Storage中
  • RedisGears用于收听图像流
  • RedisAI执行深度学习/机器学习模型来管理数据
  • 复述,流当检查由前端用户触发时启动无人机
  • RedisTimeSeries提供时间序列数据
  • 集装箱码头工人使用RedisAI、Tensorflow和定制视觉服务处理和分析图像。
  • 微软Airsim无人机模拟器
  • 自定义视觉服务创建自定义计算机视觉模型
  • 客服:处理所有与客户相关的查询
  • 服务策略:处理策略和声明相关的API
  • 检验服务:包含所有与检验相关的API

3.体系结构

4.它是如何工作的?

现在让我们来看看架构。为了简化,我们将其分为4个部分。

门户

  • 为农作物保险公司创建了一个门户,在这里他们能够完成客户的注册以及他们的政策和索赔解决。保险公司有能力从这个门户实时扫描他们客户的土地。
  • 一旦用户点击了实时检查,一个唯一的ID将被生成并通过Redis Streams传递。
  • 无人机应用程序容器接收这个消息,并将其发送给无人机,然后起飞。

AirSim

  • 虚拟土地(见上图)是使用AirSims模拟器雕刻虚拟作物而创建的。
  • 无人机将在土地上空飞行,捕捉农作物的图像,这些图像通过Redis Streams实时传输到Redis。

定制的愿景

  • 预先训练的模型是使用微软定制的愿景该服务可以识别不同类型的目标在图像中,如高田,低田,肥沃的土地等
  • 张量流模型被传递到Redis, Redis的AI将从无人机上获取原始图像,并将所有图像转换为建模图像。
  • 这些建模的图像存储在Azure Blob存储中。Redis Streams用于将这些图像传输到前端应用程序,该应用程序将显示本次检查的所有数据。
  • 一旦无人机完成了对作物的扫描,数据将通过微服务架构发送到后端系统

Microservice架构

  • 微服务体系结构分为3个不同的容器:Customer API、Inspection API和Policy API
  • 这个微服务架构是在Java Spring Boot框架上使用Redis、reresearch和RedisJSON构建的。
  • 后端API将检查所有数据。根据这些数据,保险金额和保费将被计算并传递到前端应用程序。在此基础上,保险公司和农民可以就一份新的保单达成协议。

有了该产品,保险公司可以实时进行作物检查,并从他/她的办公室创建保单。

开始

步骤1。克隆项目库:

如果你查看源代码库,你会发现整个项目分为3个主要部分:

  • Redis_Airsim:
    • RedisMod用于加载Redis模块
    • 使用RedisAI进行图像建模
    • 流注册使用RedisGears
    • 使用虚幻引擎对象创建虚拟农场的模块
    • Azure blob存储集成
  • 前端:
    • 前端应用程序代码
    • 与Redis流集成
    • 与microservice集成
  • Microservices:
    • 微服务代码- Java Spring引导框架

步骤2。检查Airsim模拟器

Redis模块,RedisGears, redisstreams和RedisAI都部署在这个项目中。他们都被用于分析无人机实时捕捉的土地图像,并使用Tensorflow、Microsoft Custom Vision、RedisAI计算这些图像中不同类别的百分比。

要连接到AirSim模拟器,只需使用下面的基于python的代码。这也允许您设置坐标,将决定您的无人机将遵循的路径在其飞行。

步骤3。安装所需软件万博电竞客服

在执行Python脚本之前,您应该安装下面讨论的必备软件。万博电竞客服

  • 码头工人
  • Docker-Compose
  • 虚幻引擎(> = 4.24)
  • Python (> = 3.6)

您可以通过以下方法在您的环境中安装Docker使用这个链接.另外,请确保在系统中安装了Docker compose。

步骤4。设置虚幻引擎

虚幻引擎是世界上最开放和先进的实时3D创建工具。此时,您需要设置虚幻引擎在本地机器上模拟无人机在虚拟域上的飞行。

以下是创建虚幻引擎的硬件要求:

  • 操作系统:Windows 10 64位
  • 显卡/DirectX版本:DirectX 11或DirectX 12或NVIDIA兼容显卡
  • 内存:32 GB

一旦虚幻引擎设置在您的本地环境,您需要下载的文件夹谷歌驱动.它包括无人机将要飞过的不同地形的地图。由于这个文件夹太大,我们把它放在了谷歌驱动器中。

下载完成后,你需要双击“FinalProjDroneSquad”文件,如下图所示:

输出

这将在虚幻编辑器上启动景观,如下所示:

输出

点击下面高亮显示的“播放”按钮开始第一级。

输出

要改变游戏的级别,首先导航到Content -> Maps文件夹。双击2级/ 3级文件如下所示,然后点击播放按钮。

输出

然后,您可以继续到安装部分来设置其他先决条件。

步骤6。安装的依赖关系

从这个项目的根文件夹,运行下面的docker命令:

docker-compose起来

正如你可以从上面的docker-compose文件中看到的,这个项目结合了几个Redis模块,比如RedisGears、RediStreams和RedisAI。这些都被用来分析无人机实时捕获的土地图像,并使用Tensorflow、Microsoft Custom Vision和RedisAI计算这些图像中不同类别的百分比。

本质上,这将在你的机器上创建两个在这个项目中使用的容器:

  • 复述,容器:主机RedisAI, Redismod和RedisGears
  • 无人机应用程序容器:在RedisAI上初始化模型,并使用RedisGears注册流。它将处于退出状态。

最后,我们需要创建blob存储帐户来存储使用RedisAI生成的分析图像。为此,在blob存储中创建名为“droneimages”的容器。

cd redisedge \秘密

从azureblob存储帐户复制连接字符串,并将其粘贴到文件夹中的“azureblobsecret”文件中。

步骤7。运行演示

打开您最喜欢的终端并运行以下命令。

在第一个选项卡上运行下面的命令,并将关卡参数更改为1、2和3,以便能够启动不同的游戏关卡。

python flyDrone.py程度= 1

这将初始化无人机,并将其置于“等待起飞”模式。

在第二个选项卡上运行下面的命令。这将听取Redis Streams进行的检查。当触发巡检时,从前端输入数据。

python captureImagesFromDrone.py程度= 1

一旦数据到达Redis Streams,无人机将起飞并开始拍摄图像。然后RedisAI使用Tensorflow对这些进行处理和分析。

注意:在虚幻编辑器上改变游戏关卡后,再次在不同的终端上运行上述两个脚本,并关闭现有的脚本。

输出

下面是RedisAI生成的输出图像。

耕地与其他耕地类 高质量与低质量类别
输出 输出


贫瘠的土地分类
其他类别
输出 输出

6.如何设置后台

后端系统是使用微服务构建的,这些微服务被分为不同的实体,如:

  • 客服:处理所有与客户相关的查询
  • 服务策略:处理策略和声明相关的API
  • 检验服务:包含所有与检验有关的api

这些微服务是使用Java Spring Boot框架构建的,而Java Spring Boot框架又使用了Redis、RedisJSON和reresearch。后端API将执行所有的数据检查。根据这些数据,计算出保险金额和保费,并传递给前端应用程序。

7.如何设置前端

让我们检查一下代码,它将帮助你创建一个可以被农作物保险公司访问的公共应用程序。

运行应用程序的步骤

注意:需要节点版本14+

  1. 将repo克隆到本地存储库。

git克隆https://github.com/redis-developer/CropInsurer

NPM I -g纱

  1. 运行命令:

线安装

  1. 运行命令:

纱线开始

  1. 开放http://localhost:3000以启动前端应用程序。

门户的凭证

用户名:admin@gmail.com

密码:管理

应用程序截图

下面是应用程序的截图。

登录页面

图像

用户注册页面

图像

客户列表页面

图像

检查页面

图像

结论:用实时数据消除障碍

通过Redis的高级功能,这启动应用程序创建了一个强大的无人机系统,使作物保险公司能够扫描、监控和评估农场产量的质量。然而,实现该项目的真正资产是Redis提供实时数据的能力。

以这样的速度将数据从A传输到B,使得在一个具有复杂架构的系统中,各个组件能够无缝地相互工作。农作物保险公司现在可以进行准确的作物质量评估,同时确保索赔过程更加透明。

想了解更多关于这个创新项目的信息,请登录发射台

另外,一定要浏览一下我们有哪些令人兴奋的应用程序。

谁创造了这个应用程序?

总裁贾殷

Piyush拥有超过16年的软件开发经验,目前在阳狮集团担任解决方案架构师。万博电竞客服一定要看看他的GitHub资料看他所有令人激动的作品。

Baidu