Code Monkey home page Code Monkey logo

mobile-ar-sensor-logger's Introduction

Mobile AR Sensor (MARS) Logger

record camera frames at ~30Hz and inertial measurement unit (IMU) measurements at ~100Hz synced to one clock source on Android (API 21+) and iOS (SDK 8.0+) mobile devices.

Description

Android

The Android app is developed from the CameraCaptureActivity of the grafika project.

  • Camera frames are saved into H.264/MP4 videos by using the Camera2 API (setRepeatingRequest, onCaptureCompleted), OpenGL ES (GLSurfaceView and GLSurfaceView.Renderer), and MediaCodec and MediaMuxer.
  • The metadata for camera frames are saved to a csv.
  • The timestamps for each camera frame are saved to a txt.
  • Inertial data are recorded on a background HandlerThread.

iOS

The iOS app is developed from the rosywriter in objective C with iOS SDK 8.0 released by Apple.

  • Camera frames are saved into H.264/MP4 videos by using AVCaptureVideoDataOutput and AVAssetWriter.
  • Timestamps, camera projection intrinsic parameters, exposure duration of the camera frame are saved into a csv file.
  • Inertial data are saved into a csv by a background NSOperationQueue receiving data from the CMMotionManager.

For user guide, please visit the wiki.

Features

  • 25+ Hz camera frames and 100+ Hz IMU measurements for off-the-shelf smartphones priced $200+.
  • The visual and inertial data are synchronized to one clock.
  • The focal length in pixels and exposure duration are recorded.
  • Tap to lock auto focus and auto exposure so as to fix focus distance and exposure duration.

Get started

The installation, data format, recording and exporting data are explained in the following wiki pages.

Android

iOS

Citing

If you use the MARS logger for your research, please consider citing the paper.

@INPROCEEDINGS{huai2019mars, 
author={Jianzhu {Huai} and Yujia {Zhang} and Alper {Yilmaz}}, 
booktitle={2019 IEEE SENSORS}, 
title={The mobile AR sensor logger for Android and iOS devices}, 
year={2019}, 
volume={}, 
number={}, 
pages={},
ISSN={}, 
month={Oct},}

mobile-ar-sensor-logger's People

Contributors

jzhuai0108 avatar goldbattle avatar alpery74 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.