阿里视觉AI训练营-day04-作业日-车辆保险应用

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 车辆保险应用

阿里AI训练营【车辆保险应用】


# 前言 转载于:[【阿里云高校计划】车辆保险应用 day4 【拨云见日】](https://blog.csdn.net/weixin_42234067/article/details/106764710)
# 实施前准备工作 ## 一、本地图片上传为OSS #### 1.开通oss ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20201102173041857.png#pic_center) #### 2.创建Bucket ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20201102173108804.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzA2MzY5,size_16,color_FFFFFF,t_70#pic_center)![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20201102173122550.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzA2MzY5,size_16,color_FFFFFF,t_70#pic_center) ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20201102173134702.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzA2MzY5,size_16,color_FFFFFF,t_70#pic_center) ## 二、开通目标检测服务 [阿里云视觉智能开放平台--目标检测](https://vision.aliyun.com/objectdet?spm=a211p3.14020179.J_7524944390.10.2c984b58Kfamiz) ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20201102173234550.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzA2MzY5,size_16,color_FFFFFF,t_70#pic_center)![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20201102173431528.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzA2MzY5,size_16,color_FFFFFF,t_70#pic_center) ## 三、查看所需API 这里我们用到阿里云视觉智能开放平台提供的三个功能: - 车辆部件识别 - 车辆损伤识别 - 车险图片分类 ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20201102173511537.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzA2MzY5,size_16,color_FFFFFF,t_70#pic_center) 1.车辆部件识别 > 检测图片中车辆部件的位置以及名称。 2.车辆损伤识别 > 针对常见小汽车车型,识别车辆外观受损部件及损伤类型,可识别数十种车辆部件、五大类外观损伤。(刮擦、凹陷、开裂、褶皱、穿孔) 3.车险图片分类 > 对输入的车险图片进行分类。 # 具体实施 ## 一、本地图片上传至OSS的uploadPic类 #### 车辆部件识别 ###### 1.在maven中导入所需依赖 ```java com.aliyun.ossaliyun-sdk-oss3.8.0 ``` ###### 2.编写UploadPic类 ```java package com.example.demo; import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; import java.io.File; import java.net.URL; import java.security.SecureRandom; import java.util.Date; import java.lang.*; import java.util.Scanner; public class UploadPic { public static String UploadPic(){ // Endpoint以杭州为例,其它Region请按实际情况填写。 String endpoint = "oss-cn-shanghai.aliyuncs.com"; // 阿里云主账号AccessKey。 String accessKeyId = "*************"; String accessKeySecret = "*************"; //本地文件名 System.out.println("请输入本地图片path:"); Scanner scanner = new Scanner(System.in); String fileName = scanner.nextLine(); String bucketName = "auto-insurance-pic"; // 获取文件的后缀名 String suffixName = fileName.substring(fileName.lastIndexOf(".")); // 生成上传文件名 String objectName = System.currentTimeMillis() + "" + new SecureRandom().nextInt(0x0400) + suffixName; // 创建OSSClient实例。 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); // 如果需要上传时设置存储类型与访问权限,请参考以下示例代码。 // ObjectMetadata metadata = new ObjectMetadata(); // metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString()); // metadata.setObjectAcl(CannedAccessControlList.Private); // putObjectRequest.setMetadata(metadata); // 上传文件。 ossClient.putObject(bucketName, objectName, new File(fileName)); // 设置URL过期时间为1小时。 Date expiration = new Date(System.currentTimeMillis() + 3600 * 1000); // 生成以GET方法访问的签名URL,访客可以直接通过浏览器访问相关内容。 URL url = ossClient.generatePresignedUrl(bucketName, objectName, expiration); // 关闭OSSClient。 ossClient.shutdown(); return url.toString(); } } ``` ###### 3.运行结果 ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20201102174302405.png#pic_center)![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20201102174306965.png#pic_center) ## 二、车辆部件识别RecognizeVehicleParts类 #### 1.在maven中导入所需依赖 [阿里maven私有仓库服务](https://maven.aliyun.com/mvn/search) ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20201102175052583.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzA2MzY5,size_16,color_FFFFFF,t_70#pic_center) ```java com.aliyunaliyun-java-sdk-core4.4.8com.alibabafastjson1.2.52com.aliyunaliyun-java-sdk-objectdet1.0.7 ``` #### 2.编写RecognizeVehicleParts类 ```java package com.example.demo; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.profile.DefaultProfile; import com.example.demo.UploadPic; import com.google.gson.Gson; import java.util.*; import com.aliyuncs.objectdet.model.v20191230.*; public class RecognizeVehicleParts { public static void main(String[] args) { DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "accessKeyId", "accessKeySecret"); IAcsClient client = new DefaultAcsClient(profile); RecognizeVehiclePartsRequest request = new RecognizeVehiclePartsRequest(); request.setRegionId("cn-shanghai"); request.setImageURL(UploadPic.UploadPic()); try { RecognizeVehiclePartsResponse response = client.getAcsResponse(request); System.out.println(new Gson().toJson(response)); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { System.out.println("ErrCode:" + e.getErrCode()); System.out.println("ErrMsg:" + e.getErrMsg()); System.out.println("RequestId:" + e.getRequestId()); } } } ``` #### 3.运行结果 ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20201102175250466.png#pic_center)返回值为: > {"requestId":"BBFB102D-5EAC-483F-9A94-9DA79A06E1F6","data":{"elements":[{"score":0.98788995,"type":"left_tail_light","boxes":[132,274,862,607]},{"score":0.952229,"type":"left_rear_wing","boxes":[4,162,365,750]},{"score":0.74785864,"type":"rear_bumper","boxes":[60,456,987,760]}],"originShapes":[768,1024]}} ## 三.车辆损伤识别 #### 1.在maven中导入所需依赖 见本文二-1 #### 2.编写RecognizeVehicleDamage类 ```java package com.example.demo; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.profile.DefaultProfile; import com.google.gson.Gson; import java.util.*; import com.aliyuncs.objectdet.model.v20191230.*; public class RecognizeVehicleDamage { public static void main(String[] args) { DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "accessKeyId", "accessKeySecret"); IAcsClient client = new DefaultAcsClient(profile); RecognizeVehicleDamageRequest request = new RecognizeVehicleDamageRequest(); request.setRegionId("cn-shanghai"); request.setImageURL(UploadPic.UploadPic()); try { RecognizeVehicleDamageResponse response = client.getAcsResponse(request); System.out.println(new Gson().toJson(response)); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { System.out.println("ErrCode:" + e.getErrCode()); System.out.println("ErrMsg:" + e.getErrMsg()); System.out.println("RequestId:" + e.getRequestId()); } } } ``` #### 3.识别结果 返回值为: > {"requestId":"7FFBD390-7019-4B85-9FFA-779C912A9CEB","data":{"elements":[{"score":0.414995,"type":"1","scores":[0.414995,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"boxes":[343,390,473,542]},{"score":0.408405,"type":"1","scores":[0.408405,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"boxes":[541,442,659,545]},{"score":0.348472,"type":"1","scores":[0.348472,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"boxes":[273,293,423,400]},{"score":0.378637,"type":"2","scores":[0.0,0.378637,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"boxes":[261,26,496,142]},{"score":0.873101,"type":"5","scores":[0.0,0.0,0.0,0.0,0.873101,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"boxes":[91,4,555,267]},{"score":0.815785,"type":"6","scores":[0.0,0.0,0.0,0.0,0.0,0.815785,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"boxes":[564,270,869,441]},{"score":0.845525,"type":"8","scores":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.845525,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"boxes":[230,234,529,313]},{"score":0.411336,"type":"11","scores":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.411336,0.0,0.0,0.0,0.0],"boxes":[632,425,922,563]},{"score":0.334054,"type":"11","scores":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.334054,0.0,0.0,0.0,0.0],"boxes":[538,91,733,194]},{"score":0.333818,"type":"11","scores":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333818,0.0,0.0,0.0,0.0],"boxes":[694,157,899,286]},{"score":0.32519,"type":"11","scores":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32519,0.0,0.0,0.0,0.0],"boxes":[523,87,902,278]}]}} ## 四.车险图片分类 #### 1.在maven中导入所需依赖 见本文二-1 #### 2.编写ClassifyVehicleInsurance类 ```java package com.example.demo; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.profile.DefaultProfile; import com.google.gson.Gson; import java.util.*; import com.aliyuncs.objectdet.model.v20191230.*; public class ClassifyVehicleInsurance { public static void main(String[] args) { DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "accessKeyId", "accessKeySecret"); IAcsClient client = new DefaultAcsClient(profile); ClassifyVehicleInsuranceRequest request = new ClassifyVehicleInsuranceRequest(); request.setRegionId("cn-shanghai"); request.setImageURL(UploadPic.UploadPic()); try { ClassifyVehicleInsuranceResponse response = client.getAcsResponse(request); System.out.println(new Gson().toJson(response)); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { System.out.println("ErrCode:" + e.getErrCode()); System.out.println("ErrMsg:" + e.getErrMsg()); System.out.println("RequestId:" + e.getRequestId()); } } } ``` #### 3.识别结果 ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20201102175903416.png#pic_center)返回值为: > {"requestId":"87BEADED-F581-4C38-9F5F-E6F8DF0A1BA5","data":{"threshold":0.0,"labels":[{"score":0.0046,"name":"others"},{"score":0.0164,"name":"detail"},{"score":0.1934,"name":"component"},{"score":0.0,"name":"vin"},{"score":8.0E-4,"name":"people"},{"score":2.0E-4,"name":"motor"},{"score":0.1439,"name":"semi-car"},{"score":0.0027,"name":"panoramic"},{"score":3.0E-4,"name":"license"},{"score":0.0169,"name":"CT-scan"},{"score":5.0E-4,"name":"truck"},{"score":0.0144,"name":"disassembly"},{"score":0.6059,"name":"scene"}]}} ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20201102175927853.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzA2MzY5,size_16,color_FFFFFF,t_70#pic_center) # 总结 转载于:[【阿里云高校计划】车辆保险应用 day4 【拨云见日】](https://blog.csdn.net/weixin_42234067/article/details/106764710)
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
3天前
|
机器学习/深度学习 人工智能 物联网
AI赋能大学计划·大模型技术与应用实战学生训练营——湖南大学站圆满结营
12月14日,由中国软件行业校园招聘与实习公共服务平台携手魔搭社区共同举办的AI赋能大学计划·大模型技术与产业趋势高校行AIGC项目实战营·湖南大学站圆满结营。
AI赋能大学计划·大模型技术与应用实战学生训练营——湖南大学站圆满结营
|
2天前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
84 0
|
2天前
|
人工智能 安全 图形学
【AI落地应用实战】篡改检测技术前沿探索——从基于检测分割到大模型
在数字化洪流席卷全球的当下,视觉内容已成为信息交流与传播的核心媒介,然而,随着PS技术和AIGC技术的飞速发展,图像篡改给视觉内容安全带来了前所未有的挑战。 本文将探讨篡改检测技术的现实挑战,分享篡改检测技术前沿和最新应用成果。
|
3天前
|
机器学习/深度学习 人工智能 安全
合合信息亮相CSIG AI可信论坛,全面拆解视觉内容安全的“终极防线”!
合合信息在CSIG AI可信论坛上,全面拆解了视觉内容安全的“终极防线”。面对AI伪造泛滥的问题,如Deepfake换脸、PS篡改等,合合信息展示了其前沿技术,包括通用PS检测系统和AIGC与换脸检测系统,有效应对视觉内容安全挑战。公司在国际赛事中屡获殊荣,并联合多方发布《文本图像篡改检测系统技术要求》,推动行业标准化发展。通过技术创新,合合信息为金融、政企等领域提供可靠保障,守护社会信任,引领视觉内容安全新方向。
20 0
|
机器学习/深度学习 新零售 人工智能
阿里云高校计划视觉AI五天训练营 Day 1——视觉应用探索
在这个人工智能已经普及的时代,各行各业都充斥着AI的身影。大部分人认为人工智能起点高,入门难,想要使用AI服务又无法独立完成编写,开发者可以通过阿里云视觉平台提供的通用且标准化的接入方式,快速接入及使用阿里云视觉平台提供的包括人脸人体、文字识别、商品理解、内容安全、图像识别、图像生产、分割抠图、视觉搜索、目标检测、图像分析处理、视频理解、视频生产、视频分割13个类目多个API能力,为其提供高易用、普惠的视觉API服务,帮助企业快速建立视觉智能技术的应用能力的综合性视觉AI能力平台。
1299 0
阿里云高校计划视觉AI五天训练营 Day 1——视觉应用探索
|
JSON 人工智能 API
阿里云高校计划视觉AI五天训练营 Day5
关爱环境卫生,人人有责,怎么快速识别垃圾的种类扔进相应的垃圾桶中,那接下来看如何快速识别垃圾分类。
阿里云高校计划视觉AI五天训练营 Day5
|
人工智能 前端开发 算法
视觉AI五天训练营教程 Day 3
简介: 在这个人工智能已经普及的时代,各行各业都充斥着AI的身影。大部分人认为人工智能起点高,入门难,想要使用AI服务又无法独立完成编写,阿里云视觉平台是基于阿里巴巴视觉智能技术实践经验,面向视觉智能技术企业和开发商(含开发者),为其提供高易用、普惠的视觉API服务,帮助企业快速建立视觉智能技术的应用能力的综合性视觉AI能力平台。开发者可以通过阿里云视觉平台提供的通用且标准化的接入方式,快速接入及使用阿里云视觉平台提供的包括人脸人体、文字识别、商品理解、内容安全、图像识别、图像生产、分割抠图、视觉搜索、目标检测、图像分析处理、视频理解、视频生产、视频分割13个类目多个API能力。本期直播将带你
578 0
视觉AI五天训练营教程 Day 3
|
编解码 人工智能 文字识别
阿里云高校计划视觉AI五天训练营 Day 2——身份证识别系统
本文介绍了如何使用阿里云视觉智能开放平台相关服务的PHP SDK,具体包括SDK的获取和安装方法以及SDK代码示例。
466 0
阿里云高校计划视觉AI五天训练营 Day 2——身份证识别系统
|
人工智能
阿里云高校计划视觉AI五天训练营教程 Day 2 - 身份证识别系统搭建
实战讲述如何使用阿里云视觉平台API快速开发在线视觉AI平台,主要如何为如何搭建身份证识别系统,进而扩展到其他的识别系统。
阿里云高校计划视觉AI五天训练营教程 Day 2 - 身份证识别系统搭建
|
人工智能 文字识别 前端开发
阿里云高校计划视觉AI五天训练营教程 Day 2 - 身份证识别系统搭建
本篇文章是基于阿里云高校计划AI课程第二讲,身份证识别系统搭建。在阿里云视觉开放平台上已有调试功能。
304 0
阿里云高校计划视觉AI五天训练营教程 Day 2 - 身份证识别系统搭建