Vision SDK for Android教程(一)Introduction
mapbox的Vison SDK,去年一直关注,一直在内测中,今年前一阶段才开放,我一直关注这个SDK,很想试试看看效果如何,一方面是对这个模式识别很感兴趣,其次工作上也有可能部分用到,Vision SDK的官方文档翻译一下,方便自己和后续使用。官网地址:https://docs.mapbox.com/android/vision/overview/Vision SDK for Andro...
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工程。
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 {
@Override
public void onCreate() {
super.onCreate();
VisionManager.init(this, getResources().getString(R.string.mapbox_access_token));
}
}
配置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.VisionView
android: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。
你需要在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的水印。
更多推荐
所有评论(0)