けしからん画像分類器を作ってみる (1) 序章
目次
- けしからん画像分類器を作ってみる (1) 序章(本記事)
- けしからん画像分類器を作ってみる (2) データ収集 その1
- けしからん画像分類器を作ってみる (3) データ収集 その2
- けしからん画像分類器を作ってみる (4) データ収集 その3
- けしからん画像分類器を作ってみる (5) データ管理 その1
- けしからん画像分類器を作ってみる (6) データ管理 その2
- けしからん画像分類器を作ってみる (7) 学習 その1
- けしからん画像分類器を作ってみる (8) 学習 その2
- けしからん画像分類器を作ってみる (9) 推論
- けしからん画像分類器を作ってみる (10) 公開
- 番外編:
この記事について
はじめまして。kleamp1eです。この度、画像処理と機械学習を学び始めました。
「アウトプットしないのは知的な便秘」らしいので、学んだこと、悩んだことをZennにアウトプットしつつ学んで行こうと思います。
色々と初心者ですので、間違いやより良い方法がある場合は、コメントで(できれば優しく)教えて頂けると嬉しいです。
まずはテーマを決める
機械学習(だけではないですが)を学ぶ時に困るのは「実際に取り組むテーマ」かと思います。
料理を学ぶ時にも、ただ包丁(道具)の使い方を学ぶだけよりは、作りたい料理(作品)を作れるようになった方が楽しいし、学びも早いですよね。知らんけど。
そんなわけで僕もテーマを設定しました。「AI×エロ」です。はい、馬鹿っぽくてすみません。ただ、楽しみながら学ぶことって大事だと思うんです。
機械学習と言っても範囲が広いですが、まずは画像を中心に学んで行こうと思っています。
ですので、表形式データや時系列データなどについては、ひとまず華麗にスルーします。
「やらないこと」の設定も重要だと思っています。
一口に画像中心の機械学習と言っても、色々なタスク(機械に学ばせる作業の種類)があります。
画像系の機械学習は、大きく「識別系」と「生成系」に分かれるようです。ざっくりですが、識別系では上から下に向かってタスクの難易度が上がっていきます。
- 識別系:
- 画像分類(Image Classification)
- 物体位置同定(Object Localization)
- 物体検出(Object Detection)
- セグメンテーション(Image Segmentation)
- セマンティックセグメンテーション(Semantic Segmentation)
- インスタンスセグメンテーション(Instance Segmentation)
- パノプティックセグメンテーション(Panoptic Segmentation)
- 生成系:
- 超解像(Super-resolution)
- インペインティング(Inpainting)
- GANs(Generative Adversarial Networks)
いきなり難しいタスクに取り組んでも挫折するのが目に見えているので、まずはタスクとして難易度が低く、情報も豊富な「画像分類」について学びたいと思います。
テーマ: けしからん画像分類器
そんなわけで、まずは「けしからん画像分類器」にトライしたいと思います。画像を与えると画像処理、機械学習を使って「けしからん度合い」(要するにエロい度合い)を0から1の値で出力する感じです。
目指す実行イメージを以下に示します。入出力を先に決めておくと、何でも取り組みやすいですね。
docker$ python3 keshikaran.py dog.jpg
0.02
docker$ python3 keshikaran.py sexy.jpg
0.98
上記から分かるとおり、プログラミング言語としてはPython(当然v3系)、環境としてはDockerを使おうと思っています。
今日はここまで!
Discussion