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

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

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.

続きを読む

AR Remote Instructions base on ARKit Part 2

研究開発室の馮 志聖(マイク)です。 Following the previous article: AR Remote Instructions base on ARKit

cloud.flect.co.jp

This time we will further discuss and explain in detail how to share 3D virtual objects.

Content

  • Content
  • Introduction
  • 3D objects on AR Remote Instructions
    • Purpose
    • System Overview
    • Issue
    • Solution
    • Demo
    • Evaluation
  • Conclusion
  • Future work
  • Other
  • Reference
    • ARKit
    • ARPaint
    • 3d Scanner App™

Introduction

The development of science and technology and the popularization of the Internet have brought many conveniences to people, especially the distance is no longer a barrier between each other. Due to the epidemic, the popularity of remote work has been accelerated. Video chat tools are often used in remote meetings, but the scope of applications is still limited, such as:

Case 1: In the factory. In the case of machine equipment failure, a maintenance person cannot arrive immediately because of remote work. When they try to remote maintenance use video chat on guide maintenance. They are impossible to grasp the damage of the equipment in detail, which will increase time and maintenance costs. If they use the AR remote instructions application to scan the target machine, it will have a 3d object with a good structure of the machine. Also sharing this 3d object with the maintenance person. The maintenance person can share the drawing of the mark on 3d object. It will improve this problem.

Case 2: In the field of interior design. The client wants to know whether the designer's work is suitable for his environment. In the absence of any environmental data file where the client is located, the designer only uses video chat, unable to observe the differences and details in detail. If they use the AR remote instructions application to scan the target area(like room or kitchen, etc...) or product(like chair or table, etc...), it will have a 3d object with a good structure and material of the target area or product. Also sharing this 3d object with the designer or client. The designer can add the product to 3d object of the target area, and design its style. The client can add the product to 3d object of the target area, and know whether the designer's work is suitable for his environment. It will improve this problem.

At present, only two cases are cited. Generally speaking, there may be more other cases. Based on various restrictions, we hope to develop software that can break through these restrictions.

続きを読む