オタク語と顔面
皆さんこんにちは。
コミケ2日目お疲れさまでした。
コミケにて投稿させていただいた「顔面研究」についての研究進捗をこのブログでもまとめましたのでどうぞご覧ください。
1 オタク語
1.1 オタク語とは
オタク語とは、元の言葉一音ずつを法則に基づいて変形することで得られるオタク特有のキモイ言語である。一時期流行ったらしいが、現在使用しているオタクは数少ない。
1.2 オタク語の文法
オタク語の文法には、基本文法「ア行→子音m変換法則」「母音→ei変換法則」と、応用文法「藍井エイル天然記念物の法則」が存在する。
一般的には一音一音ごとに上記の3つの法則が重要視されるが、オタク語にした時の言葉の響きや面白さを考慮して、一部の音のみに3つの法則を適用するケースや、例外の変換が用いられるケースがある。3つの法則はあくまでオタク語の基礎として理解しておき、例外はその都度頑張るしかない。
ア行→子音m変換法則
子音が存在しないa i u e o→ma mi mu me moに変換する。
(例)オタク→o ta ku→mo ta ku→モタク
母音→ei変換法則
(子音)+a i u e o→(子音)+eiに変換する。
(例)モタク→mo ta ku→mo tei ku→モテイク(ta→tei一部の音に適用)
2 顔面研究(途中報告)
2.1 「顔面」派とは
顔面派とは、声優の顔の良さを基準にして推し声優または好きな声優を決めるオタクのことである。顔面派の中には、声優の顔面のみで推しを決める顔面派もいれば、顔面の比重が大きいが他の要素も考慮して推しを決める顔面派も存在する。〇〇派は他にも声帯派、身体派、思想派や演技派等が存在する。ちなみに筆者は顔面6割、声帯3割、その他1割である。
2.2 顔面研究の内容、進捗
顔面派は顔面派らしく、声優の顔面の特徴や、誰と誰が似ているのかなどを客観的に検証するために、声優の顔面の画像認識や分類をテーマに行っている。
今回の顔面研究では、二種類の声優の画像群を作り、パターン識別器に学習させ、検証するテスト画像がどちらの声優の画像群なのかを判別するプログラミングを考えた。
画像から顔のみを検出して顔面画像を新たに作成するソースコードA、顔面画像からピクセルごとの色の成分を取り出し訓練データおよびテストデータを作るコードB、訓練データをパターン識別器(OpenCV SVM)に学習させ、テストデータの結果を出力するコードCを作った。以下ではソースコードの概要を説明する。
・ソースコードA
用意した任意の声優の複数画像を読み込み、顔を感知できるOpenCVカスケード分類器を使って顔面の座標を取り出し、顔面画像を白黒100*100ピクセルで保存した。その際、顔面座標を多少動かした画像、ズームイン画像も保存し訓練データの素材を増やした。
・ソースコードB
ソースコードAで作成した100*100の白黒画像(訓練データの素材)の1ピクセルごとで白黒数値(0~255)を求めた。白黒画像一枚あたり10000個の数値を訓練データまたはテストデータとして保存した。
・ソースコードC
訓練データをパターン識別器に入れ、各声優の訓練データにそれぞれ1、-1の名前(ラベル)を付けた。テストデータを入れ、1、-1のどちらの領域にテストデータが含まれているかを判定し出力される。
2.3 今後の顔面研究の課題、目標
まず、今回の一連の画像認識の精度について、結果の精度を高めるために以下2つのソースコードの追加が不可欠である。
(1) Webサイトから画像を自動でダウンロード、指定ファイルに保存する。
Pythonなどで使われるスクレイピングと呼ばれるWeb情報を入手する方法で画像を自動でダウンロード出来るようにしたい。手動であると限界がある上、ソース画像が致命的に足りない。パイソン?フィーザキー?分からん。
(2) カスケード分類器で顔面切り抜きに失敗した画像を自動で破棄する。
顔面切り取りに失敗して顔が映っていないものが訓練データに含まれていると訓練データの領域にずれが生じてしまう。仮に自動で画像がダウンロードできるようになり膨大なソース画像を検証する際に、当然顔面切り取りに失敗する画像も多くなる。その上Webから自動で取り込むと本人の顔面に関係ない画像も紛れ込む可能性が高い。駄目データの比率を上げないために実装したい。
今後の目標としては、今回画像認識について触れることができたので、今度は顔の特徴に関する研究ができたらいいと思っている。例えば任意の声優の顔面が好きな理由はどこの顔面部位なのか考えたいとき、任意の声優の顔面画像のどの部位が画像群を通して検出またはコンスタントに一致しているかを考えることで解決できる可能性がある。