• 検索結果がありません。

スマートフォン端末間通信を用いたAR言語翻訳アプリケーションの開発

N/A
N/A
Protected

Academic year: 2021

シェア "スマートフォン端末間通信を用いたAR言語翻訳アプリケーションの開発"

Copied!
36
0
0

読み込み中.... (全文を見る)

全文

(1)

1

令和2年度

修士論文

スマートフォン端末間通信を用いた

AR

言語翻訳アプリケーションの開発

指導教員 弓仲 康史 准教授

群馬大学大学院理工学府

理工学専攻

電子情報・数理教育プログラム

情報通信システム分野第

3 研究室 弓仲研究室

T191D080 MEAS CHANSOVANVOLEAK

(2)

2

目次

第1章 序論 3 第2章 開発環境の構築 5 2.1 Unity 5 2.2 AR 技術 6 2.3

AR

エンジン 7 2.4 ARCore 7 2.5 開発環境 8 第3章 Language Translator 9 3.1 Language Translator の特徴 9 3.2 Language Translator の主なスクリプト 10 3.3 Language Translator の機能 10 第4章 AR 仮想黒板パネルへの Language Translator アセットの適用 11 4.1 付箋の作成パネル 11 4.2 LT パネル 12 4.3 翻訳テキストの貼り付け機能 12 第5章 開発したアプリケーションへのリアルタイム通信 15 5.1 Unity Multiplayer 15 5.2 位置情報の共有 16 5.3 AR 黒板と付箋の共有 18 5.4 通信機能搭載の仮想ボードシステムへの翻訳システムの導入 18 第6章 複数言語の分離表示 20 第7章 Vuforia による画像マーカー認識と情報表示 22 7.1 Vuforia を用いた AR(画像マーカー式) 22 7.2 Vuforia を用いた画像マーカー認識と情報表示 27 第8章 結論 33 参考文献 34 謝辞 35 研究業績 36

(3)

3

1章

序論

近年、人工知能やビックデータ、IoT の普及に伴い、それらを活用した新たな仕事を 創出可能な人材育成を目的として、義務教育現場における積極的かつ効果的なタブレ ットやスマートフォンのICT 導入が求められている。例えば、文部科学省では、2020 年頃を目途に、教育の情報化を目的とした一人一台のタブレット端末の教育現場への 導入を目指している(1,2) このような背景から本研究では、教育現場への ICT 導入対象として、アクティブラ ーニングに着目し、スマートフォンやタブレット端末を用いた ICT アプリの開発を検 討することとした。 アクティブラーニングは、従来の教員による一方向的な講義形式の教育とは異な り、生徒間でのグループディスカッション、グループワークにより、「知識の定着」 や「知識活用による課題解決型の能動的学修」を目的とした生徒の主体的な学びを促 す授業形態として導入が進んでいる。 しかしながら、アクティブラーニングには情報共有と可視化に起因する課題が 2 つ 存在する。一つは、グループワークは各グループ内では議論がなされるものの、グル ープ間での意見の交換が困難であることである。もう一つは、指導教員が全グループ の議論の内容や進捗状況の確認するために、各グループを巡回する必要がある点であ る。 一方で、近年のグローバル化により、教育現場では、複数の多様な言語に起因する 問題点が存在する。具体的には、異なる言語での意思の疎通が困難であることにより 他の言語を話す人たちとのコミュニケーションの機会が少なくなってしまうことであ る。これにより、言語の壁によりお互いの文化への理解が浅くなる。これらの問題に より、他の言語より修得が難しいとされる日本語が障壁となり、日本への留学意欲の 減退が予想される。 本研究では、このような背景に基づき、言語が異なる学生同士における効果的なコ ミ ュ ニ ケ ー シ ョ ン の 実 現 を 目 的 と し 、 ス マ ー ト フ ォ ン 端 末 間 通 信 を 用 い た AR(Augmented Reality:拡張現実)による言語翻訳アプリケーションを開発すること を目的とする。

(4)

4 まず、スマートフォン端末を利用し、視覚的に情報共有可能なアクティブラーニン グへの適用を検討し、次に複数の言語間におけるディスカッションが可能となるよう 試みた。具体的には、入力した言語を他の言語に翻訳し、他の端末に表示可能とし た。さらに、AR マーカーを用いて、登録した画像に関連する情報を多言語で表示する ことにより、異文化交流に役立つアプリケーションの開発を行った。 本論文は以下のように構成される。 第1章は序論であり、本研究の背景、目的について述べる。 第2章は、開発環境の構築について述べ、Unity、AR、AR エンジン、ARCore、開発 環境の概要について述べる。

第3章は、Language Translator について述べ、Language Translator の特徴、 Language Translator の主な3つスクリプトの概要を述べる。 第4章は、AR 黒板への Language Translator の導入について述べ、付箋の作成パネ ル、Language Translator パネル、翻訳テキストの貼り付け機能について述べる。 第5章は、開発したアプリケーションのリアルタイム通信について述べる。 第6 章は、端末に表示される複数言語を分離して表示する手法について述べる。 第7章は、Vuforia を用いた画像マーカー認識による説明表示システムについて述べる。 第8 章は結論であり、本論文をまとめる。

(5)

5

第2章

開発環境の構築

本章では、システムを構築する開発環境として、Unity をはじめ、基盤技術となる AR 技術および、開発プラットフォームである ARCore について、それぞれ概要を述べ る。

2.1 Unity

Unity は米国の Unity Technologies が提供するゲームエンジンであり、日本法人は ユニティ・テクノロジーズ・ジャパン合同会社である。ゲーム開発では世界シェアナ ンバー1 を誇り、最も使われているゲームエンジンである。 ゲームエンジンとは、ゲームを簡単に作るための支援ツールのことである。コンピ ュータゲームに必要な映像や音などの処理を行い、開発を効率化できるソフトウェア を指す。機能に制限はあるものの、一部のゲームエンジンは無料で配布されているも のもあり、個人でも簡単にゲームを制作できるようになった。Unity にも、利用条件 に当てはまれば使用できる無料のライセンスプランが用意されている。 無料のライセンスもあるUnity には、ゲームエンジンとして以下の特徴を有する。 1 マルチプラットフォーム Unity を使えば、モバイルやデスクトップ、ゲーム機、Web などに出力してプレ イが可能である。例えば、モバイル向けプラットフォームではiOS や Android、 Windows Phone、Fire OS、デスクトップ向けならば Mac や Windows、Linux、 コンソールゲーム機向けならばXbox や PS3、PS4、PlayStation VITA、WiiU、 そのほかVR/AR や Smart TV などにも幅広く対応している。 2 ノンプログラミング 簡単な3D ゲームの制作の場合、プログラミングの必要はない。これまで初心者 には困難とされてきた3D ゲームの開発も、キャラクターを自由に動かしたり、 ゲームステージを設置したりと専門知識がなくても、比較的容易にロジックを実 装できるように設定されている。 JavaScript、C#、Boo などのプログラミング言語を使えば、さらに高度な開発や カスタマイズも可能である。 3 2D、3D の両方に対応

(6)

6 Unity は 2D ゲーム、3D ゲームの両方に対応している(図 2-1)。PS4 のグラフィッ ク重視のゲームなどは 3D、スマートフォンのソーシャルゲームでよく使われるの は 2D である。2D ゲーム用の物理エンジンやスプライトなどの機能も強化され、 さまざまな種類のゲームを作成できる。

2-1:Unity を用いたシステム開発の様子

2.2 AR 技術

AR とは、Augmented Reality の略であり、拡張現実と呼ばれている。AR は、 現実世界からの情報を元にデジタル情報を重ね合わせ、視覚的に現実を拡張した 表現可能にする。画像や周辺の空間を認識し、現実の映像とデジタル情報を合成 した映像をリアルタイムにディスプレイ上に表示する(図 2-2)。AR は、広告・プ ロモーションでの利用から広がり、近年では産業分野での利用も拡大している。 AR とはコンピュータの力で、見えないものが見えるようになる技術である。 このように、AR は、カメラを通して見える現実世界の情報に、デジタル情報を 付加する技術である。現実世界をデジタル情報で拡張し、新たな空間を生み出す。 図2-2:

AR(拡張現実)の仕組み

(7)

7

2.3 AR エンジン

AR を実現するための基本的なソフトウェアである AR エンジンは、現在、複数の会 社によって開発されており、それぞれの性能や出来る事が異なる。また、これらはソ フトウェアのライブラリやSDK として提供されている。利用範囲により有償・無償 まで様々な形態が存在している。

AR エンジンは ARKit, ARCore, ARToolKit の3つがある。本研究では、ARCore を 用いた。以下では、このARCore についての概要を述べる。

2.4 ARCore

ARCore は、Google が提供する開発者向けの AR フレームワークである。このフ レームワークを使用したAR アプリは、深度センサーなどの追加ハードウェアを必 要とせず、一般的な Android デバイスで、モーショントラッキングや水平面、垂 直面の検出などのAR に必要な機能を実現する。現在は限られた端末でのみ利用可 能だが、将来的には全世界で1億を超える Android デバイスに対応予定である。 最新版では、iOS にも対応し、OS を超えて複数の端末で同時に体験する事を可能 としたAR クラウドも実現可能になる。 ARCore ではカメラと IMU センサー(慣性計測装置)を使って、次の情報を得ること が出来る。 ① モーショントラッキング:カメラの画像を分析して物体の表面とする場所にマー クを付け、座標を使って3D 空間上に立体的な像を検出する(図 2-3)。 図2-3:モーショントラッキング ② 水平面の検出(認識):ARCore ではカメラの映像と IMU センサーを使用して水平 面を検出し、自由に物やキャラクターなどを配置することが出来る(図 2-4)。

(8)

8 図2-4:水平面の検出(認識) ③ 光源の推測(環境光):カメラによって全体の明るさを数値で検出することが出来 る(図 2-5)。 図2-5:光源の推測(環境光)

2.5 開発環境

本研究のシステム開発においては、ソフトウェアプラットフォームに ARCore (SDK-v1.6.0)、ゲームエンジンに Unity2018.1.6f1、ARCore の動作環境に求められる Android のバージョン 7.0 以降のスマートフォンとして ZenFone AR、並びに以下のス ペックのPC を使用した。

▶ IDE: Microsoft Visual Studio Community 2017 ▶ 言語: Visual C#

▶ CPU: Intel Core i7-4790K ▶ OS: Microsoft Windows 10 ▶ メモリ : 32GB

(9)

9

第3章

Language Translator

翻訳機能の実現には、無料で入手可能なUnityのアセットの「Language Translator」 を用いた(図3-1)。アセットとは、他の人が作ったアプリケーションの部品である。 Unity には自分で作ったアセットを販売できる store があり、誰でも簡単に利用するこ とができる。LT もそのアセットの一つである。 図3-1 Language Translator 翻訳アセット

3.1 Language Translator の特徴

Language Translator の特徴は、以下の通りである。 • 30 言語を翻訳できる。 • API を使用して言語の追加可能。 • Android 端末で実行するにはインターネットアクセスが必要である。 • Google 翻訳よりも精度が低く速度が遅い。

(10)

10 • プログラミング言語:C#

• 言語翻訳用の API を使用(JSON レスポンスを返して翻訳)。

入力された文字データをAPI で JSON response に送信し翻訳を行う。翻訳された データはAPI で出力に送信される。

3.2 Language Translator の主なスクリプト

Language Translator は主に以下の3つのスクリプトによって構成されている。 1 ButtonFunction:アプリケーションを終了するには「Exit」ボタンを用いる。 2 InputTextChangeManager:新しい翻訳のために入力フィールドのテキストを リセットする 。 3 TranslateAPI: API と通信しているメソッド。

3.3 Language Translator の機能

Language Translator の GUI を図 3-2 に示す。まず GUI 左上のドロップダウン で入力言語を 30 言語から選択する。同様に右上のドロップダウンで出力言語を選 択する。続いてInputField に文章を入力し、Enter を押すと翻訳結果 InputField の下の枠に表示される。

(11)

11

第4章

AR 仮想黒板パネルへの Language Translator アセットの適用

4.1 付箋の作成パネル

同じ研究室の共同研究者である田賀井さんが開発した仮想黒板パネルアプリケーシ ョンにTranslator のアセットを適用した。まず、翻訳と音声入力のボタンを追加した (図4-1)。 図4-1: 付箋の作成パネル

(12)

12

4.2 LT パネル

次に、Language Translator アセットを変更し、仮想ボードシステムに導入した。 Exit ボタンを OK ボタンに変更した。OK ボタンを押すと翻訳結果を付箋に表示する 準備が完了する。また、LT パネルには×ボタンを追加した。×ボタンを押したときに は付箋の生成準備はせず、パネルだけ閉じる仕様である(図4-2)。 図4-2: 変更した翻訳パネル

4.3 翻訳テキストの貼り付け

床認識とボードの生成処理を①~②に、本研究で開発した翻訳システムの処理の流 れを③に示す。 ①床認識 スマートフォンを床が見える方向に向けながら周囲を歩き、環境認識を行う。床を 検出するとメッシュが生成される。 ②ボードの生成 ボードボタンをタップすると、ボードの設定画面が表示される(図 4-3)。「ボードの 番号」と「班名」を選択、「班員の名前」を入力し、OK ボタンをタップするとボー ドの生成準備が完了する。この状態で、床に生成されているメッシュをタップすると、 タップした位置にボードが生成される。本ボードは環境認識によりアンカーで固定さ れており、ユーザーが移動しても、仮想空間内で設置した位置に表示され続ける。

(13)

13 図4-3 黒板の生成パネル ③翻訳システム 付箋の作成をクリックし、「付箋の作成パネル」が表示される(図 4-4)が表示される。何 も書かずに翻訳ボタンを押すと、翻訳パネルが開く(図4-5)。

図4-4 付箋の作成パネル 図 4-5 LT パネル 自分の入力する言語と表示したい言語をドロップダウンより 30 言語から選択し、 InputField に文章を入力する。翻訳結果は約 1 秒後に InputField の下に表示される (図4-6)。そして OK ボタンを押すと、翻訳結果を付箋に表示する準備が完了する。 最後に、ボードをタップすると翻訳結果が書かれた付箋を貼り付けることが出来る (図4-7)。

(14)

14

図4-6: 翻訳結果が表示されたパネル

(15)

15

第5章

開発したアプリケーションのリアルタイム通信

4 章のシステムでは翻訳結果を表示することは出来たが、自分のスマートフォンで しか見ることが出来ないと共に、一つの言語でしか表示されないため、他の言語の留 学生とコミュニケーションをとることが出来ない。 そこで研究室で過去に田賀井さんが開発した通信機能を搭載した仮想黒板システム に対して、翻訳システムの導入を行い、複数のスマートフォンでの翻訳結果の共有を 試みる。また、入力した言語と翻訳した言語の両方を付箋に表示させることにより、 留学生と日本人がコミュニケーションをとれるように開発を行った(図 5-1)。 図5-1:入力した言語と翻訳した言語の両方を表示する付箋 通信機能を搭載した仮想黒板システムの仕様を以下に示す。なお、アプリ上で作成 したAnchor は GCP(Google Cloud Platform)で提供されている API を介して他の 端末と共有した。また、Anchor を複数端末で共有するための Network 部分は Unity Multiplayer を使用した。

5.1 Unity Multiplayer

Unity Multiplayer とは、Unity でマルチプレイヤー向けのゲームを最も簡単に作成 するための仕組みである。Unity Multiplayer では、すばやくネットワーク機能のプロ トタイプを作成し、実装できるように一般的なコンポーネントのワークフローを用い る。低レベル API では、Unity マルチプレイヤーのコアフレームワークへのアクセス

(16)

16 権が与えられるため、自らに必要なネットワーク環境向けにゲームを最適化すること ができる。

5.2 位置情報の共有

本システムでは 1 人のプレイヤーがサーバーとクライアントを兼ねたホストとなり、 それ以外のプレイヤーはクライアントとする方式で通信を行う。通信用の GUI は ARCore のサンプルをもとに、メッセージテキストやアイコンパネルを追加したもの である(図5-2)。 図5-2:通信用 GUI ホスト側の処理を①~③に、クライアント側の処理を④~⑥に示す。 ①Room の作成 ホスト側でプラスボタンをタップすると、初期値の0000 以外の 1~9999 の RoomID が発行される。 ②空間認識 Cloud Anchor を登録する前段階として、周囲にスマートフォンをかざして空間認識 を行う。CloudAnchor の位置と Point Cloud などの周囲の空間情報をセットで登録し、 同じ空間を他のデバイスで検知することでCloudAnchor の位置を推定できる。

(17)

17 ③CloudAnchor の Hosting

Hosting とは、CloudAnchor API に CloudAnchor を登録することである。空間認識 と同時に床認識ができた部分にメッシュが生成される。そのメッシュをタップして Anchor のオブジェクトを生成する(図 5-3)。

図5-3:Anchor のオブジェクト

このときRoomSharingServer のプログラムにて、RoomID と CloudAnchor が Dictionary に登録され、保持される。 ④Room の接続と空間認識 続いて、ホストが作成したRoom に接続し、クライアント側でもホストと同じ手順 で空間認識を行う。Hosting で検知した空間と同じ場所を検知させてから以降の処理 を行うことで、スムーズにResolving ができる。 ⑤CloudAnchor の取得

ホスト(サーバー)が Dictionary に保持している Cloud Anchor の CloudID の取得を 試みる。この時サーバーはメッセージから RoomID を取り出し、RoomID に紐付く Cloud Anchor が Dictionary に存在するか参照し、見つかったら Anchor の CloudID をメッセージに乗せて、Request を送ってきた Client だけに送り返す。

⑥CloudAnchor の Resolving

サーバーがHosting した CloudAnchor ID から Cloud 上に登録された情報を取得す る。これにより、Client で Host と同じ位置に Anchor のオブジェクトが復元でき、位 置情報の共有が実現される。この後に生成したオブジェクトは、共有したAnchor のオ ブジェクトの座標を用いて座標を変換することで、同じ位置に置くことが可能となる。

(18)

18 5.3 AR 黒板と付箋の共有 次に AR 黒板と付箋の共有を検討する。先ほどの機能により、位置情報の共有は可 能となったが、この状態では付箋の文字や色の情報は共有されないため、これらの情 報をホストとクライアントで送りあう必要がある。情報の通信にはUnity Multiplayer の機能のCommand と ClientRPC を用いる。 付箋を共有する際の処理を例に挙げる。まず、第 4 章で記した仮想黒板システムと 同様にクライアント側で付箋に表示したい文字を入力し、付箋の色と文字の色を選択 する。情報のやり取りはOK ボタンを押したときに始まる。OK を押すと、Command によりクライアントからホスト(サーバー)に付箋の座標や色、文字の情報が送信さ れる。ホストはClientRPC にて各クライアントに受け取った情報を送信する。そして、 すべてのクライアントとホストで受信した情報をもとに付箋を生成することにより、 同じ位置に同じ付箋を確認することができる。これにより、他のグループと議論内容 の共有が実現できる。 5.4 通信機能搭載の仮想ボードシステムへの翻訳システムの導入 スクリプトを修正し、Command で文字列をサーバーに送る時に、入力した文字と 翻訳した文字の両方をサーバーに送るようにした。これにより付箋に入力言語と出力 言語両方表示されるようになった。付箋には、打ち込んだ入力言語は下に表示し、翻 訳された出力言語は上に表示される。 しかしながら、黒板に入力言語と出力言語両方表示した付箋を表示させるには、先 に適当にテキストを入力した付箋を作成し、その付箋を黒板に貼り付けている必要が あった(図5-4)。これに対し、先に付箋を貼り付けておき、翻訳パネルの OK ボタ ンを押し、貼ってある付箋をタップすることで入力言語と出力言語両方されるように なった(図5-5)。

(19)

19 図5-4 適当な付箋 図 5-5 適当な付箋をタップした後 この原因として、翻訳パネルのOK ボタンとプログラムの紐づけが上手くいってい なかったことがあげられる。翻訳パネルのOK ボタンを押しても新しく付箋を生成す ることが出来ず、文字列だけがすでに貼り付けられていた付箋に反映されていたので ある。 そこで、翻訳パネルのOK ボタンを押したときに新しく入力言語と出力言語両方を 表示する付箋を生成できるようにプログラムを書き換えた。これによりあらかじめ黒 板に付箋を貼っていなくとも、翻訳パネルのOK ボタンを押して黒板をタップしたと きに入力言語と出力言語両方が書かれた付箋を貼り付けられるようにできた

(20)

20

第6章 複数言語の分離表示

本章では、異分野交流を目的として、例えば、アメリカ人には英語で表示、日本人 には日本語で表示する複数言語の分離表示の実現を検討する。 入力フィールドで日本人の端末に入力された文章だけを付箋に張り付ける、その翻訳 結果は相手に通信され、相手の端末上に英語で付箋に張り付ける。このため、図 6-1 のように、それぞれの端末には入力フィールドだけ残し、出力フィールドを見えなく する。 図6-1 複数言語の分離表示 次に、翻訳アセットが利用しやすいよう、以下のような改善を行った(図 6-2)。 ① 説明文“Choose a language”を書き入れた。 ② 従来の省略された選択言語入力言語と出力言語を Fullname で書き換えた。 例えば、 Germ は German と言語名を書き換えた。 ③ よく使われている言語を上の順番になりように並び替えた

(Japanese, English, French, Mongolian, Spanish, German, Italian) ④ 他の言語はアルファベット順で書き換えた。

(21)

21

(22)

22

7 章

Vuforia による画像マーカー認識と情報表示

本章では、これまでに開発したアプリケーションに追加して、Vuforia の画像マー カー認識機能を用い、海外の観光地などの画像にスマートフォンをかざすことによ り、関連の情報を多言語で表示させる機能の開発を行った。

7.1

Vuforia を使った AR(画像マーカー式)

Vuforia は AR 開発用ライブラリの一つであり、ARCore に対応していない Android 端 末でも AR 機能を使用可能である。さらに、新しいバージョンの Unity には機能の一 部としてあらかじめ組み込まれており、ユーザー登録することで、画像マーカー仁認 識機能を利用できる。以下でUnity から Vuforia を利用する方法を解説する。 ① Unity の準備 Unity のバージョン 2019.3.12f1 を使った場合を想定し、「3D」テンプレートから 新しいプロジェクトを作成する。 ② Vuforia の準備

図7-1 の Vuforia の Web ページ(https://developer.vuforia.com/)にアクセスし、 アカウントがまだなければ「Register」からアカウント登録を行う。その後、登録ア カウントでログインすることで、Vuforia は基本的に無料で利用可能となる。

(23)

23

③ Vuforia 画像マーカー(ターゲット)の登録 (1) データベースの作成

「Develop」のページを開き「Target Manager」を選択し、「Add Database」ボ タンをクリックする。適当な名前を入力し、「Device」をチェックして「Create」ボ タンをクリックする。

図 7-2 Vuforia のデータベース作成

(24)

24 (2) マーカーの登録

リストの中から、作成したデータベースをクリックし、「

Add Target」ボタ

ンを選択すると図

7-3 のウィンドウが開くので、以下のように必要項目を設定

し、「

Add」をクリックしマーカーの登録を行う。

Type:「Single Image」を選択

File:別に用意した画像ファイルを指定

Width:マーカーの Unity 上でのサイズ(m 単位)を指定

Name:Vuforia 上でのマーカーの管理名を指定

図 7-3 マーカーの登録 この例では、画像としてカンボジアのAngkor Wat を用いた。

(25)

25

(3) Unity 用データベースのダウンロード

マーカーが追加されたのを確認して、「Download Database (All)」をクリックする。

Unity Editor」をチェックして「Download」をクリックすると、Unity 用デ

ータベースパッケージがダウンロードされる

(図 7-4)。

(26)

26

④ Vuforia キーコードの取得

「License Manager」に切り替え、「Get Development Key」をクリックする。 「License Name」欄に適当な名前を入力し、チェックを入れて「Confirm」をクリッ クすると、図7-5 のように Unity 用の Vuforia キーコードが表示される。

(27)

27

⑤ Unity プロジェクトの編集

Unity プロジェクトのヒエラルキーウィンドウに最初から入っている「Main Camera」は削除しておく。また、[ファイル]メニューの[ビルド設定]で、ターゲット をAndroid に変更(選択して「Switch Platform」をクリック)する(図 7-6)。

図7-6 Unity でのプログラム開発の様子

7.2

Vuforia を用いた画像マーカー認識と情報表示

Vuforia により、図 7-7 のように、マーカーとして登録した写真を認識して、Cube オブジェクトが表示されるようにプログラムを作成した。これにより、マーカー認識 できていることを確認した。次に、このCube にかわり、認識した写真の説明を多言 語で表示することを目的として、Text 文字への表示変更を行った。

(28)

28

図7-7 Angkor Watの画像をマーカーとして認識した例

図7-8 にマーカー認識後にフランス語テキストで説明文が表示されている様子を示す。

(29)

29 図 7-9 解説文のフランス語と英語表示切り替え機能 さらに、解説文のフランス語と英語表示切り替え機能を追加した。これにより、図 7-9 のように、フランス語と英語双方で解説文を表示することが可能となった。 次に、日本語による解説を可能とするために、TextMeshPro に日本語フォントの導 入を行った [8]。日本語はデフォルトでTextMeshPro に対応していないため、文字化 けしてしまった。そこで以下のような日本語フォントの導入により、解決を行った。

(1)Font asset creator

TextMeshPro では ttf や otf などの日本語フォント形式ではなく、独自の形式で保存さ れたasset を扱う。Text Mesh Pro にはデフォルトで Arial,Bangars,Impact の 3 種類のフ ォントのasset が含まれているが、日本語フォントなどを使うときは font asset creator と いうツールを使用して、ttf や otf から専用の asset を生成する必要がある。

(2)Font asset creator の使用方法

Unity に TextMeshPro が 追 加 し て あ る 前 提 で 、 メ ニ ュ ー か ら Window->TextMeshPro - Font Asset Creator を選択する(図 7-10)。

(30)

30

図7-10 Font asset creator

ここで、それぞれの設定項目を説明する。

font source

元となる日本語

font(Unity にインポートされた ttf か otf)を選択。

font size

Auto Sizing だと時間がかかるため、Custom Size を選択する。値は 48 程度。

font padding

5 で設定する。

Packing Method

Fast

Atlas Resolution

デフォルトの

512*512 だと日本語全体が収まりきらなため、4096*4096 に変

更する。

(31)

31

Character Set & Custom Range

ascii・ひらがな・仮名・よく使う漢字を全て登録したい場合は Character Set

を「

Custom Range」に変更し、Custom Range(Dec)に更新する。

Font Style

デフォルトのまま。

Font Render Mode

試しで生成してみる場合は

Hinted Smooth を選択すると生成が速い。本番用

のファイルを生成する場合は

Distance Field 16 などを選択。

Get Kerning Pairs

チェックを外して

OK

(3)TextMeshPro オブジェクト作成

以上の日本語フォントの導入後、

Text Mesh Pro のオブジェクトを配置する。

メニューの

GameObject->3D Object->Text Mesh Pro でオブジェクトを作成

し、

Inspector の Font Setting->Font Asset で先ほど作成した asset を指定す

る。

以上の手順に従って、

TextMeshPro に日本語フォント導入したことにより、

日本語表示機能を実現した。さらに、複数のマーカーを同時に検出し、それぞ

れの説明文を同時に表示することも可能とした。その例を図

7-11 に示す。3つ

のマーカーとなる写真を認識し、それぞれの説明文が表示されている。それら

の説明文は英語、フランス語、日本語での表示切り替えが可能である。

(32)

32

7-11 複数のマーカー同時認識と英語、フランス語、日本語表示

機能の実装例

(33)

33

8 章

結論

本研究では、グループワークの情報共有、および可視化による進捗把握を目的とし たICT 教材として、スマートフォン端末間通信を用いた AR 言語翻訳アプリの開発を 行った。その結果、異なる言語の学生間の効果的なコミュニケーションを実現した。 さらに、視覚的に情報共有可能な Active learning の実現と複数の言語間における discussion の実現ができた。特に、複数端末によって表示される言語の分離を実現し、 異なる言語でのコミニケションという多文化交流に有効なシステムを実現した。 また、Vuforia の画像マーカー認識機能を用いた異文化説明アプリを開発した。観光 地などの写真をスマートフォン端末で読み取るとることにより、関連する説明文を英 語、フランス語で表示する機能を実現した。さらに、英語のアプリに日本語フォント を導入し、日本語のテキストも表示可能とした。これにより、同時に複数の写真をマ ーカーとして認識し、各写真に関連する情報を多言語で表示可能とした。

(34)

34

参考文献

[1] 【 入 門 者 必 見 】 Unity と は ? 意 味 や 特 徴 、 特 性 、 使 い 道 を 徹 底 解 説 https://techacademy.jp/magazine/9296 https://hnavi.co.jp/knowledge/blog/unity/ [2] 文部科学省「教育の ICT 化に向けた環境整備 5 か年計画」 http://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1402835.htm [3] 文部科学省「次期学習指導要領を見据えたICT環境整備を進めましょう!」 http://www.mext.go.jp/a_menu/shotou/zyouhou/detail/__icsFiles/afieldfile/2018/04/ 06/1403502_1.pdf [4] OCR とは~業務効率ツールとして注目| リコー (ricoh.co.jp) https://www.ricoh.co.jp/service/cloud-ocr/column/ocr/ [5] OCR とは メディアドライブ NTT DATA 株式会社 NTT データ NJK OCR | OCR とは | メディアドライブ (mediadrive.jp)

[6] Offline OCR using Tesseract in Unity Part 1 | by Neelarghya | XRPractices | Medium

https://medium.com/xrpractices/offline-ocr-using-tesseract-in-unity-part-1-b9a717ac7bcb

[7]【Unity】Vuforia を使った AR(画像マーカー式)の作り方|ak_schweitzer|note https://note.com/ak_schweitzer/n/nf08be168884c

[8] Unity の Text Mesh Pro アセットで日本語を使うときの手順 - Qiita https://qiita.com/thorikawa/items/03b65b75fa9461b53efd

(35)

35

謝辞

本研究を実施するにあたり、テーマの決定、資料の読み方、研究の考え方、研究方 法、まとめ方など全てにおいて、長期にわたって熱意のあるご指導していただいた、 弓仲 康史先生に御礼申し上げます。特に分析においても論文の書き方においても私の 論文を、何度も読んでいただき、指導していただいた弓仲先生に大変ご苦労をかけて しまいましたことに心よりお詫びを申し上げます。また、主査の本島邦行教授、副査 の伊藤直史准教授、また、副指導員の高橋俊樹准教授に適切なご指導を賜りましたこ とを感謝いたします。 そして、研究室の同級生と先輩方々はいつも研究のことについて説明や意見などを いただき、心から感謝しております。 また、日本で充実した生活を送ることできたのは経済的に応援してくれた日本の文 部科学省とロータリー米山記念奨学会のお陰です。心から深く御礼申し上げます。今 後も一層精励して所期の目的を達成されるように、頑張っていき、日本とカンボジア の架け橋として活躍していきたいと思っております。 最後に、精神的に応援してくれた友人と家族に感謝の意を表します。ありがとうご ざいました。 令和3 年 3 月

(36)

36

研究業績

[1]

Chansovanvoleak Meas, Kana Tagai, Yasushi Yuminaka, Yuki Aoki, Augmented Reality Translator Utilizing Inter-Device Communication, International Conference on Technology and Social Science 2020 (ICTSS2020), Kiryu, Gunma, Japan, 2020, Dec 3rd

[2]

Chansovanvoleak Meas, 田賀井 佳奈、“スマートフォン端末間通信による複数 言語翻訳とAR 表示で留学生を笑顔にしよう!”、NICT 多言語音声翻訳コンテ スト、2019 年 12 月 14 日に書類選考を進み、ステージで最終選考発表

図 3-2 Language Translator の機能
図 4-6: 翻訳結果が表示されたパネル
図 5-3 : Anchor のオブジェクト
図 6-2  翻訳アセットの改良(左:オリジナル、右:改良後)
+7

参照

Outline

関連したドキュメント

ところが,ろう教育の大きな目標は,聴覚口話

この 文書 はコンピューターによって 英語 から 自動的 に 翻訳 されているため、 言語 が 不明瞭 になる 可能性 があります。.. このドキュメントは、 元 のドキュメントに 比 べて

長尾氏は『通俗三国志』の訳文について、俗語をどのように訳しているか

長尾氏は『通俗三国志』の訳文について、俗語をどのように訳しているか

JTOWER は、 「日本から、世界最先端のインフラ シェアリングを。 」というビジョンを掲げ、国内外で 通信インフラのシェアリングビジネスを手掛けて いる。同社では

日本語で書かれた解説がほとんどないので , 専門用 語の訳出を独自に試みた ( たとえば variety を「多様クラス」と訳したり , subdirect

すべての Web ページで HTTPS でのアクセスを提供することが必要である。サーバー証 明書を使った HTTPS

入力用フォーム(調査票)を開くためには、登録した Gmail アドレスに届いたメールを受信 し、本文中の URL