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

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

Improve the hand gesture stability of the Vision framework's using filters

This is Shuochen Wang from R&D department in Flect. In this blog I am going to explain how to improve the hand gesture stability of the Apple's Vision framework by using filters.

The Vision framework performs face and face landmark detection, text detection, barcode recognition, image registration, and general feature tracking. Vision also allows the use of custom Core ML models for tasks like classification or object detection. In this blog, we will use the body and hand pose detection function. Specifically, we will use the hand pose detection function to obtain the coordinates of the finger joints.

In my previous blog I have explained about how to manipulate AR object using hand gestures. We used the Vision Framework to obtain the hand position. Because we do not use actual sensors or trackers that can measure the finger positions accurately, there will be errors in the measurement.

In this blog, I have performed an experiment to examine how filter can reduce the uncertainties of the hand pose detection of the Vision Framework. Before explaining the experiment, I would like to demonstrate the problem with the current hand gesture detection.

続きを読む

Anypoint PlatformのDesign Centerを使ってみよう(2)

みなさまこんにちは、CI事業部の釜谷です。

フレクトでは、2020年度からMuleSoftに注力しています。
MuleSoftに興味のあるそこの貴方!是非フレクトにご相談ください!!

今回は前回に引き続き、Design Centerを紹介したいと思います。

今回のトピック

作成したAPI仕様を動作確認してみよう!、です。

動作確認をするには?

API Designerのモック機能を使用します。 docs.mulesoft.com

モック機能を使用するには、2つの方法があります。

  • API Designerから使用する
  • ブラウザやクライアントツールから使用する

それぞれの方法について説明します。

API Designerからを使用する方法

  1. 動作確認したいエンドポインタとメソッドを選択します。 f:id:flect-kamatani:20210920172957p:plain
  2. Try it アイコンをクリックします。
    f:id:flect-kamatani:20210920174047p:plain
  3. sendボタンをクリックすると、モックからレスポンスが返ってきます。(「200 OK」 など)
    f:id:flect-kamatani:20210920175441p:plain

ブラウザやクライアントツールから使用する方法

  1. Mocking Service Configurationをクリックします。 f:id:flect-kamatani:20210920175507p:plain
  2. Service Setting のMake Publicを有効にします。 f:id:flect-kamatani:20210920175523p:plain
  3. Copyボタンをクリックして、URLをコピーします。 f:id:flect-kamatani:20210920175536p:plain
  4. ブラウザやクライアントツールに、コピーしたURLと動作確認したエンドポイントとメソッドを設定します。 例えば、URLが「https://anypoint.mulesoft.com/mocking/api/」、動作確認したエンドポイントが「sample」の時は、「https://anypoint.mulesoft.com/mocking/api/sample」を設定します。
  5. 接続操作をすると、モックからレスポンスが返ってきます。(「200 OK」 など)
    f:id:flect-kamatani:20210920181623p:plain

モックからレスポンスを制御する

docs.mulesoft.com

MS2-XXXXをリクエストヘッダに指定することで、レスポンスが制御できます。 例えば、以下の制御が行えます。

  • レスポンス時間を遅くしたい。
    • MS2-Delay : 500-1000、のように指定します。
  • API仕様に記載したレスポンスのHTTPステータスコードを指定して、レスポンスのHTTPステータスコードとして返したい。
    • MS2-Status-Code : 400、のように指定します。
      f:id:flect-kamatani:20210920181400p:plain

次回も引き続き、Design Centerを紹介したいと思います。

本記事で、少しでもMuleSoftに興味を持って頂けたら幸いです!

WebRTC(Amazon Chime SDK JS)で超解像を使ってデータ通信量を削減してみる

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

前回の記事では、Amazon Chime SDK JSを用いたビデオ会議システムやゲーム配信システム(Among us auto mute)において、複数ユーザのビデオ映像を単一の映像に合成することでデータ通信量を削減する方法をご紹介しました。 今回は、データ通信量を削減する別の方法として、ビデオ映像の送信時には解像度を落として受信後に超解像技術を用いる方法を試みてみましたので、これを紹介したいと思います。

下図が実際にやったときの画像です。一番右側の画像が超解像を使用した結果です。赤線左右で左のほうが高解像度化されています。 cap_画面収録 2021-09-09 13 36 55_00:00:02_03

画像だと潰れてしまってわかりにくいと思うので、次のリンクから動画をダウンロードして確認してみてください。 download

続きを読む

Anypoint PlatformのDesign Centerを使ってみよう(1)

みなさまこんにちは、CI事業部の釜谷です。

フレクトでは、2020年度からMuleSoftに注力しています。
MuleSoftに興味のあるそこの貴方!是非フレクトにご相談ください!!

今回は、Anypoint Platformの機能の1つ「Design Center」の使い方を紹介します。

今回のトピック

Design CenterでAPI仕様を作成してみよう。

API仕様作成に使用する言語

API仕様作成には、以下の言語を使用します。

  • RESTful API Modeling Language (RAML) バージョン 0.8 または 1.0
  • OpenAPI specification (OAS) バージョン 2.0 または 3.0
API仕様作成手順
  1. Anypoint Platformで「Design Center」をクリックします。
    f:id:flect-kamatani:20210909223047p:plain
  2. Design Centerで「Create new」> 「New API Spec」をクリックします。
    f:id:flect-kamatani:20210909223138p:plain
  3. New API Spec画面で、API仕様の作成方法を選択します。
    ・”I'm comfortable designing it on my own”を選択すると、フリーフォーマットでのAPI仕様作成が可能です。
    ・ ”Guide me through it”を選択すると、ガイドに従ったAPI仕様作成が可能です。 今回は、”Guide me through it”を選択したときを説明します。
    f:id:flect-kamatani:20210909223753p:plain
  4. ガイドに従い、入力します。
    f:id:flect-kamatani:20210909224501p:plain
    作成手順については、以下も参照してください。 docs.mulesoft.com

次回は、引き続きDesign Centerの使用方法を紹介したいと思います。

本記事で、少しでもMuleSoftに興味を持って頂けたら幸いです!

Amazon Chime SDKアプリで映像データ転送量を削減するアイデア -Among Us Auto Mute-

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

前回の記事では、Amazon Chime SDK for javascript(Amazon Chime SDK JS)を用いて、"Among usをAuto Muteする機能"と"ゲーム画面を配信する機能"を持つゲーム実況システムを構築する方法についてご紹介しました。

前回のシステムでは、最大15名のユーザのゲーム画面をリアルタイムに配信します。このため、映像を受信する側にはそれなりのネットワーク帯域が前提とされます。また、受信するデータの総量も増えるため今どきの言い方(?)でいうと、長時間使用すると「ギガ」が枯渇しやすくなるとも言えます。さらに、受信した分だけ映像をデコードする必要があるためブラウザのCPU負荷が大きくなります。

今回は、このように多くの映像データを配信する際に、ネットワークの帯域やCPUが制限されるユーザでも映像を受信して表示できるようにするためのアイデアをご紹介したいと思います。

下図はアイデアを動かした結果です。赤矢印の部分が受信データ量です。4.4Mbpsから1.6Mbpsに削減できていますね。

Screenshot from 2021-08-16 05-42-49

demo in youtube

続きを読む

MuleSoft:Anypoint PlatformのAnypoint Visualizerで何ができるの??

みなさまこんにちは、CI事業部の釜谷です。

フレクトでは、2020年度からMuleSoftに注力しています。
MuleSoftに興味のあるそこの貴方!是非フレクトにご相談ください!!

今回は、以前紹介したAnypoint Platformの機能の1つ「Anypoint Visualizer」について、紹介したいと思います。

Anypoint Visualizerでできること
  • アーキテクチャ視覚化

    • Muleアプリケーションネットワークのトポロジ(システムやMuleアプリケーションなどをノードで表示)を確認できます。
      f:id:flect-kamatani:20210814232732p:plain
      Anypoint Visualizer:アーキテクチャ視覚化
      ※矢印元ノードは矢印先ノードを呼び出す、を表現しています。

  • トラブルシューティング視覚化

    • Muleアプリケーションごとのメトリックスが視覚的に確認できます。
      f:id:flect-kamatani:20210814232335p:plain
      Anypoint Visualizer:トラブルシューティング視覚化
      ※例として、Muleアプリケーションごとのメトリックス:Avg memory utilizationを視覚化しています。

  • ポリシー視覚化

    • Muleアプリケーションごとに設定されたポリシーが視覚的に確認できます。
      f:id:flect-kamatani:20210814230741p:plain
      Anypoint Visualizer:ポリシー視覚化
      ※例として、Muleアプリケーションごとのポリシー:Rate Limiting, Spike Controlの適用状況を視覚化しています。

次回は、Design Centerの使用方法を紹介したいと思います。

本記事で、少しでもMuleSoftに興味を持って頂けたら幸いです!

Demonstrating the effect of text pre-processing using fastText classification for the Japanese language

This is Shuochen Wang from Flect research lab. Today I am going to focus on the NLP task for the Japanese language. Specifically I am going to demonstrate:

  1. How to use fastText for text classification

  2. The effect of text preprocessing and for text classification.

Table of contents

  • Introduction
    • What is text classification?
    • What is fastText classification?
    • Corpus material
  • Pre-processing
    • Grouping the data
    • Remove hyperlink
    • Word Segmentation
    • Append labels to the file
    • Removing stopwords and numericals
  • Training the model
  • Conclusion
  • Future work
  • Appendix

Introduction

Natural Language Processing (NLP) allows machines to break down and interpret human language. It is used in a variety of tasks, including text classification, spam filter, machine translation, search engine and chatbots.  

What is text classification?

To put it simply, text classification is type of NLP task that classifies a set of predefined categories to any text. It is a type of supervised learning.

続きを読む