インターンシップレポート
インターンシップレポート

インターンシップレポート

2015年1-3月にインターンシップを開催しました。そのうち、3月17日から実施した回についてWEBレポートとしてお知らせいたします。

HEADLINE

REPORT:1 体験して学ぶ選択コース

Oculus Riftコース(3日間)

コース名
【3D-HMDに触れて学ぶ!3日間でソフト開発の流れを体験】
コース概要
3Dヘッドマウントディスプレイ(Oculus Rift DK2)を用いた開発体験。
「Oculus Riftの利便性向上」というテーマでOculusの課題点を検討。
学生がみずからゴールを設定し開発体験を行う。
参加者
近畿大学 学部3年Yさん
東京工業大学 修士1年Mさん
REPORT:1 Oculus Riftコース(3日間) 3Dヘッドマウントディスプレイ”Oculus Rift”

形状処理コース(3日間)

コース名
【数学×プログラミングの可能性 -エンジニア上級-】
コース概要
エリジオン技術の核である「形状処理」プログラム開発を体験するコース。
今回は平面空間上に存在する座標点の集合(点群データ)を取り扱う。
機能を実現するためのアルゴリズムの調査・選定から機能の実装・改良までを行う。
参加者
東京大学 修士1年Kさん
REPORT:1 形状処理コース(3日間)

REPORT:2 一連のソフト開発業務を体験

PROGRAM

[1日目]各コースで必要な基礎知識の学習から始まりました。


OculusコースではVR機器について、映像が立体的に見える仕組みや、3Dヘッドマウントディスプレイを長時間装着すると「3D酔い」してしまう可能性があることなどを紹介。その後OculusSDK(ソフトウェア開発キット)の使い方を、実際にコードを作成しながら習得していきました。

形状処理コースでは基本的な技術について説明をした後、開発の参考にするアルゴリズムの検討を行いました。有効そうなアルゴリズムを社員と一緒に調査し、実現性を考えながら選定していきます。

REPORT:2 [1日目] REPORT:2 [1日目]

[2日目]いよいよ本格的な実装がスタート。


YさんとMさんは当初、普段使わない言語での開発に苦戦していましたが、慣れるにしたがってスムーズに作業を進められるようになっていきました。
(お二人はJAVAユーザでしたが、Oculusコースで使用した言語はC++でした)

形状処理コースのKさんは既に機能が動作する段階に到達。しかしテストしてみると、対象データが大きいときに処理時間が膨大になってしまうことが判明。実務ではもちろん「お客様に提供」することがゴールですので、3日目に向けて改良が始まりました。

REPORT:2 [2日目]

[最終日]


開発も佳境に入り、大枠が出来上がった方から機能を作り込む段階に入っていきます。
Oculusコースのお二人はOculus画面上での見やすさを高めていきました。
実際にプログラムを動かして挙動を確認しながら作業を進めます。

形状処理コースのKさんも、改良したプログラムを色々なデータで試して
実用に耐えうるか検証。みなさん終了時間ぎりぎりまで作業を進めていました。

REPORT:2 [最終日] REPORT:2 [最終日]

REPORT:3 最終日に報告会を開催

3日間の最後には、今回のインターンシップで取り組んだことや成果を紹介する報告会を開催しました。想定しているシーンは「同僚や関係者に業務状況を伝える」という日常的な状況です。報告を受ける上司・同僚役にマネージャやゼネラルマネージャ(GM)が参加しました。皆さん慣れないことに緊張した様子でしたが、デモなども交えてしっかりと成果やふり返りを報告してくれました。
当社メンバーからも、3日間の総括としてフィードバックのコメントをお伝えしました。
3日間の指導を担当した社員からは指導の中で感じたそれぞれの長所やこれから伸ばせそうな能力、GMからはインターン内容の技術的な意義やIT業界について理解を深めていくためのアドバイスといったお話をして、皆さんの今後にエールを送りました。

REPORT:3 REPORT:3 REPORT:3 REPORT:3

REPORT:4 成果物紹介

Oculus Riftグループ

Oculusの利便性向上という方針で、Oculusの「将来像」を設定してもらい、その第一歩としての開発を行いました。

Yさん

将来像
Oculus上で他人のアバターとコミュニケーションできるようにする
成果物
他人のアバターの第一弾として、人型モデルをつくりコントローラで操作できるようにした

画面中央に作成した人型モデルが映っています。赤い箇所が胴体、緑の箇所が腕部です。 なおOculusを装着するとこの画像のように、左右に分かれた映像が両目にそれぞれ表示されて立体映像に見えます。

REPORT:4 Yさん

Mさん

将来像
自分のアバターを表示し、視界の違和感を減らす
成果物
カメラと連動する人型モデルを作成。自分のアバターとして視界に表示されるようにした

右画像の画面下部に、「腕」に相当する部分が映っています(蛍光グリーンの箇所)。 視点が移動するとアバターも連動するので、本物の腕が見えているように自然に感じられます。

REPORT:4 Mさん

[技術補足]
Oculusのデモデータセットには、肉体の立体データであるアバターを表示させる機能がありません。そのため、
・複数人で使う時、コミュニケーションを取りづらい(お互いがどこにいて何を見ているのかわからない)
・ひとりで使う時も、視界に自分の体が映らないことで違和感を感じる(これが3D酔いの原因と言われています)
などの問題が生じます。今回のような開発で機能性を向上させていくことで、Oculusを使ったソフトやゲームが実用レベルに近づいていきます。

形状処理グループ

当社の既存ソフトをプラットフォームとして、平面空間上の点群を包み込むような外周・内周を生成する機能を開発しました。

REPORT:4 [元データ(点群)][抽出した外周/内周]

<機能概要>
図では、用意された点群データ(上)に対して、それを自然に包み込むエッジ群(下)を生成しています。

2日目の時点で判明した処理時間の問題は、アルゴリズムの見直しである程度まで改善し、「点の数(=データサイズ)の3乗に比例」する状態から、「点の数の1.5乗に比例」となりました。

[技術補足]
この技術は「人間の目」をソフトが再現するというテーマにつながります。
例えば私たちは図の点群を文字として認識できますが、これはとても複雑で柔軟な判断が脳内で行われているから出来ることです。点群から輪郭を抽出することは、人間の認知を再現するには小さな一歩ではありますが、こうした技術を積み重ねていくことで、今まで人間にしかできなかったことをソフトが代わりに行えるようになる可能性があります。

REPORT:5 トピックス

突然の役員登場!

2日目、開発の様子を当社CTO(最高技術責任者)が見学しました。 突然の役員登場に、皆さん驚いた様子。 開発の進捗や目標についてなど、楽しげにお話ししていました。

REPORT:5 突然の役員登場!

若手社員とカンパイ!

ホテルにチェックイン後、若手社員を交えた懇親会を開催。
「なぜIT業界を志望したのか」といった就職活動の話から、
休日の過ごし方まで、様々な話題で盛り上がりました。

REPORT:5 若手社員とカンパイ! REPORT:5 若手社員とカンパイ!

VOICE: 参加した皆さんの声

近畿大学 Yさん

OculusなどのVR技術に興味があり、このインターンシップに応募しました。大学ではJavaを主に扱ってきたので、少しC++に苦戦しましたが、
その分いい経験になりました。担当の社員さんには、気軽に質問ができたので課題をさくさくすすめることができました。
また、3日間を通して様々な社員さんと食事をし、会社の雰囲気がフラットで楽しそうだと感じました。

東京工業大学 Mさん

他社の短期インターンの場合、企画などいわゆる「上流」の工程しか扱わないものが多かったが、エリジオンのインターンは上流から
下流まで体験できる点が良かった。開発体験にはかなり苦しんだが、まだプログラミングを理解しきれていないのかも、と実感でき、
刺激をもらえたインターンだった。もう少し長く(1週間ぐらい)講習を受けたかった。

東京大学 Kさん

課題と向き合う段階から問題解決までの一連の流れが体験出来て良かった。
特に、研究室レベルではあまり考えないような「計算量をいかにして減らすか(=処理時間をどう短くするか)」などの問題は新鮮だった。
点群に関しては初学でしたが、この3日間で理解が少しできたように思います。密度の濃い3日間でした。

皆さん充実した3日間を過ごしていただけたようです。
今後も開催していきますので、興味がある方はお気軽にお問い合わせください。

インターンシップ受付中
インターンシップ受付中

ページ上部へ