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

相关文章

Python中Tkinter GUI编程详细教程

《Python中TkinterGUI编程详细教程》Tkinter作为Python编程语言中构建GUI的一个重要组件,其教程对于任何希望将Python应用到实际编程中的开发者来说都是宝贵的资源,这篇文... 目录前言1. Tkinter 简介2. 第一个 Tkinter 程序3. 窗口和基础组件3.1 创建窗

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1

SpringBoot集成iText快速生成PDF教程

《SpringBoot集成iText快速生成PDF教程》本文介绍了如何在SpringBoot项目中集成iText9.4.0生成PDF文档,包括新特性的介绍、环境准备、Service层实现、Contro... 目录SpringBoot集成iText 9.4.0生成PDF一、iText 9新特性与架构变革二、环

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

JavaScript装饰器从基础到实战教程

《JavaScript装饰器从基础到实战教程》装饰器是js中一种声明式语法特性,用于在不修改原始代码的情况下,动态扩展类、方法、属性或参数的行为,本文将从基础概念入手,逐步讲解装饰器的类型、用法、进阶... 目录一、装饰器基础概念1.1 什么是装饰器?1.2 装饰器的语法1.3 装饰器的执行时机二、装饰器的