みなさん、"みなさん、かずー氏好きですか?"...そうですね。今回はそんなKazoo04に捧げる記事を書いていきたいと思います。技術的、専門的な難しい内容は全然出てこないので気軽にどうぞ。-「Kazoo04に会ってみたい」ここ数年、このようなワードがインターネットを闊歩するようになりました。人類の歴史、インターネットの歴史から見ても、ここまでKazoo04が切望された時代はおそらく初めてなのではないでしょうか。これは、Kazoo04によって生み出された言葉やクラスタが世界に多大な影響を与えた証拠であると言えるでしょう。Kazoo04は一個人であり、人の身。Kazoo04は複数存在せず、その身は多忙を極めています。地球上に存在する70億人からKazoo04を見つける事、それは宇宙に広がる星々から彗星を見つけるに等しいと言えるでしょう。"もし、街中でKazoo04とすれ違ってしまっていたら?"そうです。みなさんもKazoo04と会うチャンス、Kazoo04チャンス*1を常に与えられているのです。みなさんがそのKazoo04チャンスを逃さないようにするには街に繰り出し、常にKazoo04を意識し、認識する必要があるのです。-私は"機械学習"を研究テーマとし活動しています。近年では、画像に写ったモノを認識するタスク、"一般物体認識"、"特定物体認識"の分野においても機械学習がホットなワードとなっています。例として、最近発表されたGoogleの一般物体認識技術のいくつかを見てみましょう。TechCrunchこちらでは、ストリートビューに写っている街区番号画像から数値を解読したり、有名なCAPTCHAの認識を行っています。Learning"の一種を使い、その精度は90%を超えています。imagesこちらは、写真からの物体検出、シーン認識ですね。road」という文章を生成しています。このような研究成果は、身の回りにも溢れ始めています。Learning)を用いて画像認識、シーン認識によってラベル付けを行っています。Google+のアカウントがあれば、画像を投稿し"dog"や"car"で検索する事で結果を得られます。このように、機械学習を用いて画像内に写っている物を分類(認識)する技術が多く研究されており、その精度は年々向上しています。Adam"*3を発表しています。-機械学習の学習器は、以下の様に多くのデータを用いてパラメータを調整し、望みの解を出せるような学習を行います(教師あり学習の場合)。-GoogleやFacebookみたいに学習した学習器を使ってこんな事が出来ればいいよね。-機械学習では主に"大量のデータ"を用いて"学習"を行うと説明しました。データは正解情報を持つポジティブデータと、誤答であるネガティブデータを必要とします。ネガティブデータは背景っぽい画像や適当な人画像データセットから用意できました。必要なのはポジティブデータ。Kazoo04を認識する上で必要なデータ...そう、Kazoo04の写真です。インターネットでKazoo04の画像を検索してみました。そこで私は裏ルートを使用しました。なんと偶然にも私はKazoo04と大学が同じ!なんとなんと偶然にもKazoo04と研究室が同じ!ということで、研究室の画像サーバを漁って、Kazoo04の画像をスクレイピングする作業を決死の手動で行いました。ここだけの話、Kazoo04はシャイなのか研究室カメラの写真が少なかったです。「大学生にもなって"俺写真写るの嫌いなんだよ"とか言ってたのかなアイツwwキモww」と思いました。Distortion,...etc)を利用しました。一般的には固定的なロゴ認識に強くなったり不均衡データを補強するものが多いですが、Kazoo04の画像の少なさが目立ったので採用しました。後輩がちょうど研究しているので、参考資料も多かった上、この辺りはOpenCVやImageライブラリを適当に使ってよしなに書けますからね。後は、株式会社ウサギィに行った際にKazoo04を盗撮する等してデータを増やしました。そんなこんなで私のKazoo04フォルダには、合宿先で浴衣なKazoo04やフットサルで汗を流すKazoo04、歪んだKazoo04、逆さのKazoo04がもうKazooKazooしました。Ka動物園04ってね。-学習器には"RandomForest"を用います。SideswipeKazoo04が紹介しているからです!あのKazoo04が紹介している学習器が精度出ない訳ありません。Kazoo04が良いと言えば良い。Kazoo04がYesと言えばYesなのです。RadomForestは「決定木を沢山作って多数決を取る」機械学習アルゴリズムの一種です。Kazoo04も紹介しているように、学習が高速で精度がよく、ノイズに対しても強い等の特徴を持った学習器です。ありがたい事に、OpenCVやPythonの機械学習ライブラリとして有名なscikit-learn*4に実装されており、使いやすさの点でも強力な機械学習器の一つです。今回はscikit-learnのRandomForestクラスを使いました。-機械学習の生成モデル(学習器)にデータを入れる際に、生のデータ(画像であればRGB値)をそのまま入力すると、計算量が膨大かつ学習が難しくなってしまうという問題が知られています。そこで画像の特徴をベクトル量として抽出してから入力にするのが一般的です。・メインとなるのは"Kazoo04"か"そうじゃないか"の二値分類であること・人間でありかつKazoo04の顔である事を判断すること・実装が面倒なのでライブラリとかで適当に出来ることを考えてSURF特徴量*5とHOG特徴量*6を利用しました。特徴点抽出と勾配の特徴抽出でなんとかしてみましょう。SURFはOpenCV、HOG特徴量はPythonのImageライブラリに入っているのでそれを利用します。-特徴抽出をおこなったあとscikit-learnが対応している入力形式にします。大きさを調整したりリスト形式にしたりよしなにしてやります。後はscikit-learnのRandomForestモデルを設定、入力して学習させます。今回のパラメータは大体こんな感じ。今回の学習構造を書くとこう。本来は主成分分析を用いたりもしますが、少し面倒なのでこう。-学習し終わった学習器によって実際の画像からKazoo04を認識させます。Google検索で出てきたKazoo04が写っている写真を利用してやってみます。1.RandomForest入力サイズの窓を作り特徴量を取って検出2.人が写っていると判断したら赤枠で囲む3.窓を少しずつ移動させる4.Kazoo04っぽさを判別するため赤枠の中をさらにRandomForestで走査を繰り返しします。この方法は、物体の大きさ変化に弱くなることが考えられますが、今回はスケール変化のみで対応しました。-以上の方法でなんとなくそれとなく適当にPythonで書いてみました。その結果がこちらです。Cap2014で表彰された際の写真をお借りしました。これがこう走査するスケールを大きくはしましたが、赤枠が沢山出てしまっています。k-meansを使って沢山集まっている部分をまとめます。平均をとるイメージでこう良い感じですね。細かい走査の際に顔部分も自動で切り取ってみます。顔画像をメインでスクレイピングしたので顔の部分はお手の物です。ああ...Kazoo04...///そんなこんなでKazoo04を自動で認識し、切り取る事が出来ました。いくつか研究室の画像をテスト画像にして試しましたが、大体Kazoo04でした。細身でメガネでクールなヘアスタイルの同期が居なかった事に感謝ですね。1日講義受けながら適当に書いたら、案外すんなり出来たので良かったなといった感じです。画像のスクレイピングとラベル付けには二日掛けました。後、自分の写真も入れまくって、角度次第でKazoo04と認識される場所が10%くらいある事もわかりました。愛ゆえにKazoo04に近付いている証拠かも知れませんね。-せっかくなのでとことん、しっかり解説しようとか思いましたが、研究が忙しかったので断念しました。Calenderの足を引っ張る方になってしまいました。Kazoo04の画像が少なかったのと、特徴量設計が甘かったのは痛かったのか、メガネで細身な人が5~10%程でKazoo04になってしまったのも悔しいです。この手のプロジェクトによくありがちな「学習用のデータを作っている時に飽きる」現象も体験し、これやってる暇があったら研究するよなと強く思いました。こんなことばかりやってるからいつもKazoo04に怒られるんですね。-なんかまあちゃんとデータとか特徴とか分かってればライブラリ使って気軽に教師あり学習が行える世の中になってしまいました(ありがたい)。今回TeX数式を入れるのが面倒それなりに分かりやすいように書いたつもりですが、機械学習だけでなく情報工学は物理やら数学やらの塊みたいな感じです。自分の研究室でこんなゼミ発表したら数式で頭の先からひざまで殴られるレベルです。機械学習に関しては、このような記事が出る程に、様々な知識を要し複雑化しているとも感じます。Qiitaそれでも、この分野に興味を持ってもらえればと思いもあって、少しだけ考えて書きました。最新の研究では、ここに書いたものを応用した沢山の面白い技術が出てきています。他にも機械学習界隈の成長は著しく、ニュースサイト等でも多く見られるようになっています。一緒に超絶楽しい最適化をやってくれる人、機械学習使って面白い事をやってくれる人が増える事をそれなりに想ってます。P.S.くろていは"Kazoo04"として殆ど認識されませんでした。最近はWebスクレイピングにお熱である。-スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。