华为云园区智能体 CampusGo的便利性--AI打造智慧园区
云服务、API、SDK,调试,查看,我都行
阅读短文您可以学习到:人工智能AI之CampusGo的方便、便利、高效、生活
1 Classroom和Toolkit的关系
1.1 Classroom的简介
classroom是基于华为云的云上软件教学服务,支持初级开发者和高校师生实现备课、上课、作业、考试、实验、实训等全教学流程的线上教学,提供多类习题自动判题、企业级DevOps实训、免费在线习题库等众多高级特性辅助进行数字化教学转型。
1.2 Toolkit插件之华为云API实战课程
2 IntelliJ IDEA 之API插件介绍
API插件支持 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE,基于华为云服务提供的能力,帮助开发者更高效、便捷的搭建应用。API插件关联华为云服务下的 API Explorer、DevStar、CodeLabs、SDK 中心和 CLI 中心产品,致力于为开发者提供更稳定、快速、安全的编程体验。
在本插件中,我们提供了但不局限于如下的功能:
对接华为云API开放平台,支持用户检索API、查看API文档、调试API、以及提供SDK示例代码供用户学习如何使用API。
提供华为云SDK代码片段补全功能,SDK依赖包自动引入,加速用户集成华为云API。
对接华为云开发体验馆Codelabs,提供500+云服务代码示例,向导式教程帮助用户快速学习。
说明:
在IntelliJ IDEA等系列平台和VS Code IDE,华为云API插件的名称是Huawei Cloud API。而在CodeArts IDE,API插件是IDE原生内置的,名称是华为云API开发套件。
API插件在IntelliJ IDEA等系列平台和VS Code IDE的使用依赖底座插件,请提前安装底座插件。
3 API插件安装--IntelliJ IDEA
3.1 IntelliJ IDEA等平台
安装准备:下载并安装JDK1.8或更高版本。下载并安装IntelliJ IDEA 2020.2或更高版本。
须知:IntellIj平台同时支撑包括Goland、Pycharm等在内的IDE,若在其它相关IDE上开发,请下载配置好对应语言的编译器或者解释器。这里以IDEA为例介绍IntelliJ平台插件的安装流程,其他IntelliJ系列的IDE请参考IDEA。
开始安装:
您可以在直接在IDE插件市场或者直接在JetBrains插件市场下载离线包安装。
IDE安装
- 在IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
- Plugins区域单击Marketplace,在搜索栏中输入Huawei Cloud API。
- Search Results区域会出现Huawei Cloud API,单击Install,完成后重启IDE。
离线包安装:
- 进入插件市场搜索Huawei Cloud API,进入插件详情页,在Versions页签下选择想要版本的API插件,点击Download下载离线的插件压缩包保存到本地。。
- 在IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
- 在Plugins区域单击 ,再单击Install Plugin from Disk...。
- 在Choose Plugin File对话框中选择离线安装包(不用解压),并按照IntelliJ IDEA安装页面的提示,完成后续安装步骤。
说明:若当前您想要安装插件的IntelliJ IDE已经在桌面打开,则进入插件市场搜索Huawei Cloud API,进入插件详情页,在右上角会识别到本地已经打开的IDE,点击相应按钮,在弹出的IDE窗口中点击ok,则IDE后台会开始安装相应版本的API插件。
安装验证:在IntelliJ系列平台上安装插件成功后在左侧的导航栏中可以看到Huawei Cloud Toolkit图标,点击后面板会出现Huawei Cloud API的字样,则说明安装成功。
3.2 API列表
左侧展示API列表,可以查询所有API,目前云服务206,APIs9213
4 查询园区智能体视频分析作业
功能介绍
园区智能体软件开发工具包(CampusGo Software Development Kit,简称CampusGo SDK)是对园区智能体提供的REST API进行的封装,以简化用户的开发工作。用户通过添加依赖或下载的方式调用API即可实现使用视频分析业务能力的目的。
https://support.huaweicloud.com/productdesc-campusgo/campusgo_01_0001.html
该示例展示了如何通过java版SDK基于边缘异常停车检测服务进行视频分析作业的删除。
https://support.huaweicloud.com/api-campusgo/campusgo_03_0003.html
前置条件
申请服务
申请园区智能体服务的具体操作步骤请参见《园区智能体API参考》。在创建视频分析作业后,能获取到对应的作业id(TASK ID),通过作业id进行作业查询操作
获取AK/SK
开发者在使用前需先获取账号的ak、sk、endpoint。
您需要拥有华为云账号以及该账号对应的 Access Key(AK)和 Secret Access Key(SK)。请在华为云控制台“我的凭证-访问密钥”页面上创建和查看您的 AK/SK。更多信息请查看访问密钥。
endpoint 华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点。
运行环境
Java JDK 1.8 及其以上版本,推荐通过Maven 安装依赖的方式使用JAVA版本SDK。
SDK获取和安装
在Maven 项目的 pom.xml 文件加入相应版本的依赖项即可。
以引入3.0.78版本的园区智能体SDK为例:
<dependency>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-campusgo</artifactId>
<version>3.0.78</version>
</dependency>
示例代码
边缘异常停车检测服务删除作业示例代码只需将AK/SK信息替换为实际AK/SK,taskID替换成实际的taskID,配置完成后运行即可。
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.campusgo.v2.region.CampusGoRegion;
import com.huaweicloud.sdk.campusgo.v2.CampusGoClient;
import com.huaweicloud.sdk.campusgo.v2.model.ShowTaskRequest;
import com.huaweicloud.sdk.campusgo.v2.model.ShowTaskResponse;
public class CampusGoShowTask {
public static void main(String[] args) {
String ak = "<YOUR AK>";
String sk = "<YOUR SK>";
ICredential auth = new BasicCredentials()
.withAk(ak)
.withSk(sk);
CampusGoClient client = CampusGoClient.newBuilder()
.withCredential(auth)
.withRegion(CampusGoRegion.valueOf("cn-north-4"))
.build();
ShowTaskRequest request = new ShowTaskRequest();
request.setServiceName("c-traffic-abnormal-park-edge");
request.setTaskId("<YOUR TASK ID>");
try {
ShowTaskResponse response = client.showTask(request);
System.out.println(response.toString());
} catch (ConnectionException e) {
e.printStackTrace();
} catch (RequestTimeoutException e) {
e.printStackTrace();
} catch (ServiceResponseException e) {
e.printStackTrace();
System.out.println(e.getHttpStatusCode());
System.out.println(e.getErrorCode());
System.out.println(e.getErrorMsg());
}
}
}
5 删除园区智能体视频分析作业
功能介绍
园区智能体软件开发工具包(CampusGo Software Development Kit,简称CampusGo SDK)是对园区智能体提供的REST API进行的封装,以简化用户的开发工作。用户通过添加依赖或下载的方式调用API即可实现使用视频分析业务能力的目的。
该示例展示了如何通过java版SDK基于边缘异常停车检测服务进行视频分析作业的删除。
前置条件
申请服务
申请园区智能体服务的具体操作步骤请参见《园区智能体API参考》。在创建视频分析作业后,能获取到对应的作业id(TASK ID),通过作业id进行作业删除操作
获取AK/SK
开发者在使用前需先获取账号的ak、sk、endpoint。
您需要拥有华为云账号以及该账号对应的 Access Key(AK)和 Secret Access Key(SK)。请在华为云控制台“我的凭证-访问密钥”页面上创建和查看您的 AK/SK。更多信息请查看访问密钥。
endpoint 华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点。
运行环境
Java JDK 1.8 及其以上版本,推荐通过Maven 安装依赖的方式使用JAVA版本SDK。
SDK获取和安装
在Maven 项目的 pom.xml 文件加入相应版本的依赖项即可。
以引入3.0.78版本的园区智能体SDK为例:
<dependency>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-campusgo</artifactId>
<version>3.0.78</version>
</dependency>
示例代码
边缘异常停车检测服务删除作业示例代码只需将AK/SK信息替换为实际AK/SK,taskID替换成实际的taskID,配置完成后运行即可。
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.campusgo.v2.region.CampusGoRegion;
import com.huaweicloud.sdk.campusgo.v2.CampusGoClient;
import com.huaweicloud.sdk.campusgo.v2.model.DeleteTaskRequest;
import com.huaweicloud.sdk.campusgo.v2.model.DeleteTaskResponse;
public class CampusGoDeleteTask {
public static void main(String[] args) {
String ak = "<YOUR AK>";
String sk = "<YOUR SK>";
ICredential auth = new BasicCredentials()
.withAk(ak)
.withSk(sk);
CampusGoClient client = CampusGoClient.newBuilder()
.withCredential(auth)
.withRegion(CampusGoRegion.valueOf("cn-north-4"))
.build();
DeleteTaskRequest request = new DeleteTaskRequest();
request.setServiceName("c-traffic-abnormal-park-edge");
request.setTaskId("<YOUR TASK ID>");
try {
DeleteTaskResponse response = client.deleteTask(request);
System.out.println(response.toString());
} catch (ConnectionException e) {
e.printStackTrace();
} catch (RequestTimeoutException e) {
e.printStackTrace();
} catch (ServiceResponseException e) {
e.printStackTrace();
System.out.println(e.getHttpStatusCode());
System.out.println(e.getErrorCode());
System.out.println(e.getErrorMsg());
}
}
}
6 创建园区智能体视频分析作业
功能介绍
园区智能体软件开发工具包(CampusGo Software Development Kit,简称CampusGo SDK)是对园区智能体提供的REST API进行的封装,以简化用户的开发工作。用户通过添加依赖或下载的方式调用API即可实现使用视频分析业务能力的目的。
该示例展示了如何通过java版SDK基于边缘异常停车检测服务进行视频分析作业的创建。
前置条件
申请服务
申请园区智能体服务的具体操作步骤请参见《园区智能体API参考》。使用园区智能体服务之前,请您按照"用户指南"中的指导,进行算法包购买,获取资源ID;在IEF平台纳管您的边缘节点,创建边缘运行池,获取资源池ID;按照您的需求选择视频流输入方式和告警接收方式;
获取AK/SK
开发者在使用前需先获取账号的ak、sk、endpoint。
您需要拥有华为云账号以及该账号对应的 Access Key(AK)和 Secret Access Key(SK)。请在华为云控制台“我的凭证-访问密钥”页面上创建和查看您的 AK/SK。更多信息请查看访问密钥。
endpoint 华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点。
运行环境
Java JDK 1.8 及其以上版本,推荐通过Maven 安装依赖的方式使用JAVA版本SDK。
SDK获取和安装
在Maven 项目的 pom.xml 文件加入相应版本的依赖项即可。
以引入3.0.78版本的园区智能体SDK为例:
<dependency>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-campusgo</artifactId>
<version>3.0.78</version>
</dependency>
示例代码
边缘异常停车检测服务创建作业示例代码只需将AK/SK信息替换为实际AK/SK,资源池ID和订单ID替换成实际的ID配置,按照异常停车服务的API文档内容,选择合适的输入输出方式,添加适合于待分析视频流的作业参数配置,配置完成后运行即可。
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.campusgo.v2.region.CampusGoRegion;
import com.huaweicloud.sdk.campusgo.v2.model.CreateTasksRequest;
import com.huaweicloud.sdk.campusgo.v2.CampusGoClient;
import com.huaweicloud.sdk.campusgo.v2.model.CreateTasksRequestBody;
import com.huaweicloud.sdk.campusgo.v2.model.CreateTasksResponse;
import com.huaweicloud.sdk.core.utils.JsonUtils;
public class CampusGoCreateTask {
public static void main(String[] args) {
String ak = "<YOUR AK>";
String sk = "<YOUR SK>";
ICredential auth = new BasicCredentials()
.withAk(ak)
.withSk(sk);
CampusGoClient client = CampusGoClient.newBuilder()
.withCredential(auth)
.withRegion(CampusGoRegion.valueOf("cn-north-4"))
.build();
CreateTasksRequest request = new CreateTasksRequest();
request.setServiceName("c-traffic-abnormal-park-edge");
CreateTasksRequestBody requestBody=JsonUtils.toObject("{\"name\":\"<YOUR TASK NAME>\",\"input\":{\"type\":\"edgecamera\",\"data\":[{\"id\":\"<YOUR CAMERA ID>\",\"index\":0}]},\"output\":{\"dis\":{\"stream_name\":\"<YOUR DIS NAME>\"}},\"service_version\":\"3.0\",\"edge_pool_id\":\"<YOUR POOL ID>\",\"resource_order_id\":\"<YOUR RESOURCE ID>\",\"service_config\":{\"common\":{\"license_plate\":{\"local_city\":\"A\",\"local_province\":\"陕\"},\"abnormal_park_threshold\":20,\"abnormal_park_output_interval\":30,\"output_image_sw\":1,\"render_result_sw\":1,\"render_roi_sw\":1,\"target_roi\":\"roi\"}}}"",CreateTasksRequestBody.class);
request.setBody(requestBody);
try {
CreateTasksResponse response = client.createTasks(request);
System.out.println(response.toString());
} catch (ConnectionException e) {
e.printStackTrace();
} catch (RequestTimeoutException e) {
e.printStackTrace();
} catch (ServiceResponseException e) {
e.printStackTrace();
System.out.println(e.getHttpStatusCode());
System.out.println(e.getErrorCode());
System.out.println(e.getErrorMsg());
}
}
}
7 呈现效果
电子围栏
基于入侵检测算法,在一些重要的区域进行设置,防止非法的入侵和各种破坏活动。主要应用于园区安防和智慧城市,管理人员观察视频画面,派遣人员前往处理,避免造成损失。支持多目标同时入侵检测,并告警提示。
图1 电子围栏1
图2 电子围栏2
人流统计
通过人流量统计算法,可以对摄像头的画面进行人数统计和热度统计。支持自定义过线、区域、热力图检测周期可配置,可以对关键区域的行人流量进行统计,为超市、小区制定管理策略。
图3 人流统计1
图4 人流统计2
离岗检测
基于关键岗位检测算法,可以检测指定岗位区域的人员在岗情况,当指定区域内人员离岗超过设定时间时,触发报警。
图5 离岗检测1
图6 离岗检测2
消防通道占用检测
通过消防通道占用算法,检测消防通道内物品占用和堆积的情况,并触发报警,可以有助于园区智慧高效管理。
图7 消防通道占用检测1
图8 消防通道占用检测2
安全帽、反光衣未穿戴检测
基于工服工帽检测算法,通过工地入口或指定作业区域的摄像头,对人员的安全帽佩戴和反光服穿着情况进行检测,如发现有人员未佩戴安全帽或者未穿反光服时,上报告警信息,并对特定人员的图片进行保存。
图9 安全帽、反光衣未穿戴检测
图10 安全帽、反光衣未穿戴检测
8 体验插件课程
https://classroom.devcloud.huaweicloud.com/MOOCCourseStudy/join/ef4ebc3dbaa246ff995f75022cac8cb9
识别下方二维码立即体验
- 点赞
- 收藏
- 关注作者
评论(0)