タイヤを識別するAIの開発に挑戦 ②
はじめに
こんにちは。休日は自宅の研究部屋でロボットを作っている大坂です。
この記事では前回に引き続き、AIを使ったタイヤの画像解析システムの開発進捗と、AIモデル作成に利用している “Google Colaboratory” の説明をしていきます!
今回のテーマ
前回の記事はこちらをご覧ください。
タイヤを識別するAIの開発に挑戦 ①
前回は、条件はあるものの99%の精度を持つAIモデルの開発に成功しました。大手3社のタイヤメーカーならほぼ確実に特定できます。
課題として挙げていた”メーカー6社での判別”と、”自動領域確定プログラム作成”のうち、今回は6社での判別に挑みます。
3社のときと同じ条件下でAIモデルを生成し、評価を行います。
6社でのAI画像解析
今回のタイヤメーカーは下記の6社です。
•Bridgestone(ブリヂストン)
•Goodyear(グッドイヤー)
•Mishelin(ミシュラン)
•Yokohama(ヨコハマ)
•Dunlop(ダンロップ)
•TOYO(トーヨー)
ミシュラン、ダンロップ、トーヨーに関しては、サンプルの数が少なかったため、”水増しプログラム”を作成して1,000枚前後に増やしました。
AIの構成は前回と同様の一般的なCNN(畳み込みニューラルネットワーク)を使用しています。
ではさっそく、AIモデルの生成を行います。
精度98%!! かなりいいですね。
でもこれは”理論上の精度”です。
”実際の精度”を測るために、実装評価 を行います。
すべてにおいて正しく認識しています!!とても優秀なAIができました!!
どうやら方向性は正しいようです。
着々と、目標としている人工知能に近づきつつありますね!
次回は、タイヤの写真から自動で必要な部分の領域を抽出し、二値化などの処理を行うプログラム(自動領域確定プログラム)の作成を行います!
AI開発に利用している技術について
さて、このように弊社でも取り組んでいるAIの開発。
今回のプロジェクトで利用している技術は、
•使用言語:Python
•AIのモデル生成:Google Colaboratory
•フレームワーク:Tensorflow と Keras
これらは今、AI開発の最前線で世界中のエンジニアが利用している素晴らしい技術です。
では、どのように”素晴らしい”のでしょうか?
この記事から、ひとつずつできるだけわかりやすい形で、概要をお伝えしたいと思います!
今回は、モデルの生成に使用しているGoogle Colaboratoryを紹介したいと思います。
“Google Colaboratory” is 何
昨今、やれAIだのディープラーニングだの機械学習だのと良く耳にします。しませんか?するんですよ。
で、実際にそういったものを作るとなると、これが大変なんです。
なにが大変って、開発をする環境を作るのが大変なんです。
高性能な(とても高価な)PCを用意して、
Linuxの環境を作って、
Pythonをインストールして、
ライブラリもたくさんインストールして…
と、書き連ねるのは意外とカンタンなんですね。
でも実際これをやるのは本当に、本当に大変なことなんです。
-
大坂
- あぁ、嫌だ。環境を作るのが嫌だ。絶対にやりたくない。だれかやってくれないかな。やってくれるはずないよなぁ。ああーでもAIの開発はしたいなぁ。ああー
-
??
- 環境はこちらで用意しましょう
-
大坂
- 助かる!!あぁでも、さぞお高いんでしょうねぇ…?
-
??
- 無料でお貸ししましょう
-
大坂
- そんなことある!?でも、1時間経ったら”ここからは有料”みたいなやつですよねぇ…?
-
??
- 毎日12時間、自由に使ってください
-
大坂
- ありがたい!!ところであなたは誰!?
-
Google
- Googleです
-
大坂
- ひえーッ!!
ひえーッ。すごいです。Google。
“Google Colaboratory” is すごい
要するに”Google Colaboratory”はAIの開発環境なんですね。
大まかな特徴は
•無料
•設定が楽
•高性能
すげぇ
書いていても信じられません。
Googleが提供する数ある優良なサービスの中でも、これは最も素晴らしいのではないでしょうか。
もう少し詳しく解説していきましょう。
Google Colaboratory は、Webで操作できるAI環境構築済み高スペックPC(無料)
記事にするにあたり、スペックを調べてみました。
•OS:Ubuntu 18.04
•メモリ:12GB
•CPU:Intel(R) Xeon(R)CPU @ 2.30 GHz
•GPU:Tesla k80
•TPU実装
すごすぎです。
CPUに使われているXeonはCorei7の上位に位置するもので、GPUのTesla K80に関しては、これだけで¥800,000する代物です。
それに加えTPUが実装されています。
TPUとは、Googleが開発したディープラーニングなどの計算に特化したプロセッサで、CNNに関してはGPU(Tesla k80)の数倍の速度で処理をします。
これを無料で貸し出すGoogleとは一体。
1日12時間利用可能
Google Colaboratoryは1日12時間利用可能です。
しかもGoogle driveと連動することで、保存をしておいたファイルやコードをすぐさま呼び出して作業することができます。
相当時間のかかる処理をしない限り、この制約に関して困ることはほぼありません。
Linux環境のターミナルがすぐに使用可能
コードに「!cat …」のように、”!”をつけることでLinuxコマンドを使用することができます。
これによって、デフォルトに入っていないライブラリなど、自由にインストールすることができ、カスタマイズ性においても優れています。
”セル”ごとの実行形式
コードがセル構造になっており、分割して実行できます。
実行した変数やライブラリは、そのほかのセルのコードに継承されるため、毎回import
などの構文を書く必要がありません。
どうでしょうか?
何度も言いますが、これだけすごいGoogle Colaboratoryが誰でも無料で利用できるんです。
おかげでAI、特にCNNのモデル構築の敷居はかなり下がったと思います。
ディープラーニングや機械学習を始めてみたい!という方には最高の環境ですね。
今後について
6社に関して、もうすでに高精度のAI判別機ができたため、今度は画像処理という部分に焦点を当てて、自動領域確定プログラムの作成に入っていきます。
それが終了したら、遂にタイヤの記号文字の認識に入ります。
通常のOCRとは違い、タイヤの丸みの湾曲補正や境界線の抽出が難しく、さらにそこからレイアウト分析と文字数・文字間隔の解析など、手ごわい難所がいくつも待ち構えています。
Google Colaboratoryは素晴らしいですが、あくまで環境。
これら難題の解決には、独自のプログラムで立ち向かわなければなりません。
エンジニアとしての腕の見せ所です。
続きを更新しました。ぜひご覧ください。
タイヤを識別するAIの開発に挑戦 ③