back to the source - 原点回帰😎

自然言語処理 初心者

9月も終わりということで10月の目標

正直, 機械学習一筋で生きていける人ほど自信もないけど,他のことって興味あるけどどこから手をつければっていうのもあって以下のプログラムをやってみようと思います. 受講した感想はまたブログに記載します.

www.nnn.ed.nico

他にはインターンとか修論中間報告とか後期授業始まったりもするので頑張ろうと思います.

昨今のTwitter凍結を見ると,なんかTwitterに縛られてるのバカらしく思えて来た.
けれどTwitter以外に連絡取れない人とはどうしようと思ってたりもするのでFacebookしかりMastdonとかで繋がりを残しておくべきかなと思った.

10月アニメも始まりますが,ニコニコ動画では「おおきく振りかぶって」のアニメが無料配信中でついつい見てしまう.
Base Ball Bear のドラマチックいい! この入りからサビまで夏が来てるって感じで♫

コメントってやっぱり偉大って改めて思います. 一度見たアニメでも感想の共有?一体感? よく言葉にできないけど最高に良い
オワコンオワコン言われてたりしますが私はなんだかんだ好きなのでがんばってほしい. 国産だし
国産といえばAbema.tvにも期待してます.

個人的 2017夏アニメ完走した感想

雑に描きます; 最後まで見切ったのだけ感想書いてます

ようこそ実力至上主義の教室へ;よう実

中二病作品; ホワイトルームとは何なのか; 龍園との因縁; この辺りが原作ですら完結してないのでアニメはしょうがない..
ただ水着回をアニメでしたいためだけにキャラ変えたりするのはよくなかった.
私は櫛田より軽井沢の方が好きです. なんでかは原作読んでくださいとかいえませんが,良いキャラで好き.

ナイツ&マジック

ロボ異世界??と思ってたのですが,主人公が可愛い&有能という点と一話のテンポの良さで視聴した.

ロボのデザインが好き; ただロボものにありがちな初めは陸なのに途中から空が絡むというのが..
あと主人公機がインフレしてる. ただ最終話まで見逃せない良い作品だった;
こちらも原作を買ったけど,「なれる」で公開してるので原作の文章がどんな感じか見て見る分には良いかと

異世界食堂

グルメ枠; 思考停止で見ててうまそう..とか考えてた.. 私は好き

Fate/Apocrypha

2クールものなのでまだわからないですが期待 後期には主題歌でLiSA起用らしい

サクラダリセット

私が一期からずっと追ってきて原作小説も読んでいる好きな作品; ただ万人ウケする作品ではない

1クール目の伏線を2クールで綺麗に回収する.その構成は本当に素晴らしい. 1クール最後まで見た人には満足度が高い作品
特にラスト3話は今までの総まとめといわんばかりの展開にただただ良いとしかいえない; あと相馬すみれ役の悠木碧さんの演技のうまさが輝く.

アホガール

悠木碧つながりでこちらは思考停止で見てた 特に感想はない

プリンセス・プリンシパル

今期の一押し作品といっていい「女子高生xスチームパンクxスパイ」作品;
登場する五人の女の子がキャラ立ってるし,あのスチームパンクな雰囲気が最高
個人的にアンジェとプリンセスの過去話が良い.. 本当に良い.. もう良いしかいえない

NEW GAME!!

原作追ってる組です. 2期はギスギスした感があるのですが,青葉ちゃんに感情移入してしまう私にはもうたまらない..
お仕事頑張ろうと思える作品です; 青葉も新人から先輩になる(CMネタバレ)ところも感深い
そしてラスト;最終話はもう頑張ろうと思える良い作品だった

他見てた(溜まってる) - ゲーマーズ: ゲーマーズは6話まで;6話で自分の中で一区切りついてしまった感

来期はこの辺り見る予定です

血界戦線2期/うまるちゃん2期/キノの旅/少女終末旅行/UQ HOLDER/十二対戦/Just Because/宝石の国/魔法使いの嫁/クジラの子らは砂上に歌う/(Dies Irae)/(ROBO MASTERS)

もう就活のこと考えないといけない

今日はLINEに行ってました.
f:id:planetaria:20170923233553j:plain:w400

社員さんに直接,社内の仕組みや仕事内容やそのツール説明を受けてLINEがどういう会社か改めて知れてよかった.
就活フローも教えていただき,webテスト後,エンジニア面接,役員面接で合否が出るスピード差とステップの少なさに驚いた.
そして19卒は10月から募集が始まるという点.. ああ..はやい.

懇親会ではお二人の社員と話して,自分がどういう方向に進もうか考えさせられた.
スキルセットというより考え方とインフラやフロント関係なくどのレイヤーにも関係する最適化やアルゴリズムの考え方が備わっていることが重要と聞いてまぁ当たり前といえば当たり前だし基礎といえば基礎だけどおそろかにするといえばおろそかにするしあああああああ
実技試験で出る課題についても最適化やアルゴリズムなど競技プログラミングの問題が出るんですが,ただエラーケースを予測ししっかり対応しましょうね^^みたいなこといってた.

f:id:planetaria:20170923234001j:plain:w400

今日も1日頑張るぞい

彼女ができたら別れるまでがワンセット

マグロマート行ってきた報告

友人と中野にあるマグロマートに行ってきました.
一言でいってこんな値段でこんな部位のマグロ食べれるなんて最高すぎる. (語彙力0)
居酒屋としても最高だし震えた.(日本酒からビールまで選り取り)
ただし,要予約なので注意が必要です(席数少ない+人気のため)

こちらからは以上です.
友人がプロ力で写真撮ってきた飯画像がこちらです.

実はいつも一緒に寿司食べてくれる寿司フレンズとは月1で寿司を食べに行っているので,そのログとかもまとめて公開したい(やる気があれば)

昔に浸りながら死んでいきたい

懐古に溺れてそして死ぬ

今日夕方までMステで元気が出る?音楽ランキングをボケーと見てたんだけど,クリティカルに世代HITしてて辛くなってきた.
ボカロ全盛期と言ったら失礼だけど歌って見たとボカロで新曲が常にランキングを賑わせていた頃がクリティカルなのでこちらも辛くてついつい昔のマイリストをめぐってしまった.

明日から仕事です..
もうそろそろ進捗出さないとやばい空気があって辛いですが頑張っていきます👊

k-meansでシーン分類はできるのか?

久々に画像処理やろうと思ったら何かも地獄の釜に忘れてきたせいか何も思い出せない.
なので思い出しながら作業したいと思います.

今回はYouTubeのキズナアイちゃんのある1動画のシーンを分類します. まず動画を適当にDLしてきてffmpegで1秒1フレームで切り出し保存します.

ライブラリはこの辺りを使います. opencv3を使ったらもっと楽かもしれない.

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans #k-means
%matplotlib inline

まずは画像を表示して見ます

img = Image.open("sample.jpg")
plt.imshow(img)

f:id:planetaria:20170907203314p:plain かわいい

次に画像からRGBやHSVを取得してみます.

img = Image.open("sample.jpg")
r,g,b = img.split()

rh = np.array(r).flatten()
gh = np.array(g).flatten()
bh = np.array(b).flatten()

plt.hist((rh, gh, bh), bins=120, color=("r", "g", "b"), rwidth=0.9)
plt.show()

f:id:planetaria:20170907203439p:plain

def plt_pic(img):
    h,s,v = img.convert("HSV").split()
    plt.figure(figsize=(10,8))
    plt.subplot(311)  
    plt.imshow(np.array(h))
    plt.subplot(312)
    plt.imshow(np.array(s))
    plt.subplot(313)  
    plt.imshow(np.array(v))
    plt.show()
    #hist_plot(h,s,v)
    return h,s,v
plt_pic(img)

f:id:planetaria:20170907203729p:plain

今回はこのhue(色相)を特徴量としてk-meansでクラスタリングして見ます👊

fileList = glob.glob("aichan/*.jpg")
hue=[]
for name in fileList:
    #img = Image.open(name)
    img = Image.open(name).resize((160,100),Image.ANTIALIAS)
    h,s,v = img.convert("HSV").split()
    ht,be = np.histogram(np.array(h),bins=120)
    hue.append(ht)
est = KMeans(n_clusters=6)
est.fit(hue)
labels=est.labels_

0:ゲームシーン全般
f:id:planetaria:20170907204216p:plain:w400
1:end
f:id:planetaria:20170907204243p:plain:w400
2:わーい
f:id:planetaria:20170907204253p:plain:w400
3:GameOver
f:id:planetaria:20170907204513p:plain:w400
4:!?
f:id:planetaria:20170907204308p:plain:w400
5:キズナアイのみ
f:id:planetaria:20170907204404p:plain:w400

見て分かる通り,全体的に分類できてるのがわかりますね(適当)
簡単に遊んで見ました. 今回はk-meansで遊んだんですけどクラスタ数を決めない,クラスタ数を自動で推定するx-meansとか気になってたりします.

以下はタイル状に保存とかのコードとか..
画像をタイルにするならばImageMagickのmontage使った方が綺麗になる気がする..

def tile(board,height,width,filename):
    img = np.array(Image.open(filename).resize((160,100),Image.ANTIALIAS))
    board[height*img.shape[0]:height*img.shape[0]+img.shape[0],width*img.shape[1]:width*img.shape[1]+img.shape[1]] = img
    return board
result=[]
disp=0
for i,name in enumerate(fileList):
    if labels[i] == disp:
        result.append(name)
print(len(result))

MEL=int(np.ceil(np.sqrt(len(labels[labels==disp]))))
board_width,board_height = int(160*MEL),int(100*MEL)
board = np.zeros((board_height,board_width,3),dtype='uint8')
print(board.shape)
cnt=0
for x in range(MEL):
    for y in range(MEL):
        try:
            #print(result[cnt])
            board = tile(board,x,y,result[cnt])
            cnt+=1
        except Exception as e:
            #print(e)
            break
plt.imshow(board)
cv2.imwrite("board{}.png".format(disp),cv2.cvtColor(board, cv2.COLOR_BGR2RGB))