基于SuperMap iDesktopX的交互式AI模型训练与推理

2023-10-08 02:40

本文主要是介绍基于SuperMap iDesktopX的交互式AI模型训练与推理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

近年来,随着计算机、智能手机等硬件设备的革新,以及移动互联网和社交媒体的爆发式增长,人工智能(Artificial Intelligence,简称AI)进入了一个飞速发展的阶段,并且已经上升到国家战略层面。在各个细分领域,基于人工智能的各种应用也逐渐走向大众,与大众生活息息相关。
SuperMap iDesktopX 10i(以下简称“iDesktopX”)机器学习工具箱不仅提供了即拿即用的AI地图配图、空间统计、地理模拟、二元分类、对象提取、地物分类、场景分类、目标检测、道路匹配、交通流量预测等实用的AI GIS功能,同时也支持训练数据生成、模型训练、目标检测等工具,可实现交互式的AI模型训练与推理。

什么是AI模型训练?

在人工智能中,面对大量的用户输入数据或素材,如何在杂乱无章的内容中,准确、容易地识别并输出我们期待输出的图像或语音?算法就显得尤为重要。算法,就是我们所说的模型。算法的内容,除了核心识别引擎,也包括各种配置参数,例如图像分类的形状、颜色、质地等,语音识别的比特率、采样率、音色、音调、音频等。成熟的识别引擎,核心内容一般不会变化,为实现“识别成功”这一目标,就需要对配置参数做调整。不同的输入配置不同的参数值,最后在统计结果中取一组各方比较均衡、识别率较高的参数值。这个过程,就是“训练(Training)”,这组参数值,就是训练得到的结果。简言之,模型训练是为达成高识别率的目标,使用大数据,找出最优配置参数的过程。

什么是AI模型推理?

经过训练的模型可以将其所学到的知识应用在数字世界的任务,例如识别图像中的树、道路、猫狗等,识别语音中的“嗯”、“啊”、“这个”、“那个”等口头语,或者在浏览了一款鞋子之后推荐你可能购买的鞋子等各种各样的应用。基于训练的内容对其所获得的新数据进行“推导”,用人工智能领域的术语来说就是“推理(inference)”。推理,就是深度学习把从训练中学习到的能力应用到工作中去。在这里插入图片描述
深度学习中的训练与推理过程示意(图片来源网络,侵删)

我们以实际的“南非电表类型识别与数据读取项目”为例,为您讲解基于iDesktopX的图像分类模型训练与推理的步骤。南非当地供电局需要收集住户电表读数,对住户用电情况进行管理。因为使用的是非智能电表,需要人工入户记录,容易造成数据错误,甚至数据丢失,造成经济损失。供电局需要一种智能的抄表方式以减少数据错误进而减少经济损失。针对现状,当地提出了通过识别摄像头采集的电表类型,进行图像分类,再根据类型模板读取电表数据的方案。

AI模型训练步骤

步骤一:样本制作
为保证模型的准确性,样本数据通常数量很多,iDesktopX可快速创建图像分类的样本库,批量导入样本图片,设置样本类别后对电表样本图片进行批量分类,用来制作图片类别的标签。样本数据制作完成后,将其导出为固定格式的样本库,作为模型训练的训练数据。在这里插入图片描述
样本制作与管理

步骤二:模型训练
图像分类基于EfficientNet模型进行训练。EfficientNet是谷歌新一代高性能卷积神经网络,该模型能够改变深度卷积网络的宽度、深度、分辨率进而寻找更高精度模型,使得模型以极少的计算量达到极高的准确度。EfficientNet模型在图像的语义分割、目标检测都有较高的精准度。

在此项目中,使用步骤一中导出的样本库进行模型训练,同时通过验证数据集对训练模型进行不断的迭代评估,以达到实际的应用准确度要求。由于模型训练过程涉及复杂数值计算,样本数据量大、迭代次数多时,模型的训练耗时较长,推荐使用支持GPU计算的服务器进行模型训练。在这里插入图片描述
iDesktopX 10i中进行模型训练示意

步骤三:模型推理
iDesktopX训练好的模型,可以直接在桌面端进行应用,也可以将模型转换为适用移动端的模型,便于开展外业工作。

AI模型推理应用

桌面端应用
基于训练好的模型,对待分类的图片进行模型推理,输出分类结果为CSV文件,记录每张图片的类别及可信度。

SuperMap提供的模型应用引擎支持CPU和GPU两种计算模式,推荐使用GPU模式。除了支持接收原生训练输出的模型,也支持第三方框架输出的模型,提高了实际项目执行的灵活度。在这里插入图片描述
桌面端图像分类结果

移动端应用
转换后的移动端模型,应用在移动端辅助巡检与智能识别,取代人工记录或传统巡检手段。只需使用移动设备进行拍照,就可以自动识别获取电表类别,并归类存档,方便后期根据类型模板自动读取电表数据。在这里插入图片描述
移动端模型应用结果

小结
图像分类是计算机视觉中最基础的任务之一,在GIS领域也有较多的使用场景。SuperMap基于高层视觉信息,采用EfficientNet深度网络模型,提取图像中的抽象语义信息,进而实现图像分类。

SuperMap iDesktopX 10i中提供了完整的图像分类流程工具:样本制作、模型训练、模型推理。在这里插入图片描述
iDesktopX 10i 图像分类完整流程示意

同时,模型训练、模型转换以及桌面端的模型应用,可构建地理处理模型,实现自动化执行,一键运行即可得到图像分类结果。在这里插入图片描述
图像分类地理处理模型

这篇关于基于SuperMap iDesktopX的交互式AI模型训练与推理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/162143

相关文章

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Spring AI 实现 STDIO和SSE MCP Server的过程详解

《SpringAI实现STDIO和SSEMCPServer的过程详解》STDIO方式是基于进程间通信,MCPClient和MCPServer运行在同一主机,主要用于本地集成、命令行工具等场景... 目录Spring AI 实现 STDIO和SSE MCP Server1.新建Spring Boot项目2.a

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

Python 交互式可视化的利器Bokeh的使用

《Python交互式可视化的利器Bokeh的使用》Bokeh是一个专注于Web端交互式数据可视化的Python库,本文主要介绍了Python交互式可视化的利器Bokeh的使用,具有一定的参考价值,感... 目录1. Bokeh 简介1.1 为什么选择 Bokeh1.2 安装与环境配置2. Bokeh 基础2

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应