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

相关文章

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32