とある京大生の作業ログと日々の雑記

コンピュータサイエンスについて学んだことを可視化したり日々の雑記をまとめてます。

コンピュータビジョンの勉強をしました

こんにちは、コミさん(@komi_edtr_1230 )です。




ま、そんなことは置いといて、さっさと本題に入りましょう。




今回はコンピュータビジョンの書評です。



きっかけ






正直なところCVは勉強する予定になかったんですよね。




予定がなかったというか、完全に存在を忘れてたという表現の方が正確かも?




前回GoodfellowのDeep Learningの書評が終わったあたりで、ふとカメラとかの顔認識システムってどうなってるんだろうって思ったんです。




2012年くらいからカメラの機能としてあるけど、そのころはまだディープがバズワードになる前だったんで、一応技術として顔認識のシステムはあるんだろうけど、そういや知らないな〜って。




そんなことを考えてたとき、そういやOpenCVって機械学習系だと便利ツールの代表格みたいなところあって、「もうこの際OpenCVの中身を知っとくべきだしCVの勉強やってみるか!」ってのが主な動機だったりします。




そんなこんなでGoogle先生に「computer vision pdf」って調べてみると良さげな本が見つかりまして、それで勉強開始しました。



全体の感想






ひと通り読んでの感想としては




CVの基礎を詰め込んだ歴史書




って感じでした。




というのも、この本が書かれたのって2010年で、まだディープラーニングなるものがバズる前だったんですよね。




なので主な研究紹介がだいたい90年代前半から00年前半がメインで、だから画像認識のアルゴリズム紹介とかだと「今だったらニューラルネット振り回した方が圧倒的にいい成績出てるんだよなぁ....」って思ったり。




まあ確かに泥臭いアルゴリズムはたくさんあるんですけど、昔の提案手法って基本的に単純なアーキテクチャばかりなので学ぶべきところは大いにあるなぁとも思いましたね。



良かったところ






とにかく数式での解説や具体的な図やグラフを用いた解説が豊富だったのは良かったと思います。




最近の機械学習本って数式を使わずに定性的な説明をしてコードを書いて「これで画像認識ができましたね!」みたいな本が多いじゃないですか。




個人的にはこういう解説方法は良くないと思ってて、やっぱり機械学習などの実装ってのは背景に数理モデルとかが存在して、それを具体的に数値実験できるってのが魅力だと思うんですよね。




あんまりこういう解説が主流になってしまうとインチキ機械学習erが増えてしまって...という気がするんです。




とまあそういう理由から、今回読んだ本は数式を使った解説があったのは良かったと思います。




ぼく自身としても今までマルコフランダム場についての理解が甘かったりってのを認識できたし(画像認識ではマルコフランダム場はめちゃくちゃよく使う)、これ以外にもアニーリングの知識もつきました。




あとセグメント処理でのWatershedセグメンテーションとかHough変換、グラフカットとか知らない概念がたくさん出てきたので、今回これらを知れたのは良かったと思います。




とにかく知らないアルゴリズムをたくさん知れたのはめちゃくちゃ勉強になったと思いました。




まあぼく自身今まで全く画像処理とかを勉強したことがなかったので......w




実際のところ通読しただけで実装に関してはかなりサボっちゃったんですけど、これでOpenCVの中身がある程度把握できたと思います。




そういう意味で、OpenCVが自分にとってブラックボックスだったのが氷解できたような気がして、これが今回CVを勉強して1番の収穫かな〜って思ったりしてます。

残念だったところ






基本的には数式の説明とかが多くて良かったんですけど、3Dレンダリングとかに関してはあんまり数式を使ったりということはなくて、テクスチャや反射率をどう処理してるのかっていう解説だったので、ちょっとここらへんに関しては勉強というより読書になってしまったかなぁという感じが....




まあ数式を使った説明とかは難しいかもですけど、どうも読んでて実装のイメージがつかなかったのでレンダリング系に関しては「んー....」という感じですね。




まあ実際のところ今後自分が3Dのデータを使って云々やるかと言われた恐らくなさそうだし、今はUnityとかBlenderとかの便利ツールが転がってるのであんまり細かいことは気にしなくていい時代なのかもしれないんですけど....




まあ何かしら困ったことがあればその都度追加で勉強すればいいんで、今回ひと通り勉強して「困ったときにその都度勉強する」ための下地ができあがったような感じがするので、まあ及第点といった感じですね。









まあこんなところでレビューは終わりにします。



近況報告






スイス滞在も残り2週間半となりました。




近況はというと、まあ相変わらず勉強ばっかりです。




11月中は用事があってジュネーブに一度行ったっきりで、それ以外はホントにずっと寮と図書館の往復運動をしてました....




うーん、人生に彩りがない。




スイス留学、これでいいんだろうか....?




まあこの留学ではやりたいことをとことん勉強するって決めてたので別にいいかという気持ちもあるんですけど、どうも周りの留学生がクラブに行って女の子引っかけまくってたりしてるのを見てるとなんとも言えない気持ちにもなったりします....(自分も女の子を引っかけたいという意味ではない)




というような感じなんですけど、勉強以外のネタとしては前にEPFLの教授から「大学院からEPFL来れば?」なんてお誘いをもらいました。




機械学習の授業を履修してて、この前に模擬テストがあったんですけど問題がめちゃくちゃ簡単で(線形回帰の正則化項のノルムいじったりとか)、速攻で仕上げて帰ろうとしたら教授に「お前早いな〜!」って呼び止められてそれで簡単に雑談してたんですよね。




そのときに日本では強化学習をやってたとか本を出版したとか云々の話をしたら、院からEPFL来ればいいじゃん!と。




まぁ悪くない話だけどお金かかるしな〜ってことを話したら「うちは留学生にはめっちゃ奨学金出すし、出版物とかあるんだったらスイス政府からも別途で奨学金もらえるだろうからむしろ余裕だろ!」とダメ押しされまして。




ちょっと今はインターンが決まらないとかで云々なってるのに、そこで大学院どうするの問題を持ってこられてぼくの頭はキャパオーバーです.....




ただまぁ大学院もじきに決めなきゃとは思ってて、ある程度は頭の片隅に置いとかなければなぁなんて思ったり。




実際今のところどこの大学院がいいかってのはあんまり決めてなくて、とりあえず国内だと京大の情報学研究科か東大の新領域、もしくはNAISTって感じなんですよね。




海外の院はそこまで考えてなくて、ただオーストラリア国立大とシンガポール国立大はちょっと視野に入れてたりという感じです。




てか日本と海外だと学部のカリキュラムも少し違うだろうし、正規で海外の院に行くなら修士よりも博士で行くのがいいような気がしてるんですけど、実際のところはどうなんだろう?




てか海外行くんだったら日本の院に籍を置いて研究留学で短期で来るのがベストじゃね?とも思ったり....




個人的に博士に行くか自体はまだ決めてないんですけど、博士行くんだったら待遇とか諸々の条件で絶対に日本ではやりたくないんで、博士留学はありだな〜って思ってます。




んーまあ大学院についてはまた今度考えよう。




話は変わりまして、インターンの方はというと全く進展なしです。




まず返事が来ないんですけど....w




恐らく各社の人事が時間かけてゆっくりレビューしてるんでしょう。




今まで3回インターン推薦が来たAmazonはというと、この前4回目のインターン推薦が来ました(?)




f:id:komi1230:20181125065514p:plain




一体Amazonインターンはどうなってるんだ.....




今まで推薦が来たのはイギリス、カナダ、アメリカの3つだったんですけど、この前確認したらイギリスはどうも選ばれなかったっぽいんですよね。(ステータスにNot Selectedって書いてあった)




ただ不合格通知は届いてなくて、代わりにAmazon USのところにSoftware Development Engineer, Recommendationsの手続き画面が。




てかこのレコメンデーションシステムの仕事は自分で申し込んでないし、てかもはやStudent Programじゃないし....




ただまぁレコメンデーションシステムは機械学習系(特に強化学習系)の仕事なんで、これを見る限りだとぼくのレジュメは評価されてちゃんとした部署に回されてる感がありますよね(気のせい?)




てかぼく基本的に大企業には「どっか引っかかれ〜」的な思いで複数の仕事のインターンに出すようにしてるんですけど、一部だけ不合格通知が届いて他は返事がまだ帰ってこないってのが割とあるんですよね。




例えばGoogleとかMicrosoftのリサーチインターンはすぐに帰ってきたんですけど、それ以外のソフトウェアエンジニア系はまだ帰ってこないんですよね。




これは期待していいんだろうか....?




なんとも言えないんですけど、ここらへんについては結果が出たら追ってまた報告します。




とまあスイス留学も終盤に差し掛かって気持ちよく留学が終わるかと思いきや、終了2週間前にして未解決問題ばかり立ちはだかるばかりで全然スッキリした気分ではないです....




うーん、がんばろう。