卒業論文
人物再識別システムの試作と評価
提出者 飯塚 敦志
提出年 月日 平成 31 年 1 月 25 日
指導教 員 金子 邦彦 教授
人物再識別システムの試作と評価
情 報 工 学 科 飯 塚 敦 志
研 究 概 要
私 た ち の 身 の 回 り で は 人 物 認 証 や カメ ラ の 撮 影 と いっ た 様 々 な 場 面 で人 工 知 能 を 利 用 し た 人 物 の 識 別 シ ス テム は 多 く 存 在 し て い る .そ の 中 で カメ ラ を使 用 した 人 物 の 再 識 別 について取 り組 んだ .本 稿 では,複 数 カメラから動 画 撮 影 を 行 い,取 得 した顔 画 像 および関 連 情 報 のデータ ベースにおいての 人 工 知 能 を用 いた人 物 識 別 の試 みについて報 告 する.
目 次
1. ま え が き ... 1
2. 人 物 再 識 別 シ ス テ ム ... 1
2.1 顔 識 別 ... 2
顔 識 別 ,人 物 再 識 別 にて使 用 した技 術 ... 2
2.2 データベース ... 3
3. 実 験 ... 3
3.1 撮 影 した動 画 を静 止 画 像 に画 像 処 理 ... 3
3.2 Dlib ソフトウェアを使 用 した顔 検 知 ... 4
3.3 人 物 再 識 別 ... 6
3.4 データベース ... 9
4. む す び ... 10
- 1 -
1. ま え が き
現 在 ,人 物 の 識 別 は 多 くの場 面 で利 用 されている. 顔 認 証 での利 用 には スマートフォンのロックを解 除 する機 能(Face ID)や,コンビニ,空 港 などの場 所 で 顔 認 証 に よ る 支 払 い や 搭 乗 許 可 を 行 う シ ス テ ム が 導 入 さ れ て い る . 認 証 以 外 には , カ メ ラ で人 物 を 撮 影 すると き に顔 部 分 を 表 示 , 監 視 システ ム な ど で 利 用 さ れ て い る . 私 は そ れ ら の 技 術 を 利 用 し た 人 物 の 行 動 に つ い て 研 究 に 取 り組 ん だ. 行 動 に 着 目 し た 理 由 は, 人 の行 動 情 報 は多 くの 活 用 がで きると考 えられるからである.観 光 地 や似 通 った建 物 に行 くとき,交 通 量 や移 動 経 路 , 移 動 時 間 な ど を 人 の 行 動 情 報 と し て 取 得 す る こ と で そ れ を 元 に 人 の 行 動 予 測 を 立 て る ことが考 え ら れる .行 動 予 測 は 新 し く 店 舗 を 新 設 する と き(マ ー ケ ティ ン グ), 渋 滞 の 起 こ りや す い 時 間 帯 , 時 間 帯 別 で 男 性 あ るい は 学 生 の 方 で 交 通 量 が 変 わる , と いう よ う に 様 々 な 活 用 が考 え ら え る . 人 工 知 能 を利 用 した人 の行 動 予 測 をするシステムはすでに存 在 しており, 防 犯 や来 場 者 の人 数 予 測 などで利 用 されている.
し か し , 複 数 の セ ン サ ー 類 か ら 収 集 し た 画 像 や 情 報 を デ ー タ ベ ー ス に 保 管 し て , 任 意 の 画 像 と 情 報 を 自 由 に 操 作 閲 覧 で き る シ ス テ ム は 簡 単 で は な い.本 研 究 では ,人 物 再 識 別 における画 像 やその 他 の情 報 の データ ベース 試 作 を 行 い , い か に 簡 単 に デ ー タ ベ ー ス 内 の デ ー タ が 管 理 で き る か の 評 価 を 試 みた . 人 物 再 識 別 とは , 画 像 か ら 人 物 識 別 を 行 う こ と で あ る . 画 像 に は 静 止 画 と動 画 の 2 種 類 がある.識 別 された人 物 同 士 の照 合 を行 い,同 一 人 物 の 判 別 を 行 う . 判 別 を 行 う た め の人 物 の特 徴 取 得 には ,顔 や衣 類 , 身 体 的 特 徴(身 長)な どが 使 用 さ れ る が 本 研 究 では カメ ラ か ら 撮 影 し た フ ァイ ルか ら顔 部 分 を利 用 した 人 物 再 識 別 を行 う.
2. 人 物 再 識 別 シ ス テ ム
人 物 再 識 別 システムは,カメラからの顔 識 別 ,取 得 した画 像 と情 報 を記 録 するデータベースの2つの機 能 から成 り立 っている.
観 光 地 や 駅 な ど 行 動 予 測 に 利 用 で き そ う な 場 所 に カ メ ラ を 設 置 し , 撮 影 を行 い,撮 影 した動 画 から顔 検 知 を行 う.顔 検 知 の結 果 として, 顔 の座 標 情 報 が 得 ら れる. これで ,元 画 像 か ら 顔 領 域 部 分 の 画 像 である顔 画 像 が抽 出 で きる . 現 在 , 我 々 が 実 装 し た 人 物 再 識 別 シス テ ム では , 顔 画 像 が データ ベースに 保 存 されるとともに , ファイル名 , 撮 影 を 行 った 日 時 の情 報 もデータ ベ ー ス に 保 存 さ れ る . そ の 他 , 顔 画 像 か ら 算 出 さ れ た 特 徴 量 や 各 種 属 性
- 2 -
(性 別 の推 定 値 など)も保 存 できるようにデータベース設 計 している.
2.1 顔 識 別
顔 識 別 に は ,Python 開 発 環 境 の Anaconda を イ ン ス ト ー ル し て , Python 環 境 化 で Python パッケージ,GitHub,Dlib を利 用 した.
顔 識 別 , 人 物 再 識 別 に て 使 用 し た 技 術
Anaconda…python パ ッケージなどを 提 供 ,イ ンストールすることで利 用 できるプ ラ ット フォーム である.多 くのモジ ュ ールやツ ールのコンパ イ ル済 みバ イナリファイルを提 供 している.
Spyder…オープンソースでクロスプラットフォーム Python 用 統 合 開 発 環 境 である.Spyder には,Numpy,Scipy,Matplotlib,IPython など開 発 の手 助 けを行 う機 能 が統 合 されている.開 発 環 境 を変 えて,開 発 を行 える.
Dlib… 汎 用 目 的 の ク ロ ス プ ラ ッ ト フ ォ ー ム ソ フ ト ウ ェ ア ラ イ ブ ラ リ で あ る . 顔 識 別 や機 械 学 習 のライブラリである.
GitHub… ソ フトウ ェ ア 開 発 のプ ラ ットフ ォ ームで あり, ソー スコ ード を ホステ ィングするオンラインのサイトである .ホスティングをすることで複 数 人 のソフトウ ェア開 発 者 と協 働 してコード のレビュー,プロジェクトを管 理 しながら開 発 を行 うことができる.
OpenCV… オープ ン ソース のコ ン ピュ ータ ビジョ ン向 けのラ イ ブ ラ リ であ る . 画 像 処 理 や画 像 認 識 ,機 械 学 習 等 の機 能 を持 つ C/C++,Python,Java, MATLAB 用 ライブラリ.
以 下 ,顔 識 別 を行 う手 順 を記 載 する.
手 順 ① Anaconda,Dlib ソフトウェアなどの Python 開 発 環 境 の準 備 . 手 順 ② GitHub のソースコードを利 用 し,事 前 にカメラで撮 影 しておいた動
画 ファイルを静 止 画 像 へ 変 換 .
手 順 ③ 取 得 した画 像 に Dlib ソフトウェアを利 用 して顔 検 知 をして,顔 の識 別 を行 う.
手 順 ④ 顔 識 別 された画 像 から人 物 再 識 別 を行 う.再 識 別 には Dlib ソフト ウェア付 属 の Ageitgey/face_recognition を使 用 する.これについては 3.実 験 で説 明 を 行 う . こ れら で 使 用 さ れた 画 像 や 画 像 情 報 は データ ベ ー スに保 管 される.
- 3 - 2.2 デ ー タ ベ ー ス
画 像 や 情 報 な ど の デ ー タ を 保 存 す る デ ー タ ベ ー ス と し て Google 社 の Firebase を利 用 した.Firebase には,多 くの機 能 があり,その中 の Cloud Storage と Realtime Database の機 能 を利 用 した.
Cloud Storage はユーザーが生 成 した写 真 や動 画 などのコンテンツをア ッ プ ロ ー ド ま た は ダ ウ ン ロ ー ド す る こ と が で き る 機 能 を 持 つ.Realtime Database は NoSQL クラウドデータベースでデータの保 管 と同 期 を行 うこと ができ,データはすべてのクライアントにわたってリアルタイムで同 期 される.
Firebase で行 う手 順 は以 下 の通 りである.
手 順①Cloud Storage へ の 画 像 ア ッ プ ロ ー ド に Python パ ッ ケ ー ジ の thisbejim/pyrebase を使 用 する.
手 順② Realtime Database の デ ー タ 保 管 に Python パ ッ ケ ー ジ の python-firebase を使 用 する.
3. 実 験
3.1 撮 影 し た 動 画 を 静 止 画 像 に 画 像 処 理
人 物 の 識 別 で は , 前 処 理 と し て , カ メ ラ で 撮 影 し た 動 画 を 複 数 の 静 止 画 像 に変 換 する処 理 を 行 った.GitHub で公 開 されているソースコードを使 用 して,Python-opencv で指 定 フレームごとに画 像 として保 存 した.
図 1 指 定 フレームごとに画 像 を分 割
- 4 - 図 2 結 果
3.2 Dlib ソ フ ト ウ ェ ア を 使 用 し た 顔 検 知
3.1 で 作 成 し た 画 像 で 顔 検 知 を 行 い , 顔 部 分 の 識 別 を 行 う . 結 果 と し て 顔 の位 置 情 報 である座 標 を取 得 する.
顔 検 知 には Dlib の顔 検 知 機 能 を利 用 する.画 像 のイメージピラミ ッドを 作 り,固 定 サイ ズのスライ ディ ングウィ ンド ウ識 別 器 を 使 用 し ,顔 検 出 を 行 う . イメージピラミッドから HOG 特 徴 量 を抽 出 して,HOG ピラミッドを作 成 する.
HOG と は 局 所 領 域 に お け る 輝 度 の 勾 配 方 向 の 分 布 か ら 特 徴 量 の 取 得 . HOG ピ ラ ミ ッド で 線 形 識 別 機 を 移 動 させ る .Dlib 付 属 の 学 習 済 み データ mmod_human_face_detector を使 用 して実 験 を行 った.
図 3 プログラムの実 行 と座 標 取 得 画 面
実 行 結 果 から顔 検 知 と顔 情 報(座 標)の取 得 が行 えている. 実 行 結 果 より,
Number of faces detected: 1…1 人 の顔 検 知 が行 えている.
Detection1…Left,Top,Right,Bottom か ら 顔 領 域 の座 標 取 得 を 行
- 5 - えている.
図 4 顔 検 知 ,顔 部 分 の抽 出
1枚 の画 像 から複 数 の顔 検 知 を行 うことを目 的 としているため,その実 験 と 結 果 を図 5に示 す.
図 5 複 数 人 写 っている場 合 の顔 識 別 と結 果
- 6 -
実 行 結 果 から 3 人 分 の顔 検 知 と顔 情 報(座 標)の取 得 が行 え ている. 実 行 結 果 より,
Number of faces detected: 3…3 人 の顔 検 知 を行 えている Detection0~3…3 人 の顔 座 標 の取 得 が行 えている.
3.3 人 物 再 識 別
スマートフォンを使 用 して,研 究 室 のメンバー4 名 の各 自 の顔 写 真 を撮 影 した.撮 影 した 環 境(場 所 やスマートフォンの機 体)は別 々で行 い,研 究 室 や 各 自 の家 で撮 影 日 時 を変 えて,撮 影 した.人 物 の顔 識 別 には Dlib の顔 識 別 ライブラリを利 用 したソフトウェアである Ageitgey/face_recognition を用 いて実 験 を行 う.以 下 ,メンバーそれぞれをa,b,c,dと区 別 する.各 自 の顔 として識 別 されている画 像 を 1 枚 ずつ計 4 枚 選 出 し,残 りの画 像(91 枚)と の照 合 を行 う.使 用 した画 像 と実 験 結 果 を図 6~図 10 で示 す.
先 に 選 出 した 画 像 か ら 顔 識 別 を されず,他 の顔 画 像 との識 別 が行 え なか った例 と原 因 を図 6 に挙 げておく.
図 6 a から選 出 した画 像 と結 果
結 果 としては,選 出 した画 像 が顔 識 別 されておらず, 他 の画 像 との照 合 が 行 えなかった.原 因 は端 末 による画 像 サイズの大 きさが問 題 であった. よって,
全 ての画 像 サイズを ほぼ幅 480,高 さ 620pixelに統 一 して再 度 実 験 を行 っ
- 7 -
た.選 出 した画 像 と実 行 結 果 を図 7~図 10 に示 す.
図 7 a から選 出 した画 像 と結 果
結 果 ,a の同 一 人 物 として識 別 された画 像 は 27 枚 中 24 枚 .他 の 3 名 と 誤 って識 別 された画 像 は 64枚 中 0枚 .同 一 人 物 として識 別 されなかった画 像 は 27 枚 中 3 枚 .顔 識 別 されなかった画 像 は 27 枚 中 1 枚 であった.
図 8 b から選 出 した画 像 と結 果
結 果 ,b の同 一 人 物 として識 別 された画 像 は 22 枚 中 12 枚 .他 の 3 名 と 誤 って識 別 された画 像 は 69枚 中 1枚 .同 一 人 物 として識 別 されなかった画 像 は 22 枚 中 7 枚 .顔 識 別 されなかった画 像 は 22 枚 中 3 枚 であった.
- 8 -
図 9 c から選 出 した画 像 と結 果
結 果 ,c の同 一 人 物 として識 別 された画 像 は 28 枚 中 16 枚 .他 の 3 名 と 誤 って識 別 された画 像 は 63枚 中 0枚 .同 一 人 物 として識 別 されなかった画 像 は 28 枚 中 12 枚 .顔 識 別 されなかった画 像 は 28 枚 中 0 枚 であった .
図 10 d から選 出 した画 像 と結 果
結 果 ,d の同 一 人 物 として識 別 された画 像 は 11 枚 中 6 枚 .他 の 3 名 と 誤 って識 別 された画 像 は 79枚 中 0枚 .同 一 人 物 として識 別 されなかった画 像 は 11 枚 中 0 枚 .顔 識 別 されなかった画 像 は 5 枚 であった.
- 9 -
人 物 再 識 別 の実 験 結 果 から ,人 物 再 識 別 は良 好 であった ことが確 認 でき た . 顔 検 知 が さ れ な い 原 因 とし て は , 顔 が し っ か りと 画 像 に 写 っ て い な い こと (正 面 以 外 の方 向 に顔 を向 けている,マスクをつけているなど)が問 題 にあると 画 像 から確 認 できた .
3.4 デ ー タ ベ ー ス
Google 社 の Firebase を 用 いて ,Cloud Storage 機 能 と Realtime Database 機 能 を利 用 した実 験 を行 う.
Cloud Storage は実 験 で使 用 した画 像 のアップロードを行 う.アップロー ド 方 法 に は Firebase の Python ラ イ ブ ラ リ Pyrebase を 利 用 す る . Pyrebase を利 用 するにあたり,必 要 な準 備 を次 に記 載 する.
・Python 仮 想 環 境 の作 成 ,今 回 Python のバージョンを 2.7 とする.
・Pyrebase のインストールとその他 必 要 なパッケージをインストールする.
・Firebase の Web ページから新 規 プロジェクトを作 成 し,データベースを 作 成 .プロジェクトの設 定 から WebAPI キーとプロジェクト ID を取 得 .
・作 成 した仮 想 環 境 で Firebase との認 証 を行 う.
実 験 結 果 を図 11 に示 す.
図 11 Cloud Storage で画 像 の保 管
Realtime Database は実 験 で使 用 した画 像 から取 得 できるデータの保 存 と 保 存 し た デ ー タ 取 得 を 行 う . 今 回 は , フ ァ イ ル 名 , 形 式 , 撮 影 日 時 , 場 所(仮)のデータを保 存 した.実 験 結 果 を図 12 と図 13 に示 す.
- 10 -
図 12 Realtime Database でデータの保 存
図 13 Realtime Database からデータの取 得
4. む す び
近 年 進 歩 し て い る 人 工 知 能 を 用 い た 人 物 再 識 別 シ ス テ ム と 各 種 情 報 を 管 理 するデータベースシステムを 試 作 した .データ ベース システムでは, デー タのアップロードとダウンロードが容 易 に行 うことができた.Python の開 発 環 境 を 変 え て実 験 を 行 う ことがあり,1 つに 統 合 する ことができ れ ば さら に 容 易 に デ ー タ の 受 け 渡 し を 行 え る と 考 え て い る . ま た , 手 作 業 で 行 う 部 分 の 自 動 化 も 課 題 で あ る . 人 物 再 識 別 シ ス テ ム で は , 顔 検 知 , 識 別 の 面 で も 良 好 な 結 果 が得 られた.
これからは, 画 像 ,カ メラ,人 物 再 識 別 から 様 々な特 徴 や情 報 を収 集 する 手 段 が増 え れば, 前 に 述 べた 活 用(行 動 予 測 など)を できる 見 通 し が 今 回 の 研 究 から得 られた.
謝 辞
本 研 究 の実 施 にあたり,卒 業 論 文 指 導 教 員 の情 報 工 学 科 ・金 子 邦 彦 教 授 に ご 指 導 賜 りまし た .金 子 邦 彦 研 究 室 の井 上 氏 , 田 坂 氏 , 半 田 氏 に は , 実 験 の協 力 , 研 究 室 や実 験 の場 での議 論 等 を 通 し て,知 識 や 示 唆 の提 供 をいただきました.ここに感 謝 の意 を表 します.
- 11 -
参 考 文 献
(1) GitHub - davisking_dlib_ A toolkit for making real world machine learning and data analysis applications in C++
https://github.com/davisking/dlib
(2) GitHub - ageitgey_face_recognition_ The world's simplest facial recognition api for Python and the command line
https://github.com/ageitgey/face_recognition
(3) testpy_samples_image_clustering at master · iShoto_testpy
· GitHub
https://github.com/iShoto/testpy/tree/master/samples/image_cl ustering
(4) GitHub - thisbejim_Pyrebase_ A simple python wrapper for the Firebase API.
https://github.com/thisbejim/Pyrebase (5) python-firebase · PyPI
https://pypi.org/project/python -firebase/