一般社団法人 電子情報通信学会
THE INSTITUTE
OF ELECTRONICS,
社団法人 電子情報通信学会
INFORMATIONAND COMMUNICATIONENGINEERS
THE INSTITUTE
OF ELECTRONICS,

信学技報
IEICE 信学技報
Technical Report
SC2018-41(2019-03)
TECHNICALREPORT OF IEICE.

INFORMATION AND COMMUNICATION ENGINEERS

顔識別センサボックスとバーチャルエージェントを活用した
スマート出退社サービスの開発
平山

孝輔†

佐伯

幸郎†

中村

匡秀†,††† 神戸大学 〒657–8501 神戸市灘区六甲台町 1–1†† 理化学研究所・革新知能統合研究センター 〒103–0027 東京都中央区日本橋 1–4–1
E-mail: †hirayama@ws.cs.kobe-u.ac.jp, ††sachio@carp.kobe-u.ac.jp, †††masa-n@cs.kobe-u.ac.jp
あらまし

顔識別機能を取り入れたアプリケーションの利用の高まりを受け，我々は様々なアプリケーションから顔識別機能を利用するための IoT デバイスである「顔識別センサボックス」の開発を行っている．しかしながら，センサボックスを利用することでアプリケーション開発者が得られるメリットについては評価できていない．そこで，今回の研究では，顔識別センサボックスの有用性に関する検証を行う．また，それに伴い，実際にセンサボックスを利用するアプリケーションとして，業務管理システムである「顔パスワークログ」を開発する．
キーワード 顔識別，IoT，エッジコンピューティング，業務管理

Developing Smart Entry-Exit Service for Oﬃce
Using Face Identification Sensor Box and Virtual Agent
Kosuke HIRAYAMA† , Sachio SAIKI† , and Masahide NAKAMURA†,††† Kobe University Rokkodai-cho 1–1，Nada-ku，Kobe，Hyogo，657–8501 Japan†† Riken AIP 1–4–1 Nihon-bashi, Chuo-ku, Tokyo 103–0027
E-mail: †hirayama@ws.cs.kobe-u.ac.jp, ††sachio@carp.kobe-u.ac.jp, †††masa-n@cs.kobe-u.ac.jp
Abstract To follow that many applications start to incorporate face identifying function, we have developed “Faceidentification sensor box” of an IoT device which provides face identification function to various applications. However, we have not yet considered what merits can application developers obtain. Therefore, in this research, weevaluate the usefulness of the sensor box. As a part of the evaluation, we develop a working management system“Kao-pass worklog” as an application which uses the sensor box practically.
Key words Face identification, IoT, Edge computing, Working management
ることを目的としている．

1. は じ め に

これまでの研究では，センサボックス自体の設計，開発を行

画像処理や AI 技術の急速な発展により，カメラなどによりい，それを活用するアプリケーションはこれからの課題となっ取得した顔画像をもとに個人を識別する，コンピュータビジョている．そのため，実際にセンサボックスの利用によりアプリンを用いた顔識別機能が様々なアプリケーションにおいて利用

ケーション開発にかかる負担を減らせるか，開発者にとってどが進んでいる．また，顔識別といった機能を外部からクラウドのようなメリットがあるかといった点は評価できていない．

サービスの形式で利用できるコグニティブサービスも登場している．

そこで，本研究では，顔識別センサボックスを活用した具体
激なアプリケーションの開発を行うことで，有用性に関する検このような背景のもと，我々は先行研究において，コグニ証を行う．具体的には，会社の勤怠管理システムに着目し，職ティブサービスを活用した「顔識別センサボックス」の開発を場への出退勤を顔の識別のみで容易に記録できるサービスであ行っている [1]．顔識別センサボックスは，コグニティブサービ

る顔パスワークログを開発する．

スを用いた顔識別機能を外部アプリケーションから手軽に利用

顔パスワークログは，ユーザがセンサボックスの前を通過すするための IoT デバイスであり，アプリケーションに顔識別機

ると，顔識別を行って個人を識別し，出社の時刻を記録する．こ能を実装する際の手間を減らし，スケーラビリティの向上を図

れをトリガとして，ヴァーチャルエージェント [2] [3] 及びオン

- 25 -—1—

This article is a technical report without peer review, and its polished and/or extended version may be published elsewhere.

Copyright ©2019 by

IEICE

顔識別

コグニティブ
サービス
外部
アプリA

顔識別
センサボックス

顔パスワークログ
コア

就労ログ

結果送信

在社状況

画像送信

カメラ

結果通知

顔検知

顔識別
センサボックス

結果通知

×

外部
アプリB

○○さん
こんにちは

カメラ
結果通知

顔検出

ユーザ

外部
アプリC

図 1 顔識別センサボックスの概念図

図 2 顔パスワークログの概念図

ラインスケジュールと連携し，出社時にはその日のスケジュー

センサボックスを共有し，個々のタイミングで識別結果を利用

ルをユーザに語りかける．同様に，ユーザが退社する際にも，でき，顔識別という軸で連携することを可能にすることである．

顔識別によって退社時刻を記録するとともに，ヴァーチャル

これにより，開発者のアプリケーション設計にかかる手間を削エージェントがその日の就業の記録を会話によって聞き取る．

減し，さらに，アプリケーションと顔識別機能の間での依存をここで得られた就業内容も，出退社に加えて記録する．これに減らすことで，スケーラビリティの向上を目指している．

2. 2 現在の業務管理システムの問題点

より，従来のタイムカードなどで煩雑であった就業管理の手間

現代において，我が国の会社は，過労やサービス残業といっが大きく削減され，さらに，スケジュールの通知や作業の記録た問題が多発した背景から，コンプライアンスが重要視されるといった付加価値機能も提供できるようになる．
本稿では，顔パスワークログの設計及びプロトタイプ実装を行う．プロトタイプの実装に要したコードの行数と，センサようになっている．こうした中，従業員の業務状況を把握する
ことは，働きすぎを防ぐためにも重要となっている．

ボックス内部で動作するコード行数を比較することにより，セ

業務時間の管理は，タイムレコーダを用いて，タイムカード

ンサボックスがどれだけ開発者の負担を軽減できるかを調べる．

に印字して行うことが一般的であった．しかし，タイムカード

また，複数アプリケーションからのサブスクライブがあった際を用いた方法では，蓄積されたデータのコンピュータへの入力・の動作検証を行うことで，スケーラビリティに関しての考察も管理が面倒である．また，他人のタイムカードを使った不正打行う．

刻も可能であるなど，効率が良いとは言えない．そこで，近年今回の検証では，顔パスワークログを開発する際のコードのでは，ICT を活用して出退社の時刻を打刻するシステムが登場

行数が，顔識別センサボックスを利用せずにフルスクラッチ開してきている [5] [6]．このような勤怠管理システムを利用する

発した場合に比べて約 54% 削減された．また，顔識別センサ

ことで，データの管理が容易にできるほか，出退社の処理を IC

ボックスが複数のアプリケーションからのサブスクライブにもカードや，生体認証など，様々な方法で行うことができる．

耐えうることを確認できた．これらのことから，顔識別センサ

このような既存の勤怠管理システムの中には，顔識別によるボックスが，アプリケーション開発者の負担軽減およびスケー

打刻が可能なものもある．しかしながら，そのためには専用のラビリティの向上に寄与できると考えられる．

機器が必要である，顔識別機能がアプリケーションに密結合し2. 準ている，といった問題点を持っている．そのため，独自のアプ

備

リケーションと連携することによる機能拡張が難しいのが現状である．

2. 1 顔識別センサボックス
顔識別センサボックスは，あらゆるアプリケーションから利これらの問題に対処し，顔識別によって出退社処理を行いつ用できるような顔識別用サービスを提供するための IoT セン

つ，かつ他の追加機能も容易に実装・連携できるようなシステ

サデバイスである．顔識別センサボックスの概念図を図 1 にムとして，本研究では，顔パスワークログを提案する．

示す．顔識別センサボックスは，接続されたカメラで撮影を行

3. 提案アプリケーション：顔パスワークログ

いながら，顔が検出された際にコグニティブサービスを用いた

本章では，1. で述べた顔パスワークログの仕様・設計に関し

顔識別を行い，映った人物を特定する．識別結果は，あらかじめ自身をサブスクライブ（＝利用登録）している複数のアプリて具体的な説明を行う．

3. 1 概ケーションに対して，Pub/Sub（Publish/Subscribe）[4] 型の要

本サービスは，2. 1 で述べた顔識別センサボックスにサブス

メッセージングモデルを用いて通知する．
顔識別センサボックスの目的は，アプリケーションの顔識別

クライブし，センサボックスによる顔識別の結果を得て，ユーの処理をセンサボックスに委譲可能にすること，および，同一

ザの出退社の記録などを行う．サービスの機能は，Web アプリ

空間で顔識別を必要とする複数のアプリケーションが，一つのケーションとして Web ブラウザ上から利用する．図 2 に顔パ- 26 -—2—スワークログの概念図を示す．図 2 の顔パスワークログコアの3. 2 各機能の説明部分が，ユーザにサービスを提供するプログラムを表していこの章では，顔パスワークログが持つ各種機能を示す．

る．下の画面は顔パスワークログのユーザーインタフェースを機能 1：入退社処理

表す．顔パスワークログコアによって，画面上の顔パスワーク

顔パスワークログは，顔識別センサボックスから識別結果をログとヴァーチャルエージェントが動作する．ユーザはヴァー

受信し，誰が来たのかを判断する．出退社情報を保持するため

チャルエージェントとの会話を通じてシステムとの対話を行う．

に，あらかじめ各ユーザの在社状況と出退社ログをそれぞれ記

顔パスワークログは内部に出退社ログと日々の就労記録を蓄積録するためのデータベースを用意し，ユーザの出退社時に，そし，また，現在の各ユーザの在社状況を保持している．ここで，れらのデータベースの更新・追記を行い，出退社したユーザの顔パスワークログは顔識別センサボックスにサブスクライブを名前とその時間を記録する．また，在社情報や出退社ログは，行っており，ユーザの顔が識別され，結果を受け取った際に，確認がしやすいように，ブラウザ上で表示できるようにする．

ユーザとの対話を開始する．その際，ユーザの在社状態に応じここで記録された在社状況は，顔パスワークログの運用におて，出社シナリオと退社シナリオのどちらかが実行される．

いて，ユーザが来た際に，それが出社であるのか退社であるの

以下，それぞれのシナリオの流れを示す．

かを判断するためにも使われる．

A. 出社シナリオ

機能 2：ユーザとの対話（ 1 ） 出社してきたユーザに対し，「〇〇さん，こんにちは！」

出退社処理の際などに，ブラウザ上にメッセージを表示し，という挨拶を行う

ユーザとの対話を行う．また，メッセージの表示と同時に，そ（ 2 ） 挨拶を Web ブラウザ上に文字列として表示し，それの文章をヴァーチャルエージェントの音声合成機能を用いて読と同時に，ヴァーチャルエージェントに発話させる

み上げる．対話は，語りかけと，問いかけの 2 つに分かれる．

（ 3 ） 「こんにちは」と「私は〇〇ではありません」という問いかけの場合は，ユーザに対して，その問いに対する回答を

選択肢のボタンを表示し，ユーザの回答を待つ

求める．この際，ブラウザ上で音声入力機能を起動し，声によ（ 4 ） ユーザは音声入力あるいはボタンを押すことにより回る回答ができるようにする．

答をする

機能 3：スケジュール通知（ 5 ） ユーザが「こんにちは」を選択したら，そのユーザの出社時，ユーザにその日の予定をアナウンスする．予定は，出勤記録を日時とともに出退社ログのデータベースに記録する

Google カレンダーといったオンラインスケジュールなど，外（ 6 ） そのユーザの在社状況を「出社」に更新する部に登録されたものを参照する．

（ 7 ） 今日の予定をオンラインスケジューラから取得する

機能 4：就労ログ（ 8 ） 取得した予定情報をもとに，ユーザに「今日の予定は，退社時，ユーザにその日の業務内容といった就労ログを残す

13 時 30 分から，□□□，16 時 45 分から，△△△です」など

よう尋ねる．ユーザは音声入力によって，就労ログを作成できと，今日の予定の通知を行う

る．作成されたログは，ユーザの名前や登録日時とともに，あ（ 9 ） ユーザに「今日もお仕事頑張ってくださいね」と伝える

らかじめ用意された就労ログ蓄積用のデータベースに記録されB. 退社シナリオ

る．また，就労ログも機能 1 で述べた在社情報と同様に，ブラ（ 1 ） 退社しようとしているユーザに対し，「〇〇さん，お帰ウザ上から確認できる．

りですか？」という挨拶を行う

機能 5：ログのエクスポート（ 2 ） 挨拶を Web ブラウザ上に文字列として表示し，それ機能 1，機能 4 で述べた出退社ログと就労ログは，ブラウザと同時に，ヴァーチャルエージェントに発話させる

上で確認するだけではなく，CSV 形式のファイルとしてエクス（ 3 ） 「はい」，「いいえ」，「私は〇〇ではありません」といポートすることができる．

う選択肢のボタンを表示し，ユーザの回答を待つ

4. プロトタイプ実装（ 4 ） ユーザは音声入力あるいはボタンを押すことにより回

4. 1 実答をする

装

3. 1，3. 2 で述べた仕様に基づき，顔パスワークログのプロ（ 5 ） ユーザが「はい」を選択したら，「〇〇さん，お疲れさ

トタイプを実装した．実装に用いた技術は以下のとおりである．

までした」と伝える（ 6 ） ユーザに「今日のお仕事はいかがでしたか？」と伝え，•

開発言語：Python 3.5，JavaScript

その日の就労ログを残すように促す•

ライブラリ：Flask（注 1），Flask-SocketIO（注 2） SQLite3（注 3）（ 7 ） ユーザは音声入力あるいはキーボードによる文字入力•

オンラインスケジュール：Google カレンダー

によって，就労ログを記入する•

API：Google Calendar API（注 4），Web Speech API（注 5）（ 8 ） 記入された就労ログをデータベースに保存する（ 9 ） そのユーザの退勤記録を日時とともに出退社ログのデータベースに記録する（ 10 ） そのユーザの在社状況を「退社」に更新する（ 11 ） ユーザに「〇〇さん，さようなら」と挨拶する（注 1）：http://flask.pocoo.org/（注 2）：https://flask-socketio.readthedocs.io/en/latest/（注 3）：https://www.sqlite.org/index.html（注 4）：https://developers.google.com/calendar/（注 5）：https://developer.mozilla.org/ja/docs/Web/API/Web_Speech_API- 27 -—3—

外部サーバ内部DB（SQLite3）

Googleカレンダー

顔パスワークログ
コア

業務ログ
在社状況

Face API
レスポンス

読出/操作

API呼出

ユーザDB
PHP
ユーザ情報

リクエスト

予定読出

マネージャ

キック

メッセージ
等送信
MMDAgentProxy

Subscribe

センサボックスサブスクライバ伝達

Publish

顔識別
センサボックス

コンテンツ
反応

顔検出

WebSocket

HTTP
×

○○さん
こんにちは

カメラ

JavaScript

Webブラウザ

ヴァーチャルエージェント図 3 全体アーキテクチャ図

顔パスワークログとともに動作するヴァーチャルエージェン
トとして，本プロトタイプでは MMDAgent（注 7）を採用した．また，過去に研究室で開発された MMDAgentProxy というサービスを MMDAgent と同時に起動する．MMDAgentProxy によって，MMDAgent の各機能を呼び出す API が用意され，これら API にリクエストを送信することで，MMDAgent で表示されているエージェントに発話やポーズをさせることができる．

4. 2 センサボックスの機能説明
顔識別センサボックスは，コグニティブ API として Face

図 4 顔パスワークログのスクリーンショット

API [7] を利用し顔識別を行う．Face API では，事前にセンサ•ボックスを通して，ユーザの情報や顔画像を登録する必要があ（注 6）

Web ブラウザ：Google Chrome

Flask は，Python 用の Web アプリケーションフレームワー

る．また，Face API とは独立にユーザの詳細な情報を保持すクの一種であり，顔パスワークログの Web アプリケーション

るためのユーザ DB を外部サーバに構築し，センサボックスは化に用いた．Flask-SocketIO は，Flask アプリケーション上でユーザ DB にアクセスすることにより，ユーザ情報を取得す

Socket.IO を用いた WebSocket 通信を可能にするライブラリでる．そのため，新規ユーザを登録する際は，Face API とユーザあり，ブラウザとの通信を行うために用いた．Google Calendar

DB の両方にユーザ情報を登録する必要があるが，センサボッ

API は Google カレンダーの登録内容を取得・変更できる API

クスはユーザ登録用の API を持っており，API に外部から各である．Web Speech API はブラウザ上で音声入力を可能にす

種情報を POST 通信で送信することで，Face API およびユー

る API であり，Google Chrome 上で動作する．

ザ DB への登録を同時に行うことが可能となっている．顔画像

実装した顔パスワークログの全体実装図を図 3 に示す．まの登録やユーザの削除に関しても同様にセンサボックスの API

た，スクリーンショットを図 4 に示す．図 3 について，「顔パ経由で行う．これらの API を利用することで，ユーザ登録用

スワークログコア」の部分が実際にユーザにサービスを提供すのアプリケーションを容易に作成することが可能であり，センるプログラムを表し， マネージャは，Web ブラウザとの通信

サボックス内部にも簡易的なものが配備されている．

やヴァーチャルエージェントへの発話指示，内部データベース

ユーザ DB は MySQL によって構築されており，PHP API

へのアクセス，Google カレンダーからの予定取得といった各を通して操作が行われる．テーブル構造は［uId，personId，

種処理を行い，ユーザに顔パスワークログの各機能を提供する．

name，reading（名前のヨミ），birthday，gender，nickname，

また，センサボックスサブスクライバは，顔識別センサボック

description（メモ欄）］となっている．ここで，uId は顔識別セスへのサブスクライブを行い，センサボックスから識別結果がンサボックス用の独自の Id，personId は Face API で使われる

送られた際に，マネージャに識別結果を伝達する．

Id であり，センサボックスを利用するアプリケーションには主に uId を用いさせる．また，センサボックスは uId をキーとし（注 6）：https://www.google.com/intl/ja_ALL/chrome/（注 7）：http://www.mmdagent.jp/- 28 -—4—

て各種情報をユーザ DB から取得し，JSON 形式でアプリケー

表 1 コード行数

ションに送信する API を持っている．センサボックスがアプ

センサボックス 顔パスワークログ

リケーションに対して通知する顔識別結果は uId のみであり，Python714

511

その他の情報（名前など）が必要であれば，その API を利用しHTML/JavaScript

275

496

て取得させる．

PHP

281

0

合計

1,270

1,007

なお，以降では，識別対象となるユーザの登録は既に完了しているものとする．
以降，3. で述べた各機能の具体的な実装や動作について述

5. 評

価

べる．

5. 1 センサボックスの機能要求

4. 3 動 作 準 備
顔パスワークログを利用する前に，顔識別センサボックスを顔識別センサボックスの目的は，アプリケーションに非依存利用するための準備が必要である．顔パスワークログは図 3 のな顔識別機能をサービスとして切り出し，様々なアプリケー

ように，マネージャとセンサボックスサブスクライバの 2 つのションから利用・共有できるようにすることである．これにコンポーネントに分かれており，センサボックスサブスクライ

よって，アプリケーション開発者の開発コストを下げるととも

バを用いて顔識別センサボックスへのサブスクライブを行うこに，システムのスケーラビリティを向上させることを狙っていとで，利用準備が完了する．これ以降，主な処理や操作はクラる．本章では，センサボックスの活用によりどれだけの開発コ

イアント用プログラムが行う．同時に，顔パスワークログとはストが削減できるか，また，スケーラビリティの向上が見込め

別に，ヴァーチャルエージェントを起動させる．

るかについて，実験的な評価を行う．

顔パスワークログを使用するユーザは，まず顔識別センサ

開発コストの削減評価については，4. で開発した顔パスワー

ボックスに接続されたカメラに顔を向ける．その後，ユーザ

クログを，センサボックスを使う場合と使わない場合で，アプの顔識別が行われ，センサボックスからは識別結果（uId）がリケーションのコード行数がどれだけ削減されるかを計測し，Publish される．顔パスワークログはその結果を受け取ると，考察を行う．また，スケーラビリティについては，多くのアプ

在社状況のデータベースを検索し，退社状態であるならば，そリケーションからサブスクライブされるシチュエーションを想のユーザは出社してきたと判断し，出社状態であるならば，退定したテストを行い，これを考察する．

社するところだと判断する．そして，顔パスワークログはそれ

5. 2 コード行数の検証

をセンサボックスに送信することで，ユーザの名前を取得し，

顔パスワークログの開発コストが，顔識別センサボックスの利用により削減できるかを検証するために，プログラムのコー

以降の出社シナリオ／退社シナリオの処理に用いる．
なお，出社シナリオでの予定通知は，Google カレンダーか

ド行数を測定する．
表 1 に顔識別センサボックスおよび顔パスワークログの動ら Google Calendar API を用いて取得した予定を整形して作作に必要なコードの行数を示す．これらの数値は，空行やコメ成する．

4. 4 各種内部データベース

ントを除いた純粋なコードの行数である．また，プログラムの顔パスワークログは各ユーザの在社情報や，ユーザの出退社

実行において直接関係のないような部分（例えばデバッグ用

ログおよび就労ログを内部でデータベースに格納する．各デーの print 文など）は事前にコメントアウトしたうえで計測してタベースは SQLite3 によって構築されており，それぞれ Webいる．
ここで，センサボックスの動作に必要なコードのうち，顔パ

ブラウザ上で表示・確認することができる．
在社情報データベースのテーブル構造は［uId，name，isat-

スワークログの動作に必要な，顔検出，顔識別，サブスクライ

tend（在社しているか）］となっており，ユーザの出退社処理とブ，ユーザ情報の読み取りといった機能に関係するコードのみ

同時に更新される．なお，在社情報のデータベースには，センを抽出すると，その行数は Python，HTML/JavaScript，PHP

サボックスが用いる外部サーバ上のユーザデータベースと自動を合わせて 475 となった．また，ユーザの登録作業を行う際に的に同期し，あらかじめ全てのユーザのエントリが作成される．

必要なコードの行数を同様に測定すると 691 であった．この 2

出退社ログデータベースは［uId，name，date，in/out（出つを合わせると 1166 となる．

社か退社か）］というテーブル構造を持っている．また，就労ロ

この結果から計算すると，今回の顔パスワークログの開発に

グデータベースのテーブル構造は［uId，name，date, log（ロ

おいては，事前のユーザ登録についても考えた場合，センサ

グの内容）］となっている．両者とも，date（日時）はログの追ボックスを利用せずにフルスクラッチ開発した場合と比較して，1166
コード行数が 1166+1007= 1166= 0.536 より，約 54% 削減で2173

加と同時に，自動的に付加される．
また，出退勤ログおよび就労ログは CSV 形式でエクスポーきたことになる．

トが可能であり，Web ブラウザ経由でダウンロードすることが

5. 3 複数のアプリケーションからのサブスクライブ検証

できる．

スケーラビリティに関する実験的な評価を行うため，顔識別
センサボックスとサブスクライブするプログラムが，今までの章の場合のように 1 対 1 ではなく，1 対多の場合でもサブスク- 29 -

—5—

2.95

3

円滑な連携が可能であり，結果として，スケーラビリティの向2.69

上という目的を果たすことができると考えられる．

2.43

2.5

6. お わ り に

2.01

所
要
時
間
（
秒
）

2

1.70

本稿では，先行研究である顔識別センサボックスを利用して，

1.43

1.5

1.14

1

顔パスワークログという業務管理システムの試作を行った．顔

0.83

パスワークログを利用することで，顔識別による出退社管理や

0.66

0.5

その他のサービスを提供できる．また，2 つの検証を通じて，

0.29

センサボックスが，自身の持つべき機能要求を満たせているか

0
0

10

20

30

40

50

60

70

80

90

100

を確認した．今回行った検証により，センサボックスは，アプ

サブスクライバ数

リケーション開発者のコストの削減，およびスケーラビリティ

図 5 サブスクライバ数と処理時間の関係を示すグラフの向上という 2 つの機能要求を満たせるものと期待できる．今後も，センサボックスが顔識別を利用するシーンにおいて有益

ライブ処理及び複数アプリケーションへの識別結果の通知を正であるかを検証するために，より詳細なテストや，規模の大きしく行うことができるかを検証する．

いアプリケーションの試作を行いたいと考える．

検証のために，センサボックスにサブスクライブし，結謝辞

この研究の一部は，科学技術研究費（基盤研究 B

果 を 受 信 し た ら 終 了 す る ，と い う シ ン プ ル な Web ア プ リ

16H02908，18H03242, 18H03342，基盤研究 A 17H00731），おケ ー シ ョ ン を 作 成 し ，同 一 の コ ン ピ ュ ー タ 上 で ，自 身 のよび，立石科学技術振興財団の 研究助成を受けて行われている．

ポ ー ト 番 号 を 変 更 さ せ な が ら 多 重 起 動 さ せ る ．具 体 的 には，http://192.168.0.xxx:50000，http://192.168.0.xxx:

50001，http://192.168.0.xxx:50002，といったように 1 つずつ異なるポートが割り当てられたアプリケーションを同時に起動させ，その後，センサボックスからの識別結果のパブリッシュによりこれら全てのアプリケーションが同じタイミングで正常終了するかを確かめることによって，識別結果の通知が正しく行われたかを確かめる．
今回の検証では，サブスクライブするアプリケーションの数（サブスクライバ数）を 10 から 100 まで 10 刻みで増やしながら，識別結果のパブリッシュが正常にできるかの確認を行いつ
つ，全アプリが結果を受信するのに要した時間 T を測定する．
具体的には，N 個のアプリを同時起動させ，1 個目のアプリが結果を受信した時刻を t1 ，N 個目のアプリが受信した時刻を t2としたときの T = t2 − t1 を調べる．図 5 に検証結果のグラフを示す．縦軸が T ，横軸がサブスクライバ数を表す．

5. 4 考察

コード行数の検証により，今回の顔パスワークログの開発コ
ストは，顔識別センサボックスの利用により削減されたといえる．削減できた要因は，顔識別やユーザ登録といった，顔識別

文

献[1] 平山孝輔，佐伯幸郎，中村匡秀，“様々なアプリと連携可能なリアルタイム顔識別デバイスの開発，” 電子情報通信学会技術報告書，no.SC2018-23，pp.1–6，Nov. 2018． 神戸大学 瀧川記念学術交流会館．
[2] S. Tokunaga, K. Tamamizu, S. Saiki, M. Nakamura, and K. Yasuda, “VirtualCareGiver: Personalized smart elderly care,” International Journal of Software Innovation (IJSI), vol.5, no.1, pp.30–43, Oct.
2016.
DOI: 10.4018/IJSI.2017010103, http://www.igiglobal.com/journals/ abstract-announcement/158780.
[3] H. Horiuchi, S. Saiki, S. Matsumoto, and M. Nakamura,“Virtual agent as a user interface for home network system,” International Journal of Software Innovation, vol.3,
no.2, pp.24–34, April 2015.
[4] K. Birman and T. Joseph, “Exploiting virtual synchrony
in distributed systems,” SIGOPS Oper. Syst. Rev., vol.21,
no.5, pp.123–138, Nov. 1987.
[5] “No.1 勤怠管理・シフト管理システム「ジョブカン」,” https://jobcan.ne.jp/． visited on 2019-02-08．
[6] “勤 怠 管 理 シ ス テ ム「king of time(キ ン グ オ ブ タ イ ム)」簡単 操 作 の ク ラ ウ ド 勤 怠 管 理 で 働 き 方 が 変 わ る 。,” https://www.kingtime.jp/． visited on 2019-02-13．
[7] “Face api - 顔認識ソフトウェア | microsoft azure,” https://
azure.microsoft.com/ja-jp/services/cognitive-services/
face/． visited on 2018-10-12．

を利用するアプリケーションにとって必要不可欠な機能の実装を省くことができたためであるといえる．これを踏まえると，
顔パスワークログに限らず，センサボックスの利用により，様々なアプリケーションの開発において顔識別部分の実装にかかる開発コストが軽減できると考えられる．
また，複数のアプリケーションからのサブスクライブの検証により，顔識別センサボックスは，サブスクライバ数が多くなっても，それぞれに正しく識別結果を送信できることが確認できた．また，サブスクライバへ情報を伝達するのに要する時間の増加がほぼ線形であることから，アプリケーションの数が増加
してもセンサボックスのパフォーマンスが低下しないといえる．
このことから，センサボックスは複数のアプリケーションとの- 30 -—6—