Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vuzix Developer Conference 20171201

ARIYAMA Keiji
December 01, 2017

Vuzix Developer Conference 20171201

2017年12月1日に開催されたVuzix Developer Conferenceでの発表資料です。

「M300で    アプリ開発」

ARIYAMA Keiji

December 01, 2017
Tweet

More Decks by ARIYAMA Keiji

Other Decks in Technology

Transcript

  1. CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE); CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId); mSensorOrientation

    = characteristics.get(CameraCharacteristics.SENSOR_ORIENTATION); // Orientation int rotation = activity.getWindowManager().getDefaultDisplay().getRotation(); int orientation = (ORIENTATIONS.get(rotation) + mSensorOrientation + 270) % 360; captureBuilder.set(CaptureRequest.JPEG_ORIENTATION, orientation);  ݱࡏͷը໘ํ޲ɾΧϝϥͷํ޲Λߟྀ https://github.com/googlesamples/android-Camera2Basic
  2. <LinearLayout> <LinearLayout> <Button android:id="@+id/button1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 1" />

    <Button android:id="@+id/button2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 2" /> </LinearLayout>  ϑΥʔΧεҠಈ <LinearLayout> <Button android:id="@+id/button3" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 3" /> <Button android:id="@+id/button4" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 4" /> </LinearLayout> </LinearLayout>
  3. <LinearLayout> <LinearLayout> <Button android:id="@+id/button1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 1" android:nextFocusRight="@+id/button4"

    android:nextFocusLeft="@+id/button2" /> <Button android:id="@+id/button2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 2" android:nextFocusRight="@+id/button1" android:nextFocusLeft="@+id/button3" /> </LinearLayout>  OFYU'PDVT-FGU3JHIU <LinearLayout> <Button android:id="@+id/button3" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 3" android:nextFocusRight="@+id/button2" android:nextFocusLeft="@+id/button4" /> <Button android:id="@+id/button4" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 4" android:nextFocusRight="@+id/button3" android:nextFocusLeft="@+id/button1" /> </LinearLayout> </LinearLayout>
  4. <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/activity_service_manager_power" app:actionViewClass="android.widget.Switch" app:showAsAction="always"

    android:title="@string/app_name"/> <item android:id="@+id/activity_service_menu_item_settings" app:showAsAction="never" android:title="@string/activity_service_menu_settings"/> <item android:id="@+id/activity_service_menu_item_help" app:showAsAction="never" android:title="@string/activity_service_menu_help"/> </menu>  SFTNFOVBDUJWJUZ@TFSWJDF@MJTUYNM
  5. <LinearLayout android:id="@+id/activity_service_list_buttons_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true"> <Switch android:id="@+id/activity_service_list_manager_switch" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_margin="8dp"

    android:layout_weight="1" android:text="@string/app_name" /> <Button android:id="@+id/activity_service_list_search_button" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_margin="8dp" android:layout_weight="1" android:text="@string/activity_service_list_search" /> </LinearLayout>  SFTMBZPVUOPUPVDIBDUJWJUZ@TFSWJDF@MJTUYNM
  6. Ϟσϧ  conv 1x5
 64 max_pool 1x3 fully connected 192

    ʢdropout 0.5ʣ output
 2 size = 256
  7. dependencies {
 compile fileTree(dir: 'libs', include: ['*.jar'])
 androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
 exclude

    group: 'com.android.support', module: 'support-annotations'
 })
 compile 'com.android.support:appcompat-v7:25.3.1'
 compile 'com.android.support.constraint:constraint-layout:1.0.2'
 testCompile 'junit:junit:4.12'
 
 compile 'org.tensorflow:tensorflow-android:1.4.0'
 }
  CVJMEHSBEMF
  8. private static final String MODEL_FILEPATH = "model.pb";
 private final TensorFlowInferenceInterface

    mTfInference;
 GestureDetector(AssetManager am) {
 mTfInference = new TensorFlowInferenceInterface(am, MODEL_FILEPATH);
 }
  ϞσϧͷಡΈࠐΈ
  9. GestureType recognizeGesture(float[] accelData, float[] gyroData) {
 
 mTfInference.feed("input_accel", accelData, accelData.length);


    mTfInference.feed("input_gyro", gyroData, gyroData.length);
 
 mTfInference.run(new String[]{"softmax_logits"});
 
 mTfInference.fetch("softmax_logits", mRecognizeGestureResult);
 
 for (int index = 0; index < mRecognizeGestureResult.length; index++) {
  (FTUVSF%FUFDUPSͷ࣮૷ʢGFFEʣ
  10. GestureType recognizeGesture(float[] accelData, float[] gyroData) {
 
 mTfInference.feed("input_accel", accelData, accelData.length);


    mTfInference.feed("input_gyro", gyroData, gyroData.length);
 
 mTfInference.run(new String[]{"softmax_logits"});
 
 mTfInference.fetch("softmax_logits", mRecognizeGestureResult);
 
 for (int index = 0; index < mRecognizeGestureResult.length; index++) {
  (FTUVSF%FUFDUPSͷ࣮૷ʢSVOʣ
  11. GestureType recognizeGesture(float[] accelData, float[] gyroData) {
 
 mTfInference.feed("input_accel", accelData, accelData.length);


    mTfInference.feed("input_gyro", gyroData, gyroData.length);
 
 mTfInference.run(new String[]{"softmax_logits"});
 
 mTfInference.fetch("softmax_logits", mRecognizeGestureResult);
 
 for (int index = 0; index < mRecognizeGestureResult.length; index++) {
  (FTUVSF%FUFDUPSͷ࣮૷ʢGFUDIʣ