フレクトのクラウドblog re:newal

http://blog.flect.co.jp/cloud/からさらに引っ越しています

Use indoor positioning system (IPS) on AR Remote Instructions base on ARKit

研究開発室の馮 志聖(マイク)です。

Content

  • Introduction
  • IPS (Indoor Positioning System)
  • Solution
  • Conclusion
  • Other
  • Reference

Introduction

When we want to go to an unknown location, we will use maps to navigate. In the era when the global positioning system was not popular, people used paper maps. With the development of science and technology, almost all modern navigation systems use the Global Navigation Satellite System (GNSS), and many countries have developed their own positioning systems, among which Global Positioning System (GPS) is more commonly used. GPS will use trilateration to locate the user's current location and set the path to the destination. GPS positioning is used when outdoors.

Why we need indoor positioning system (IPS)?

However, in the indoor environment, it is difficult for GPS to provide reliable positioning information due to signal attenuation and blocking caused by buildings and construction materials. Thus the location-based apps such as Navigation don’t work inside airports, malls, subways, etc. GPS doesn’t provide information about the floor and building level where the user is located. These factors led to the need for a system where a user can be located inside a building accurately and precisely to make positioning and navigation inside indoors as easy as outdoors.

GNSS https://en.wikipedia.org/wiki/Satellite_navigation

GPS https://en.wikipedia.org/wiki/Global_Positioning_System

Trilateration https://en.wikipedia.org/wiki/True-range_multilateration

Association of indoor positioning system (IPS) and AR remote instructions system.

This is the previous blog about AR remote instruction.

AR Remote Instructions base on ARKit - フレクトのクラウドblog re:newal

In AR remote instruction, the supporter or the client will have a problem, that is very often unable to find the target location and cannot provide assistance. Almost all locations are indoor environments, such as warehouses or offices.

Therefore, we searched some existing research information to investigate which research methods are suitable for AR remote instruction.

続きを読む

TFLiteをWasm化(WasmSIMD化)してGoogle Meet 仮想背景機能を動かす

こんにちは。研究開発室の岡田です。

以前、Google Meetの仮想背景のモデル(Segmentation Model)をTensorflowjsで動作させた記事を投稿しました。今回はさらなるパフォーマンス改善を目指しWasm化したTFLiteで動かしてみようと思います。

結果、かなりの好成績でした。 image

続きを読む

MuleSoftを感じてみる

こんにちは。CI事業部の川瀬です。
フレクトでも2020年度から新しい技術、MuleSoftに取り組んでいます。

MuleSoft一体どんなもので、どんな会社が使っているのか?と見てみると以下のリンクに辿れます。

www.mulesoft.com

トヨタNETFLIXも使っているのですね。

MuleSoftを使うと何がいいのでしょうか? ERPの代表格としてはSAP、Oracle富士通、ORBICなどの有名どころがあります。じゃ、プログラム書いて繋いじゃえばいいじゃないかと思います。 ところが実際は、業務Aを実行するにはシステムA、業務Bを実行するにはシステムB、挙句の果てには途中でデータ加工のためAccessやエクセルが出てくる場合もあります。 システムAからこのデータを取得して、システムBからはあのデータを取得して、ムムムとなってしまいます。
簡単にデータを取得して、うまいことと混ぜて画面に表示したい、ということでMuleSoftが着目され始めています。 もちろん、接続先をプラグイン化して様々なシステムにつなげることができる凄腕エンジニアがたくさんいれば話は別です。
対向システムのAPIを調べ、今度は別の対向システムのAPIを調べといった具合に、エンジニアの立場からは面白いかもしれませんが、経営者からみたらたまったものではありません。早い、安い、うまいが基本ですよね。
そんな中でMuleSoftは各種コネクタを用意してあり、簡単に対向システムと接続できちゃいます。

docs.mulesoft.com

一体、MuleSoftと通常の実装とではどこが違ってくると思いますか?比較すると以下のような感じになります。

          MuleSoft               カスタムコード(Java)                 
API 仕様 1. API 仕様を GUI の専用ツールで作成。シンタクックスの習得不要。
2. API 仕様に基づき API を実装
成果物:RAML / OAS
1. API 実装をコーディング
2. API 仕様を自動で生成
成果物:RAML/OAS
API 実装 GUI でフローを作成
データの変換部分のみ少量のコーディング
Eclipse 等の IDE 上でインテリセンスを活用してコーディング
具体例
f:id:k2-flect:20210321142424p:plain
実装例
public class DBSample {
public static void main(String[] args) throws Exception{
Connection conn = null;
...

どうですか?簡単そうでしょう。次回はもっと具体例と出したり、他の製品との比較もやっていきたいです。

Manipulate AR objects using UI Gesture and Hand Gesture

This is Shuochen Wang from R&D department in Flect. In this blog I am going to explain how to move AR objects by both translation and rotation using UI Gesture and Hand Gesture.

Table of contents

  • Introduction
    • Why do we need to learn about AR?
    • Why use Apple for AR apps?
    • What is the difference between VR, MR and AR?
    • What is ARKit?
    • What is SceneKit?
    • What is UI Gesture?
    • What is Hand Gesture?
  • Start Up
    • Setting up the view
    • Adding AR objects
  • Setting up UI Gesture recognizers
    • Setting up the Pan Gesture for Translation
    • Setting up the Rotation Gesture for Rotation
  • Setting up Hand Gesture
    • Setting up Hand Gesture for Translation
    • Setting up Hand Gesture for Rotation
  • Conclusion
  • Reference

Introduction

Why do we need to learn about AR?

The need to learn about AR (Augmented Reality) has become more important than ever. In 2020, AR has disappeared from Gartner’s Hype Cycle. This means

AR has reached maturity and became an industry-proofed technology that executives can safely invest in to improve and innovate their business.(AR Post)[^1]

In other words, AR is going to be an essential technology to be used behind other new, trending technologies. As a software developer/ engineer, one needs to learn how to use AR.

続きを読む

価格の最適化に関する論文の紹介: Price Investment using Prescriptive Analytics and Optimization in Retail

こんにちは.研究開発室の福井です.

現在,研究開発室ではリモートコミュニケーションと自動化をメインテーマとして研究開発を行っております.その中でも私は自動化の役に立ちそうな技術に関する研究を行っております.より詳細に言いますと,最近はオペレーションズ・リサーチ(OR)と呼ばれる分野に含まれるいくつかの問題に関して研究を行っています.今回の記事では,最近私が勉強中の価格の最適化に関する問題に関連した論文を紹介させていただきます.

今回は,KDD2020 で発表された以下の論文を紹介します.

  • Mehrotra, Prakhar, et al. "Price Investment using Prescriptive Analytics and Optimization in Retail." Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020.

この論文では,Walmart(アメリカの大手スーパーマーケットチェーン)において実験的に利用されている,機械学習と OR (の数理計画問題)を用いて利益が最大化するような最適価格を推薦するシステム(Price Recommender System; PRS)について紹介されています.

続きを読む

Building a Slack bot using Google Dialogflow

This is Shuochen Wang from R&D department in Flect. In this blog I am to explain how I implemented a Slack bot using Google Dialogflow.

Table of contents

  • Introduction
    • Why do we need chatbot?
  • Design brief
    • Purpose of the Slack bot
    • The process
    • Why choose Google Dialogflow? (Figure 1 step 3 and 7)
    • Why use external API?
    • What kind of external API? (Figure 1 step 5)
    • Why choose Google for webhook? (Figure 1 step 4 and 6)
  • Cloud Run script specifics
    • Libraries/modules to be used
    • Setting up the main web application
    • Setting up the app route
    • Setting up the request handler
    • Setting up the fallback handler
    • Setting the interactive button for Slack
    • Setting the return message function
  • Conclusion and future work
  • Reference

Introduction

Why do we need chatbot?

According to a new market report pertaining to the global chatbot market published by Transparency Market Research the global chatbot market was valued at US$ 274.5 Mn in 2019 and is projected to reach US$ 2,358.2 Mn by 2027, at a CAGR of 31.3% during the forecast period from 2020 to 2027[^1]. Since the outbreak of the corona virus, the need for automatic chat support is greater than ever before.

続きを読む

Microsoft AzureでSpring Boot製バッチを動かすために(2)

こんにちは。クラウドインテグレーション事業部の上原です。

前回の記事では、とりあえず Azure上でバッチ処理を動かすためにシンプルな構成を作ってみました。

cloud.flect.co.jp

しかしシンプルゆえに問題点も多かったので、少しずつ改善していきましょう。
今回は必要なときだけバッチが稼働する構成 、いわゆるサーバレスアーキテクチャを検討してみます。

続きを読む