読者です 読者をやめる 読者になる 読者になる

実践コンピュータビジョンを買った。

週末に、動画について顔検出をして、笑い男マークを上書きするというコードを書き終えた。
ネット上に笑い男(静止画)の上書きについては落ちていたので、外周の文字部分が回転するバージョンのコードを書いてみました。
といっても簡単なもので、1フレームごとに2度回転させるというだけ。フレームごとの検出された顔の対応をとるということだけで特に難しいことなく書けました。

ということで、そろそろきちんと画像処理周りの勉強を進めるための参考書を週末に探した。
O'reillyの、「実践 コンピュータ・ビジョン」にするか、「詳解 OpenCV」にするか。
前者はOpenCVというよりは、画像認識の基礎理論を学ぶ。OpenCVについては最終章のみ。
後者はまさにOpenCVの使い方について。

基礎部分も目を通しておきたかったので、土曜日に「実践 コンピュータビジョン」を購入。
1章が終わりました。NumPy, Matplotlib, Scipyの使い方について。Pythonの基本ツールについてという感じですね。後半は画像を数学的にどのように扱うのか、の初歩的な内容。輝度について微分することで境界を検出するとか、画像認識の分野に初めて触れる身としてはなるほどねーという感じ。一方、この分野の全くの初学者には、懇切丁寧に書かれている、とは言えないかも。記述子ってなんやねん、とか。

今、2章の特徴点抽出について。
Harrisコーナー検出器について。そもそも、エッジとは、コーナーとは、の基本的な考え方は、こちらのスライドの7ページ目からがとてもわかりやすいですね。
http://www.mi.t.u-tokyo.ac.jp/harada/lectures/IIT/internal/04_detector_descriptor_20160511.pdf
今まで、Pythonでの行列演算は特にやってこなかったので、記述式にまだ慣れない。

特徴点抽出は、カメラ画像についてフレーム間の対応をとって、画面内の物体の動きをトレースしたりするために使うのかな??
 
 SIFTについて。本書の範囲を超えるので外のライブラリを使うとのことで、めんどくさかったので
 https://www.blog.umentu.work/python3-opencv3%E3%81%A72%E3%81%A4%E3%81%AE%E7%94%BB%E5%83%8F%E3%81%AE%E4%B8%80%E8%87%B4%E3%81%99%E3%82%8B%E7%89%B9%E5%BE%B4%E3%82%92%E7%B7%9A%E3%81%A7%E7%B5%90%E3%81%B6/
 を参考に。opencvの中に特徴量のライブラリもあるようなので、早いところopencvまで進んだほうがいいのか??

最近やっていること。

2017年も既に2月が終わろうとしているけれど、2017年の目標をつらつらと。基本的には、どこの世界でも使える能力(語学、コンピュータ)、今の業界で必要な能力(資格)、趣味(コンピュータ、読書)のバランス、メリハリをつけながら一年過ごしたい。

 

語学

基本的には英語。その次に中国語。中国語は今年から始めました。

・英語:

今年中に、TOEFL iBTで105点を目指す。上半期はボキャビルの増強、リスニング力の再強化をメインに。4月あたりからインターネット英会話か何かを始めようかな。

 

・中国語:

大学生のときに第二外国語として1年間勉強したけれど、改めてやり直そうと思う。韓国語と迷ったが、ビジネススキルの汎用性として中国語にする。

参考書はいろいろ悩んだが、「本気で学ぶ中国語」

 

本気で学ぶ中国語(CD BOOK)

本気で学ぶ中国語(CD BOOK)

 

 

を選びました。やっぱり発音が大事なので、シャドウィングをメインに。どれくらいのペースでやれるかは未知だけれど、この本で準4級・4級に対応しているようなので、今年中に4級合格までいけるといいな。

 

・コンピュータ関係

今はopencvを触っているけれど、大学生のときには人工知能周り(SVMとか)を触っていたので、ここもおさらいして、何かしら面白いものを作りたい←

また、ネットワーク分析の分野で扱いたいデータがあり、どうデータ取得してクリーニングするかを思案しているところ。

 

・資格試験関係

夏(7月頃)にある仕事関係の資格試験に合格すること。幅広い知識が必要になるので、きちんと準備をする。

 

・読書関係

実用書だけでなく、小説も積極的に読んでいきたい。一方、部屋のキャパシティや予算も考えながら本を選ぶことを覚えたい。

 

OpenCVの導入とお勉強。

OpenCVの導入、勉強などにあたって、参考にしたウェブサイトなどを備忘的にメモ。


OpenCVの導入
HomeBrewでinstallしたOpenCVをpyenvから参照する
http://qiita.com/toohsk/items/64aed6de2b70a111bfb0

画像解析 opencv python入門
http://qiita.com/northriver/items/d6b73da79a13bf3526e2

OpenCVとVisual C++による画像処理と認識(13)
http://ishidate.my.coocan.jp/opencv_13/opencv_13.htm
:私の環境ではカスケード分類器のディレクトリが不明だったので、ここのフルパスを参考に探し当てた。。

Pillow(Python Imaging Library)のインストールと簡単なサンプルコード
http://www.mwsoft.jp/programming/computer_vision_with_python/1_1_pil.html

OpenCVについていろいろまとめ
OpenCVを基礎から学べる記事・スライド画像処理をやるなら知らないと損!OpenCVがわかる資料まとめ
https://career.levtech.jp/guide/knowhow/article/71/

OpenCV-Python Tutorials
http://docs.opencv.org/trunk/d6/d00/tutorial_py_root.html

・練習サンプルなど
Pythonの学習の過程とか
http://peaceandhilightandpython.hatenablog.com/archive/category/OpenCV
:基本的なところから、顔認識まで。

Python + OpenCV で雑コラ動画を作成する① 顔認識
http://qiita.com/k_sui_14/items/5386db1a118103b1828f#_reference-9014de87db4aac54dcbd
:画像、動画における顔認識。

やさしいハフ(Hough)変換講座
http://qiita.com/YSRKEN/items/ee94c7c22599c2374722
:線や円の判定に用いられるハフ変換の理論について。


うーん、ウェブ上に転がってるのだとこの当たりが限界かな。一冊くらいO'Reilly買って勉強すべきか。
TensorFlowに移るにあたっては、OpenCVで顔認識ー>顔の部分を切り出して、正規化されたデータを作る、というところでOpenCVが用いられる。



以上の練習を勉強して、とりあえずは画像、動画に対して顔認識を行い、笑い男のマークを上書きするところ迄は簡単に出来た。OpenCVとはまた別のところになるが、動く笑い男マークを上書きすることを第一の目標としようか。

 

Pythonの環境構築について備忘メモ。

今迄ずっとWindows機で開発をしていたけれど、ふとしたきっかけで開発環境をMac機に移すことにしたので、備忘をかねてメモ。参考にしたウェブサイトなど。

なお、MacOSはMarvericks。

【環境構築】

・Python2.7 と3.0 を導入。
MacPythonの開発環境を構築してみる
http://no-title.com/programming/python

・開発環境のAtomを導入。
AtomPython入門(途中)
http://qiita.com/SatoshiRobatoFujimoto/items/9bf40319d4fabf0bc246

MeCabを導入。
Python3で形態素解析エンジンMeCabを使えるようにする(2016年3月版)
http://qiita.com/grachro/items/4fbc9bf8174c5abb7bdd

・Numpy, SciPy, Matplotlib
OS XにHomebrewでNumPy, SciPy, Matplotlibを入れる(2015/11現在)
http://qiita.com/aKenjiKato/items/c45cd184f8f648ecb161

・Matplotlib導入時のエラー対処。
Mac OSXへmatplotlib導入時メモ
http://vendettaweb.net/?p=165
Homebrewでbrew updateに失敗する(解決済み)
http://qiita.com/n-satoru/items/6bf7f8b4edb2263fbc92
pyenvとvirtualenvで環境構築した時にmatplotlib.pyplotが使えなかった時の対処法
http://qiita.com/Kodaira_/items/1a3b801c7a5a41c9ce49

 MeCabの画面出力の際の文字コードの扱いで、結局2.7をメインに使うことにする。3.0はほとんど使ったことが無かったのだけれど、ユニコード型の扱いが結構かわっているんですね。過去に書いたコードのリサイクルもできなくなるし、まあしょうがない。

この後、OpenCV、TensorFlowを入れてこの辺りを勉強しようと思っている。

 

読書記録【2016/09/10】

読んだ

・情報を活かす力(PHPビジネス新書)

第3章 私の情報整理術

スクラップ以外は、基本的には同じような体制をとっていた。情報を統合的に整理できる方法がないかなあ。

第4章 私の読書術。

定本を探すとか、5〜10冊読むとか、その通りだなと思った。本の整理はとても参考になる。

第5章 私のニュースの読み解き方

元記者ならではの感覚。日米での言語感覚の違いなど参考に。

 

土日の方が忙しいのはどうすべきか。。

読書記録【2016/09/07】

【読んだ】

・詳説 世界史B(山川出版社
第11章 欧米における近代社会の成長
産業革命アメリカ独立革命フランス革命とナポレオン。

産業革命:経緯を含め、他の書籍等で何度も整理が必要だと考える。囲い込みによる農民の雇用流動化など?
アメリカ独立革命:時代関係、人物関係など、整理。
フランス革命:これも事実関係の整理。原因は、英国との戦争による国家財政逼迫から、特権階級への課税のための三部会。情報整理。
 
・情報を活かす力(PHPビジネス新書)
序章 情報活用力をいかに高めるか
マイナス金利、を一言で説明できるか?:この観点は極めて重要。30秒で簡潔に説明する力?

第1章 私の情報収集術
情報ソース(テレビ、新聞、雑誌など)ごとの特徴と違い等。あまり興味ない。
問題意識=キーワード、疑問ノートの作成のすすめ、ニュースの要約訓練、などは参考になった。

第2章 私の取材・インタビュー術

記者と営業は同じ.質問をする=みんなが聞きたいことは何なのか?を考える。


詳説 世界史 は4週目くらいか?とにかく何度も読んで、一問一答をやって、繰り返しやることが今は大事かな、と思っている。
「情報を活かす力」を読み始めた。本を買うときは目次を見て買うようにしているが、少しはずれだったかもしれない。

読書記録【2016/09/06】

【読んだ】

自民党政権の予算編成(勁草書房

第7章 「復活折衝
予算編成過程における最終段階である復活折衝について、大蔵省、各省、自民党の役割・戦略をそれぞれ解説。ほかの段階と比べ、自民党(の特に執行部)の役割が相対的にこの段階では大きいことが印象的。基本的に古い本なので、最近も同じなのかは要注意。

夜日程ありにつき、ほとんど読書の時間を取れず。