mirenn所感

お絵かきとプログラミング

人類最後の恋をしよう[漫画]

漫画:人類最後の恋をしよう

f:id:mirenn:20170807191253j:plain

f:id:mirenn:20170807191300j:plain

f:id:mirenn:20170807191310j:plain

 

 今回は自分の勉強のことについて、あれやこれやと書いていきます。

 最近ちょこちょこ基本情報技術者試験の問題をやっています。選択問題なので暇なときかつ意識が高まったときにやってます。今のところわりと面白いというかこの手の勉強を体系的にやってないので、本当にこれ基礎的で知っておくべきことなことなんだろうなところを抑えられて良いなと思っている。秋期の申し込み期限が迫っているけど、他にやることいっぱいあるなかで実際に受けるかどうかは迷いどころ。この試験よりもまず私は検査技士の国家試験の勉強をしなきゃいけないのでは?と思いつつ、基本情報技術者過去問道場|基本情報技術者試験.comでポチポチ選択問題を解いている。

 

 Twitterに張り付いていると競技プログラミングをやっている人のツイートがまわってきて、新しい競技プログラミングの本が公開されているというので興味本位で見てみた(Competitive Programmer’s Handbook : https://www.cses.fi/book.pdf)。まだ序盤も序盤であるソートのところまでしか目を通していないけど丁寧な書き方でわかりやすい。maximum subarray problemという問題を効率よく解く手法のとこなんかは読んでいてへ~と思うところがあって、アルゴリズムの奥深さの一端に触れた気がする。ソートなどは競技プログラミングにとどまらない一般な計算機科学の話だが、競技プログラミング特有だろうなという内容の説明も面白かった。競技プログラミングではコードをなるだけ短くすることが正義だという趣旨のところで、defineを使ってfor文をもっと短く書く手法を紹介していた。私はそんな定義の仕方を初めて見たので、目新しく見えて新鮮だったというかすごい激しい書き方だなと思ったんですけど一般的なんでしょうか。この本は暇なとき眺めるのに悪くなさそう。まぁ、ほどほどに読みたい。

 大学院でやることは画像処理関係なのでもうちょっと画像処理に関わる本を読むべきだなと思って、画像処理研究者おすすめの本を探してきて見つけたのがProgramming Computer Vision with Python(http://programmingcomputervision.com/downloads/ProgrammingComputerVision_CCdraft.pdf)。ドラフトが無料で公開されているのでそれをぼちぼち読んで結構よさそうだったので、結局日本語訳版*1を買うことに決めました。書かれているコードがpython2系なので古い言語を使っているという点を気にしなければ、画像処理の世界を一望できて実際に手元で試せるというところがいいところ。画像処理っていったいどんな道具があるの? ってことをざっくり一通り知れて、それだけでも買った意味はあったと思っている。動体検知、セグメンテーション、特徴量、などなどをどうやって実装するか知れて満足。まだ、実際にコードを実行していないけどこの本の内容を使って遊ぶことで動画が作れないかと日々頭を悩ませているところ。オプティカルフローという動きの検出をする手法は、見た目にもわかりやすくて動画映えしそうで良いななんて思ったりはしているんですがね。

 

 ああ、新しい動画の構想はさておき早く動画完成させるぞ――。研究室の先輩に私のくだらないyoutubeの動画を観られてしまって、早く作れとせっつかれてしまっている。今作っているものがぼちぼち進んできたので、そろそろ出せるといいな……。

*1:OpenCVを使うだけではコンピュータビジョンの本質を理解できません。forループでピクセルを操作し行列を計算する時代でもありません。Pythonの数値演算ライブラリを使えば、ほどよい粒度でコンピュータビジョンの基礎を学べます。』という日本語訳版の煽り文句にも大いに惹かれて買ってしまった。こんなこと言われたら気になって買っちゃいますよ