機械学習/画像処理

深層学習で画像分類を試す(TensorFlow Keras MNIST)

PythonをPysonと書いて凄腕エンジニアが苦笑い。
ビジネスイノベーションセンター川崎です。

目次

  1. はじめに
  2. MNISTを使って深層学習を体験しよう
    -実行環境
    -MNISTとは
    -Anacondaのインストール
    -TensorFlow+Kerasのインストール
    -Jupyter Notebookを起動
    -動作確認
    -結果解説
    -まとめ
  3. 用語解説
    -機械学習と深層学習の関係
    -ニューラルネットワークとは
    -「mnist_cnn.py」は何をしていたのか
  4. おわりに

続きを読む

デジタルな画像のはなし (色と明るさ)

技術研究所の (あ) です。
機械学習による画像や写真の分類とかやってます。

学習用に集めた画像を畳み込みニューラルネットワークなどで学習させるわけですが、その際にはまず、集めた画像の要る部分だけを切り出したりする必要があります。また、「ちょっと違っても同じだよ」というようなことを学習させるために画像にフィルタを掛けたり変形したりノイズを加えたりして“Data Augmentation”を行うことも多いです。

こうした作業には、またこれに限らず写真などの解析や操作のためには計算機上でデジタルな画像がどう表現され扱われているのか、ということをちゃんと理解しておいたほうが便利です。「なんかこうすればよいらしい」くらいの認識でも、まあ、なんとかなるかもしれませんが、ちょっと知識があるだけで応用できる度合いがぜんぜん違ったりします。

というわけで今回はデジタルな画像の基礎的な部分の説明をしたいと思います。

続きを読む

感度とか特異度とか

技術研究所の(あ)です。
機械学習を用いた眼科画像からの疾患の有無の判断とかやってます。こういうもの (画像からの判断だけでなく、インフルエンザの検査とかでも同じです) の性能を評価しようとするとき、いろいろな指標の用語が出てきます。

感度、特異度、精度、再現率、適合度、などなど…

何がどう違うのでしょう? 何でたくさんあるのでしょう?
もちろん本やウェブで調べれば出てきますが、意外とすっきり簡潔に解りやすくまとめた資料がありません。いろいろな人に説明せねばならない機会も増えたし、それではということで自分で説明図などを作ってみました。

続きを読む

Pythonで動画のkeyframeのindexを取得してみた

こんにちは。技術研究所の910です。
先日弊社にて開催いたしましたオープンハウスでは、動画を活用した研究に関する発表をさせていただきました。

なので今回は動画にフォーカスを当てて、動画に含まれるkeyframeのindexの取得を試してみました。
keyframeについてはこちらの記事に分かり易くまとめてくださっています。


1. 環境、データ

  • 環境

  • データ
    検証に使わせていただいたデータは、Pixabayにて公開されているこちらの動画になります。
    こちらのファイルをFireworks – 348.mp4として使いました。

続きを読む

OpenCVを使ったロゴ認識

こんにちは。エンベデッドソリューション事業部の瀧澤と申します。

”文書などに添付されているロゴ画像が適切なフォーマット(サイズ、余白 etc)で使用されているかの確認を画像処理を使って出来ないか”、という問い合わせを社内にて受けました。

“特徴点抽出を行った画像認識を行ったらどうか”という回答をしましたが、私自身も聞きかじり程度の知識でしたので、実際に使用してみようと思い立ったのが本記事を投稿する経緯になります。

GUIベースでのテストアプリケーションを作り、考え方が正しかったか、アルゴリズムの精度はどこまで許容できるかという点で調査を行いましたので、結果を報告します。

特徴点とは

画像上における、ある法則に基づいた特徴の点群になります。(例えば画素間のエッジなど)
この”ある法則”という点において幾つかのアルゴリズムが存在します。

特徴点検出を使ったロゴ認識の流れ

  1. 検出したい画像(以下、query)と検索対象画像(以下、train)それぞれで特徴点を抽出する。
  2. query-train間で類似する特徴点を調べる。(マッチング)
  3. マッチング結果を元に画像の情報を求める。

1.、2.についてはOpenCVのAPIを使用して実現します。
3.については自前で計算を行い、結果を確認することとします。
また、3.で取り出す情報は下記の情報とします。

  • 拡縮情報
  • 回転情報
  • アスペクト比

続きを読む

venvで作った仮想環境で、TensorFlowのObject Detection APIを試してみた(学習 ~ 検出迄)

こんにちは。技術研究所の910です。
今回は少々今更感がありますが、TensorFlowに実装されたTensorFlow Object Detection APIを試してみようと思います。

…とは言ったものの、How to train your own Object Detector with TensorFlow’s Object Detector APIに丁寧に手順がまとめられていますので、詳細なやり方についてはこちらの記事をご覧になるのが良いかと思います。
なのでこの記事では、このAPIを使うことで、どれだけ簡単に物体検出を試せるのかをご覧いただければと思います。

作業環境

続きを読む

AIに自身の判断をアシストして欲しい

この記事は 『CRESCO Advent Calendar 2017』 24日目の記事です。

おひさしぶりです、技術研究所特派員のA.Mです。
街の各所にクリスマスツリーやイルミネーションも増えてきて年末が近いという感じになってきました。
という季節柄、アドベントカレンダーの話がありました。
せっかくなので、普段と違った切り口で記事を書こうかと思ったのですが、正直アイデアが出てきません。
そんな状況のまま、自宅近くの居酒屋で遅い夕食を食べていたとき、
カウンターの隣にいたサラリーマン2人が飲みつつ、なにやら文句を言っています。
コンプライアンスの厳しい時勢ですので、さすがに具体的な社名や案件名は出てきませんでしたが、要は自分がアプローチしたい方法論が却下され

上司の指示に従った方法で仕事を進めたところコンペに負けてしまったことに納得がいっていない様子でした。

続きを読む

Wikipediaの記事からサッカー日本代表を選んでみた

この記事は 『CRESCO Advent Calendar 2017』 16日目の記事です。

こんにちは、技術研究所のわたなべです。

突然ですが、今日12/16は大イベントがありますね!そう、クラブワールドカップの決勝戦です!

クラブワールドカップとは…

FIFA(国際サッカー連盟)が主催するサッカーの大会で、ヨーロッパ、アジア、オセアニア、北中米カリブ、南米、アフリカの各大陸チャンピオンと開催国代表の計7チームが集まる、世界最強のクラブを決める大会です。

昨年は日本で開催され、開催国代表である鹿島アントラーズ柴崎選手(当時)がスペインの強豪レアルマドリード相手に大活躍して話題になりました。

今年はアジアチャンピオンとして浦和レッズが出場しましたし、北中米カリブ代表パチューカに所属する本田圭佑選手も出場しました。
どちらも決勝まで進むことはできませんでしたが、熱い戦いを見せてくれましたね。

来年は(国別の)ワールドカップもありますし、サッカーがとても盛り上がっているなあと感じます。
そこで、今日は日本代表のベストイレブンをIT技術的な(特に私の専門の自然言語処理の)観点から導き出したいと思います!

続きを読む

Azure FaceAPIを試してみた

この記事は 『CRESCO Advent Calendar 2017』 15日目の記事です。

こんにちは。AI&ロボティクスセンターの西村です。

写真から顔の検出や識別を行うFaceAPIに触れる機会があったので、実施手順と結果をまとめてみました。なお、今回ご紹介する手順は、Microsoftさんから提供されているコンソールのみで行っており、プログラミング不要です。

続きを読む