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

もやしちょこれーと

りけじょのたまごのいろいろ

LaTeXまわりのあれこれ

最近研究室の先輩から引き継いだ研究室のノートパソコン(自宅用にしている)の調子がすこぶる悪くて。起動後数分でフリーズするみたいな。BIOSでHDDやメモリのチェックかけても問題なかったのに。

で、仕方なく、12月頭に一度リフレッシュして、暫くは調子よかったんだけど、先週くらいに家のwifiにつながらなくなって。古かったしついでにルータ変えて、また暫く動いてたんだけど、先日また起動後数分でフリーズするようになっちゃって。諦めてOS入れ直しました。おかげで研究進んでいません()
 
もぐり情報系学生なので、研究室のパソコンお借りするまで、自宅のメインPCは入学時に買ったLetsnoteだったので、Corei7、メモリ16GB、NVIDIAGPU内臓のハイスペックノーパソを手離したくなくて必死です。お金ないからそんなの買えないし()
 
っていうような背景で最近何度もLaTeXまわりの設定をやり直させられているので、一度まとめておこうと思ってのこの記事。
LaTeXの導入考えている方はぜひ参考にしてください。
 
環境
  • OS:Windows8.1/Windows10(どっちも同じ環境)
  • TeX:TeXLive2016
  • エディタ:Sublime Text 3

 

順番にいきます

TeXLiveをいれる

詳しくないんですが、みんな使ってるのでTeXLiveでいいと思います。

Installing TeX Live over the Internet - TeX Users Group

ここから、install-tl-windows.exeをダウンロードして、インストーラを実行します。あとはひたすらnext押していけばインストールされるよ。

不安だったら

TeX Live/Windows - TeX Wiki

あたりを参考にするとよいと思います。

これが一番時間かかります。とにかく重いけど頑張って待ちます。

latexmkの導入

TeXファイルのコンパイルってめんどうだよね。pdfを出力するためにはlatexmk->dvipdfmxで二回コマンド通さなきゃいけないし、bibtex使ってるともっとめんどくさいらしいじゃない(bibtexは今回初めて使い始めたのでコマンドラインからコンパイルしたことないので、詳しく知らないです)。

てことで、簡単にコンパイルできるように設定しておこうね、ってお話。

konn-san.com

これを参考に、ホームディレクトリ(自分の名前とかが書いてあるフォルダのことね。Windowsだと、ドキュメントとかピクチャとかの親フォルダ)に.latexmkrcというファイルを置きます。メモ帳かなんかで設定内容を書き込んで、ホームディレクトリに保存。

ちなみに、私は上のリンクの設定まんまじゃなくてちょっと変えてます。貰った設定ファイルそのままなので、なんでこれなのかはわからない。

これでlatexmkが使えるようになり、latexmk hogehoge.texでpdfまで一気に作れます。便利!

#!/usr/bin/env perl

$latex = 'platex -src-specials -shell-escape -interaction=nonstopmode -synctex=1 -kanji=utf8 -guess-input-enc %O %S';
$bibtex = 'pbibtex %O %B';
$dvipdf = 'dvipdfmx %O %S';
$pdf_mode = 3;
$pdf_previewer = 'SumatraPDF.exe -reuse-instance';

はてな記法モードへの切り替え方がわからないので引用モードでコードはるね()

Sublime Text 3の設定

ここまでできたら次はエディタの設定だよ!

私はずっとSublimeちゃん使ってるよ!Sublimeちゃんについては前に記事書いた気がするからそれを参考にしてね。

Sublime Textをインストールしたら一番最初にやるべきことは、Package Controlの導入です。よく分からなくても取り敢えず入れときましょう。

Package Control - the Sublime Text package manager

 Ctrl+´でcosole開いて、上に書いてあるコードをコピペでエンター押したら完了。Sublime Text 3を再起動します。

そしたら、必要なパッケージダウンロードしよう!

Ctrl+Shift+PでCommand Palletを開いて、Install Packageと入力。あとは順に必要なパッケージをインストール。

ちなみに私が入れてるパッケージ一覧

  • BracketHightlighter
  • Trailing Spaces
  • ConvertToUTF8
  • LaTeXTools
  • SublimeLinter
  • SublimeREPL
  • DictionaryAutoComplete

今回大事なのはLaTeXTools。

これで最低限の準備は整ったはず…!?

おそらくSublimte Textから、Ctrl+BでTeXファイルをコンパイルできると思います…!!快適!!

Additional SumatraPDFを導入しよう

www.sumatrapdfreader.orghttp://www.sumatrapdfreader.org/free-pdf-reader-ja.html

デフォルトのは使いにくし、Adobe Readerとか重いから入れるとおすすめ。

これをインストールして、Sublimte TextのPreference>Package Setting>LaTeXTools>Setting - User内のViewerとかpdfに関するところのPATHなどをすべてSumatraPDFのものに書き換えればOK。もしかしたらデフォルトでそうなってるかも?

これをやっておくと、TeXファイルをビルドすると自動でSumatraPDFが起動するようになります。

Additional シンボリックリンクを貼ろう

これだけいろいろ頑張ったSublime Textの設定、パソコンが逝っちゃったら吹っ飛んじゃう!!それだけじゃなくて、ほかのパソコンでも同じ環境で作業したいよね!!

てことで、設定ファイルをDropBoxにおいてしまおう!!

wasure.net

というのがこれ。設定ファイルがDropBoxにあったらPC死んでも大丈夫だし、ほかのPCでも共有しやすいじゃん、てお話。

DropBoxのソフトをダウンロードして、エクスプローラDropBoxがリンクされている状態にする。

C:\Users\ユーザ名\AppData\Roaming\Sublime Text 3\Packages\User

ってフォルダを丸ごとDropBoxの適当なところにコピーして、元フォルダは削除。

次に、ウィンドウズマークの上で右クリックして、コマンドプロンプト(管理者)を開いて、

mklink /D "C:\Users\ユーザ名\AppData\Roaming\Sublime Text 3\Packages\User" "G:\Dropbox\User(人によって違うとおもうけど)"

と実行。

すると、先ほど消したフォルダがDropBoxから同期されて復活します。

 

これで!!おそらく完璧!!!!

あとは快適なTeXライフをお楽しみください!!

とりあえず…もう壊れるなよパソコンちゃん…!!!!!

奢り奢られ

twitterをフォローしていつもつぶやきを楽しみにしているラブホの上野さんと大島薫さんのお悩み相談室を読みました。

er | フォロワー19万人超! ラブホスタッフ@上野さん XXX対談

これね。

で、二つ目の質問の方に、女性からで、「奢られるのが嫌なんだけど、男は何で奢ろうとするの」みたいな質問が来てるんですけど、それに対して、お二人が「何でそんなに奢られるのが嫌なんだろう?」というスタンスだったのを見て、ちょっとびっくりしまして。

男性には奢られるのが「嫌」な気持ちはあまり理解されないんだなぁと。

 

今回の場合は、相談者さんも彼氏さんも学生さんだということで、非常に親近感が沸いたので、ちょっと今まで話す機会がなかった私のカップルのお金の関係に対する考えを書きたいと思いますん。

 

 

端的に言うと、私は今回の相談者さんとほとんど同じスタンスです。

奢られるのは嫌。大学生になって多少丸くなったから、先輩から奢られるのは受け入れれるようになったんだけど、そういう例外を除いて奢られるのは好きじゃない。

もちろん、貸しを作りたくないからです。

奢りが男性にとっての保険なら、奢られないことが私にとっての保険なんです。

金銭の問題をクリアにしておきたい、というのがその意図です。

まだお付き合いしていない異性なら、奢られることで「奢ってやったんだから」という発想をされたくないから絶対に奢られない。小銭はいいけど、できるだけ割り勘。

彼氏に関しては、(自分のこういうところ本当によくないと思うんですけど)万が一別れるときにお金の問題でもめたくないから、金銭面で貸しは絶対に作りたくない。「今までさんざん払ってやったのに!!」みたいなことになったら至極めんどくさいし、まずそんなことを思われたくない。

もちろんプライドがあるのはわかりますが、だいぶ社会人で年上の方ならともかく、学生同士なら無理して奢るより、割り勘した方が会える回数も増えるしいいんじゃないかなぁと思いますね。申し訳なくなるし。

いや、頑なに払う!!って言われたら受け入れるけど、一緒にいたい、会いたい、と思ってその場に来ているわけだから、お互い同じ幸福感を感じているのならお金はイーブンでいいんじゃないかな、と思いますね。

 

 

っていうのが、私が奢られるのが嫌なわけなんですが、でも

割り勘は嫌です!!!!

これが私たちカップルのちょっと変わってるところかもしれない。

割り勘がいや、というのは「半額出すのはいや、男がちょっと多めに出すべき」という話ではありません。

会計前後にお金のやり取りをするのは格好悪い

この一言です。

お会計お願いします、って言って伝票もらって、

彼氏「9000円だから、俺が5000円出すからちよ子は4000円ね」

っていうのは格好悪い。食事の席で金銭のやり取りするなんて考えられない。中学生の食事会じゃないんだから、と思ってしまう。

お会計わけてもらうのもやっぱり格好悪いと思う。

 

要は世間体しか考えてないんですけど、男性にしろ女性にしろ、スマートにお会計済ませる人って格好いいじゃないですか。

お手洗いに行ってる間にお会計済まされてる、とか。惚れ直すよねあれ。

大学生ってもう大人なのでお会計はスマートに済ませたいです。

 

ということで、私たちは、代わり万古に奢り合ってます。大体負担額が同じくらいになるように。

例えばちょっといいディナーに行って彼が払ったら、そのあと二回は私が持ったり、みたいな。ちょっといいディナーは彼に出してもらうことが多いですね。というかそういう場合大体男性の方に伝票持っていかれちゃうので。

払ってもらうときにお互い値段は聞かないです。メニューに値段が出ないようなお店にはいかないので、大体額わかるしね。お値段聞くのも格好悪いし。

自分に男性的な部分が多いので、いい恰好したいから、彼がお手洗いに行っている間にお会計済ませたりもしますヨ。

持ちつ持たれつ。

それが一番どちらにも負担にならなくていいんじゃないかなぁと思います。

(もちろん現在の総額をもし記録してたとしたら、彼の方が多く持ってもらってると思います。食事以外のところで全額出してもらうことも少なくないので。)

 

漫画の読み過ぎですが、こういうフェアで大人な関係にあこがれてきたので、彼氏さんとの金銭関係は非常に満足しています。私は笑

p.s. 

誤解を招きそうだったので一言追伸。 

世の中にはいろんな人がいると思います。これはあくまで一つの形で、一つの意見です。別にきっちり割り勘してるカップルを否定したいわけじゃありませんよ…!自分はそうしたくないってだけの話です!悪しからず

コスメレポート:マジョリカマジョルカ ラッシュエキスパンダー ロングロングロング

応募してみたらなんかキャンペーンでマジョマジョのマスカラ頂いたのでれぽ。

マスカラの詳しい情報は公式サイト見てくれ。

www.shiseido.co.jp

 

普段マスカラとかあまりしないわけですが。

でもアイシャドーやファンデのパウダーでまつげが白っぽくなるので、した方がいいのはわかってるけど、なかなか機会がなくて。今回はマスカラにチャレンジするよい機会になりましたん。

なんでマスカラしないのかって、まあ落とすの面倒だからなんだよねぇ。今まで使ってたのはマキアージュのマスカラで、当然のように専用のクレンジング使わないとなかなかきれいに落ちなくて。一応オイル系のクレンジングだと支障はない程度に落ちることに気づいたので最近ようやくたまに使うようになったけども。

さらに言えば元からそこそこまつげ長いから、別に塗らなくてもそこまで問題ない。

けど、マスカラした方が顔立ちがはっきりするのは確かなので使ってみました。

 

 

開けてみたときの感想。

なんかまつげ入ってる!!??

(おそらく繊維的なもの?

慣れないんでめっちゃびっくりしました。繊維をまつげにくっつけるみたいなタイプのマスカラなのね(語彙力)

で、説明書通り、三秒くらいかけてゆっくりつけてみたら、だまにならず、自まつげを生かした感じでいい感じに伸びてくれました。マスカラあるあるの、まつげ自体が太くなるタイプの奴はあまり好きじゃないので、程よく伸びるのはとても好印象。

下まつげも塗りやすかったです。

 

で、さすがウォータープルーフ

外出して帰ってきてもパンダになってませんでした。ちゃんとカールも維持されてたよ。

(多少落ちてはいたんですが、なんかまつげが抜けるみたいな感じで繊維が数本顔についてました。

 

あと、普段のオイルクレンジングでちゃんと落ちたよ~

 

割と気に入ったので、今後はたまにはマスカラもしてでかけようかと思います。

こちらからは以上です

 

以下今回の提供元

ありがとうございました。

マジョリカ マジョルカのキャンペーンに参加中♪


マジョリカ マジョルカのキャンペーンに参加中♪[PR]
マジョリカ マジョルカのキャンペーンに参加中♪[PR]

画像処理学習日記:猫の顔認識3

めっちゃ久しぶり。

画像処理の課題自体は7月半ば?くらいにすでに提出していたのですが、それから合宿に向けて論文読んだり、バイトしたりバイトしたりで割と忙しくて…と言い訳したいところですが、普通に提出して満足してどうでもよくなったやつです

努力の結果、提出した課題は満点もらったよ!やったね!!

 

で、どんなのが出来たのか、というと、実は期限前までに完成しませんでした。本当はwebアプリとして配信するところまでやりたかったんですが、配信どころか、肝心の似顔絵が出力されるところまでできなかったというね!!

でも発想と努力で満点もらったんでいいんです笑

前回grabcutがうまくいかないよ><ってところで終わっていたと思うんですが、よいサンプルコードが見つかり、それを用いてインタラクティブなシステムにすることで解決しました!こちらです!!

github.com

ペイントソフトみたいに領域内、外を描いて指定していくとどんどんgrabcutを更新していってくれるみたいなシステムです。ありがたや。

それを実行することでこんな結果になります。

f:id:moyachiyoco:20160827010358p:plain

左が入力画面で、右がgrabcutの結果。左の白とか黒の線がインタラクティブに入力する線です。

これでやっときれいに猫の顔の部分だけ切り出すことが出来ました!!!

で、この後何するのかというと

  1. 模様のテクスチャを作る
  2. 猫の目、鼻の色を解析して、色を割り出す
  3. 用意した猫の顔の形のテンプレートにテクスチャを貼り付ける
  4. 元の猫の顔を参考に、目の位置、鼻の位置を決定し、4に貼り付ける

で、似顔絵が完成…するはずでした。

実装は2までしか終わりませんでしたああああ

 

顔のテクスチャとは何か、というと、こんなの。

f:id:moyachiyoco:20160827010820p:plain

なにこの気持ち悪いの、って感じですが。やりたかったこととしては、写真から色数を減らしてイラスト調にするって感じだったんですけど、単純に色を減らすんじゃこんな風にあまりうまくいかなかったんですよ。

なぜか、というと、第一に陰影の問題。上の図の左側とか灰色になってますけど、実際には陰になっているだけで、灰色じゃないですね。白が陰になって灰色になっているのか、もとから灰色なのかを、私が実装したシステムでは区別できないのです。

これを改善するには今見ている領域が陰なのかそうでないのかを判断しなきゃいけないわけですが、私には簡単に実装できそうな対処策は思いつきませんでした。

第二に解像度の問題。1pixelずつ色を置き換えているだけなので、細かすぎる。イラストっぽくない。これは飛び地になっているようなpixelを無視することで少しは改善するんじゃないかなぁと思うんですが、どうかなぁ…

 

で、2の色の割り出しについてですが、これはRGBをHSVに変換し、Hについてヒストグラムを作り、ヒストグラムの最頻値をそのパーツの色にする、という方法で行いました。

機械学習で目の領域とか鼻の領域は切り出せてるので、例えば目の領域の色をHSVに変換し、H(色相)のヒストグラムを解析したら、青い目の猫だったら、青の当たりの色相が最頻値になるはずだ、という考え方です。これは割とうまくいって大満足。

 

出来たのはここまでです。

本当は、

f:id:moyachiyoco:20160827011651p:plain

こういう猫型のテンプレート(普通の猫、たれ耳、長毛種など、三種類くらい用意して、顔領域の縦横比や顔領域に対する目の位置などから判断して使い分け)に、先ほど作ったテンプレートをはめ込んで、さらにあらかじめ用意しておいた目や鼻のパーツに色付けしたものを合成して

f:id:moyachiyoco:20160827011703p:plain

この程度の似顔絵出すところまでは、提出課題でやるつもりだったんですよ…!!!!!!

(これはsaiで手で合成したものです

そのアルゴリズムまでは考えたんだけど、コード書くところまでは終わらなかった…

 

少し悔いの残る結果になりましたが、まあ、一応これで終わりです。

もう授業も提出も終わったので、この画像処理学習はこれで終えたいと思います!!

 

お付き合いありがとうございました!

画像処理学習日記:猫の顔認識2

 忘れてないよ!ちまちま進めてます。

この間の記事を書いたときは猫の口と鼻まわりの学習を終わらせただけの進捗だったのですが、だいぶ進みました。

学習に関しては、鼻口、右目、左目の三か所、各1800枚くらい学習させてcascadeを作りました。

でも、あんまり精度よくないのよね…鼻と口はボロボロで、絨毯とか毛の模様とかの中のちょっと似たような形したやつにしょっちゅう引っかかるし、目は鏡面反射みたいなのがあるとすぐヒットしちゃう。

確実に私の学習のさせ方が悪いです。目半開きとかのやつもpositiveとして学習させてたから。

虹彩の色や瞳孔の開きによって猫の目は全く違ってくるから難しいですよね…色分けとか瞳孔の開き具合分けてまでやってられないし……

 

それはさておき、学習は(精度はともかく)終わったので、今はそのデータから顔の領域を求めるプログラムを書きました。

顔の検出は前回紹介したブログでcascadeが配布されていたので、それを使わせていただいています。

 

写真内の猫の数が一匹じゃない場合とか、顔は検出できなかったけど他のパーツは検出できた場合とか、いろいろ場合分けしてたら結構な行数になっちゃって…いや、私がゴリゴリ書きすぎなんでしょうが…

で、400行くらいのプログラムになったわけですが(とてもこれだけのことをするためのプログラムと思えない行数)、それで比較的いい感じに顔の領域を検出できるようになりました。

(以下結果の元画像は拾いものですごめんなさい)

 

この子は配布されていた顔の学習データだけで検出できてます。

f:id:moyachiyoco:20160711021558j:plain

が、前の記事でも言った通り、スコティッシュフォールドのような、耳が垂れていたりする猫さんは顔検出はできないんです。

下の猫さんは顔は検出できていない例です。

今回は鼻や目が検出できていたので、そこから顔の領域を推定しました。

(今後の目的考えて大きめに推定するように設計したけど、これはちょっと大きすぎやな…直そう()

f:id:moyachiyoco:20160711022534j:plain

ちなみに上側にかなり空間があるのは耳がある猫さんの可能性も想定しているからです。最終目的を考えると確実に猫の顔の範囲を囲っておきたいのです。

で!

今やりたいこととしては、この顔の領域に対し、前景抽出を行って、猫の顔だけ取り出したいんです。

これが難しい…上の猫さんのように背景と全く色が異なる場合には案外うまくいくのですが、

f:id:moyachiyoco:20160711023338j:plain

二枚目のように背景と毛の色が近いor顎と体の区別がつかないとこうなっちゃう…

f:id:moyachiyoco:20160711023533j:plain

grabcutというアルゴリズムを使っているのですが、全くうまくいかないです…困ったものだ…もちろんそれぞれの写真にあったマスクを手動で突っ込めばうまくいくと思いますが、それは今回やりたいこととは異なるので…

課題提出までに最終目的までたどり着くかわかりませんが、頑張るぞ~

 

Pythonで書いているとは思えないような汚いコード書いてて、Pythonに失礼な気がして、余裕があるときはPEP8に則ったコードを書くことを心がけよう、と思ったちよ子でした。

おわり

画像処理学習日記:猫の顔認識

授業の課題で画像処理系の課題(テーマは自由)が出たので、顔認識やろうかなぁと思いまして。

私は画像処理の研究室のものではないので、正直あまり時間を割きたくない。

ので、なんとか基本的な処理は全てOpenCVでやって、努力と発想で評価してもらえるようなテーマにしよう、ということで思い至ったのが猫の顔認識。学習データ集めて学習させるのって結構手間じゃん…?頑張ったこと認めてもらえないかなぁ、って。

ダメだったら拡張機能でなんとかする。うん。

ちなみに参考サイトはこちら。

ねこと画像処理 part 2 – 猫検出 (モデル配布) « Rest Term

普通に顔検出じゃ上のcascadeお借りすればすぐ出来ちゃうので、追実装みたいな形で、この論文の考え方を導入することにしました。

http://www.murase.nuie.nagoya-u.ac.jp/publications/423-pdf.pdf

要は、猫は個体間で柄や色が全く異なるので、人間よりも顔認識が難しい。

そこで、顔全体以外にも、鼻や耳や目、といったパーツも学習させてそれらも用いて精度を上げようというお話です。

 

ちまちま進めていて、現在猫の鼻回りの学習を終えたところです。学習枚数はネガティブなものも含めて1500枚くらい。足りないと思うけど、パラメータ調整すればそこそこの精度が出ているので、まあいいかなぁ、と。

ちなみに、作ったcascadeで認識させてみた結果がこちら。母校の近くで撮ったノラ猫さん。

f:id:moyachiyoco:20160701160705j:plain

学習枚数少ないわりにうまく認識できてますね!

ちなみにこの手法を用いれば、参考にした「ねこと画像処理」さんの方では認識できなかったスコティッシュフォールドも認識できます。

f:id:moyachiyoco:20160701161047j:plain

これに目の認識も含めたら、認識が困難な黒猫の認識も可能なのではないかなぁ、と思っております。

今は取りあえずここまで!

Python学習日誌: CO2排出量のデータの可視化

今度は国ごとのCO2排出量のデータをバブルマップで出力するプログラムを作ったよ!

f:id:moyachiyoco:20160607232433p:plain

ういっす、別に面白くないですね笑

前回同様、Pythonでmatplotlibを用いてデータをグラフにしただけです。

ただ、今回はデータを外部からお借りしました。

Climate Change | Data

地図はここ。

世界地図・日本地図の白地図を無料ダウンロード!【世界地図|SEKAICHIZU】

 

今回のプログラムの構造としては、

  1. .csvファイルからCO2 Emissionデータを抜き出す
  2. その中からさらに主要国(?)のデータをセレクト
  3. 地図をグラフ背景に表示
  4. 各国のグラフ上での位置を配列に保持
  5. データを正規化
  6. 排出量のデータを円の面積としてグラフ上に散布図でプロット
  7. ボタンのイベント処理

って感じです。結構ゴリゴリ手作業。データの中に国の位置も保存されていればよかったんだけど、そんなことはなかったので、手作業です。

本当はCO2排出量のランキング上位うんヵ国とかのが面白いなぁと思ったんですけど、結構データが穴あきで評価めんどくさかったからやめました。

お遊びのプログラムですしね~

これをもうちょい拡張して、見たい年を入力したり、オンマウスで実際の排出量がいくつなのかポップで出てくる、みたいなことをしたいんですけど、主に前者がmatplotlibでテキストボックスが搭載されてなくてめんどくさい…

というかどうすればいいのかわからない()

 

matplotlibのウィンドウ内にテキストボックスを表示するやり方知ってたら教えてください。