OpenCVと英語勉強プログラム案

最近人と写った写真をブログにうpする機会が多かったです。

卒業シーズンだから当然っちゃ当然ですけど。

で、毎回人と写った写真は顔の部分を黒く塗りつぶす作業をしていたんですが、これが面倒だな・・・と。

そこで以前あった、画像の顔を認識して顔の部分に攻殻機動隊の笑い男のマークを貼るプログラム!あれを作ろう!と思いました。

どんな感じかと言うとこんな感じ。

黒塗りよりは味がありますよね。

という訳でこれを自動化したくて有名な画像認識ライブラリでもあるOpenCVを勉強中です。

これがなかなかよくできてて簡単な顔認識や画像の合成くらいならすぐ出来ます。

実際ソースコード50行未満で簡単にできました。

が・・・未だプログラムの完成には至らず。

今のところの問題は以下のような感じ。

  1. 画像の透過をどうするか。合成先の画像(顔写真)もjpgだし、合成画像(笑い男マーク)もjpgなので劣化が少ないように透過するにはどうすべきか
  2. 合成画像(笑い男マーク)を縮小したときの劣化をどうするか
  3. 合成画像(笑い男マーク)をどのようにして柔軟にサイズ変更するか
  4. 顔検知の偽陽性と偽陰性にどのように対応するか(GUIでON/OFF変更?)

などなど、問題は結構あって完成には至ってないです。

やっぱプログラムそこそこ楽しいし、このソフトは完成、実用化まで持っていきたいです。

探せばフリーでこういうソフトありそうですけど、自分で作ることに意味があると思ってます。

ちなみに数年前に流行った笑い男ハックWebアプリは今はもう無くなっちゃってます。

似たような奴がありますけど、それは画像サイズが150KB以下という制限があったのでダメでした。

話は変わって

最近ひたすら英単語を覚えているのですが、覚え方を少し変えました。

以前は単語を読んで紙に書いていたんですが、今はPCでタイピングして覚えるようにしています。

実際はどっちがいいのかわかりませんけど、タイピングでも変わらない気がしてます。

で、ひたすら単語をtxtファイルに書いているんですが、せっかくならその単語リストをいわゆるデータベースとして利用して英単語学習ソフトを作れないかなーと思いました。

英単語が出てきて日本語訳を4択で選ぶ学習ソフトとか。

いつも思うんですが、英単語の日本語訳を4択で選ぶクイズ(勉強)って意味あるか怪しい気がしませんか?

英単語からなんとなく推察できるっていう。

例えばですけどbookletって単語の日本語訳を4択で選ばせる問題が出てきたときとか。

選択肢が本、小冊子、本屋、しおりとかになってたらまあ悩んでもいいですけど、大抵関連性のないとんちんかんな選択肢ばっかりですよね。

そこを類似語検索機能とか実装してある程度考えさせる4択にしたらどうだろう・・・と。

例えばdespiteの4択を用意するときは似たような単語であるdisputeの訳を持ってくるとか・・。

でもこれやると凄くアルゴリズムで悩みそうなので多分自分には無理ですね。

上の本、小冊子、本屋、しおりはそれぞれbook, booklet, bookstore, bookmarkで全部bookが関連してるから簡単につくれそうですけど

despiteとdisputeは何を持って似てると言えばいいのか分からないです。

ほぼ同じ並び(d*sp*te *の場所以外が同じ)とか・・・?

そんなんじゃ使い物にならない気がするような・・・

同じ単語の語尾が違うのばっか拾って来たら品詞の違いで簡単に推測できる4択とかになっちゃうし。

英単語学習ソフトは考えて楽しんで、結局作りそうにはないです。

顔認識の方は何とか頑張ってみようと思ます。

そんな1日でした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です