Vision SDK for Android教程(一)Introduction

2024-06-08 04:38

本文主要是介绍Vision SDK for Android教程(一)Introduction,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mapbox的Vison SDK,去年一直关注,一直在内测中,今年前一阶段才开放,我一直关注这个SDK,很想试试看看效果如何,一方面是对这个模式识别很感兴趣,其次工作上也有可能部分用到,Vision SDK的官方文档翻译一下,方便自己和后续使用。

官网地址:https://docs.mapbox.com/android/vision/overview/

Vision SDK for Android

当前版本:V0.3.0

           1、利用手机或嵌入式应用为驾驶人员提供AI和AR要素

           2、提供增强现实的导航和常用物件的检测

           3、创建常见的报警,如:速度、车道偏离、跟车距离等

           4、在设备上跑神经网络,能做到实时显示

定义:

Mapbox Vison SDK for Android是一个直接跑在安卓设备上基于相机来解释道路场景的库。

主要特点如下:

           1、分类和显示检测和报警标识

           2、物体检测包括车辆、行人、路标、交通灯

           3、对14中道路进行语义分类

           4、增强现实导航的全覆盖

           5、支持wifi或有限连接的相机

SDK structure

有三种和Vision相关的SDK,这三种都依赖于Vison core模块。

Available SDKs

Vision SDK 是主要模块,Mapbox vision的应用都需要此模块。它的组件使相机能够配置、显示分类、探测、图层划分和车道线检测,还有其他一些接口。

Vision AR SDK是一个在vison基础上增加的模块,用来创建一些增强现实的体验。它可以配置用户路线的可视化:车道元素、车道形状、常见物体等

Vision Safety SDK是一个在vision基础上增加的用来为用户创建常见警示的模块,如:速度、附近车辆、骑车的人、行人、跨越车道等

Core logic

Vision Core是系统的核心逻辑,包括所有的机器学习模块。使用上述相关的SDK都会自动带有VisonCore模块。

Requirements

VisionSDK需要android 6(API 23)以上,使用QC Snapdragon 650,710,8xx,有open GL支持。列举如下机型:

  • Samsung Galaxy S8, S8+, S9, S9+, Note 8
  • QC Snapdragon 650, 710, 8xx (but less than 855) with Open CL support
  • Xiaomi Mi 6, 8
  • HTC U11, U11+, U12, U12+
  • OnePlus 5, 6

除了软硬件的要求,还需要相机对准行驶前方的路面。

Getting started

为了使用你的SDK,需要下载SDK,为你的工程安装独立模块并完成一些配置。

Download and install the SDK

Download from vision.mapbox.com/install

You must download the relevant dependencies from vision.mapbox.com/install before continuing. You can download the dependency directly or import it into your project using Maven. This will require that you are logged into your Mapbox account.

SDK configuration

当你下载并将SDK加载到你的工程后,按如下配置你的android工程。

Set your Mapbox access token

Mapbox APIs 需要一个Mapbox账号和许可证:

1.从mapbox官网获取access token

2.打开String.xml文件,创建一个新的字段 name="mapbox_access_token",如下所示:

<string name="mapbox_access_token" translatable="false">YOUR_ACCESS_TOKEN_HERE</string>

3.创建一个类,来初始化VisionManager,并且传入你的Mapbox access token:

public class VisionApp extends Application {@Overridepublic void onCreate() {super.onCreate();VisionManager.init(this, getResources().getString(R.string.mapbox_access_token));}
}

Configure permissions

配置android的权限信息:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

这些都是在调用SDK时需要的权限。

Add VisionView to the activity layout (optional)

VisionView将渲染由Vision SDK提供的图片,你可以通过下面小段代码来添加:

<com.mapbox.vision.view.VisionViewandroid:id="@+id/vision_view"android:layout_width="match_parent"android:layout_height="match_parent"app:visualization_mode="detection" />

其中app:visualization_mode表明了在VisionView中渲染什么内容:clear video source,segmentation或者detections。

Lifecycle methods

你需要在VisionManager中调用生命周期方法,为了响应事件,Vision SDK产生你传入的VisionEventsListener到VisionManager.Start()方法中。


@Override
protected void onResume() {super.onResume();...VisionManager.create();VisionManager.start(myVisionEventsListenerInstance);
}@Override
protected void onPause() {super.onPause();...VisionManager.stop();VisionManager.destroy();
}

Device setup

除了安装框架,你还需要在车上安装设备,在选择支架时考虑如下因素:

1.尽量离仪表盘或挡风玻璃越近越好

2.将手机放在后视镜附近

3、确保你手机的相机完全不被遮挡

Testing and development

Read more about setting up your development environment for testing the capabilities of the Vision SDK in the Testing and development guide.

Conditions

付费:详细可度FAQ

版权:当使用VisionSDK时,必须要在camera上加mapbox的水印。

这篇关于Vision SDK for Android教程(一)Introduction的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

在Android中使用WebView在线查看PDF文件的方法示例

《在Android中使用WebView在线查看PDF文件的方法示例》在Android应用开发中,有时我们需要在客户端展示PDF文件,以便用户可以阅读或交互,:本文主要介绍在Android中使用We... 目录简介:1. WebView组件介绍2. 在androidManifest.XML中添加Interne

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹