「画像認識」とは、画像の中に何が写っているのかを解析する技術のことです。近年、アルゴリズムの進化により画像認識技術もめざましい発展を遂げています。
画像認識に必要不可欠な「アルゴリズム」というものは、“手法・やり方”を意味するのですが、具体的にはどのようなものなのでしょうか。この記事では、以下のことを紹介します。
・アルゴリズムとは何か?
・アルゴリズムを利用した技術例
・機械学習とディープラーニングのアルゴリズムの比較
アルゴリズムの使用例についても触れていますので、ぜひ参考にしてください。
アルゴリズムとは何か?画像認識におけるアルゴリズムについて
画像認識やAR、近年の機械学習の技術は目まぐるしく進歩しています。その画像認識を支える技術であり、機械学習やディープラーニングにも使用されている「アルゴリズム」とは何でしょうか。ここでは、アルゴリズムの概要を説明します。
アルゴリズムとは?
アルゴリズムとは、「問題を解決するための手順や方法」のことです。異なるアルゴリズムを使用してある答えを求める場合、出てくる答えは同じですが、答えを求めるまでの道順が異なります。
人間で例えた場合、「この人たちを背の低い順で並べてください」という問題があったとして、それを解く人によって並べるプロセスは異なるでしょう。一番背の低そうな人をまず選んで、次に2番目に背の低そうな人を選ぶ人もいれば、とりあえず誰か1人目星を付けて並ばせ、その次に選んだ人は最初に選んだ人より背が高いか低いかで並べていく人もいます。
このような、問題解決までの手順の違いが「アルゴリズム」です。
機械学習におけるアルゴリズムの役割
機械学習では、アルゴリズムを用いてモデルが構築されます。大量のデータを読み込ませて正解データを作成する際の、データの処理方法がアルゴリズムによって違うのです。
例えば、画像認識で顔写真を取り込んだときに、その顔写真をどのように処理するかが違います。機械学習では、目的によってアルゴリズムを使い分けることで最適な結果が得られます。
画像認識における機械学習アルゴリズムを利用した技術例
画像認識時の、アルゴリズムを使用した技術例を紹介します。
物体検知
物体検知は、画像から「動物」や「物」を区別する技術です。物体検知は自動運転にも使用され、車の周囲の標識や人、物体との距離など、周囲の環境を区別することが可能です。
顔認識
顔認識は、顔の画像から特徴を認識する技術です。一般的には、「目」や「鼻」や「口」を抽出しますが、笑顔や年齢なども推測することができる他、表情も読み取ることができ感情分析などに使用されています。
文字認識
文字認識は、紙に書かれた文字や手書き文字が何の文字かを判断する技術です。認識した文字をデータにする技術もあり、近年では翻訳技術などに応用されています。
【アルゴリズムの比較・紹介】-機械学習-
それでは、実際に使用されているアルゴリズムには何があるのでしょうか。ここでは、アルゴリズムの中でも機械学習に使用されるアルゴリズムの特徴をまとめました。
アルゴリズム名 | 特徴 | 活用例 |
---|---|---|
決定木 (ディシジョンツリー) | 教師あり学習の分析方法 | 購入予測などの マーケティング分野 |
ランダムフォレスト | 計算が早く精度が高い | 購入予測などの マーケティング分野 |
ロジスティック回帰 | 2値分類に利用できる | スパムフィルタや医療分野 マーケティング分野 |
サポートベクターマシン | 高速で少ないデータ量でも 高性能な分類ができる | スパムフィルタや 数字分類、顔検出 |
ナイーブベイズ | 学習が高速で実装が簡単 | リアルタイム予測や テキスト分類 |
決定木(ディシジョンツリー)
決定木とは、枝分かれしたような図式・樹形図(じゅけいず)によってデータを分析する手法です。
例えば、アイスクリームを買うか買わないかの結論を出すときに、平日か祝日か、あるいは気温が高いか低いかなどで分類してそれぞれのアイスクリームを買う割合を出し、最終的にアイスクリームの購入割合を算出します。その割合から結論を導くのです。
機械学習以外にも、マーケティングや意思決定に使用され、主に顧客の分類やターゲットの選別、購入するかの予測に活用されます。
ランダムフォレスト
複数の決定木から、多数決や平均を取るものがランダムフォレストです。
例えば、「Aさんは笑顔か」の決定木の割合の結果が、決定木1は「笑顔」決定木2は「笑顔でない」決定木3は「笑顔」だった場合、多数決を取って「笑顔」という結果となります。ランダムフォレストは計算が早く精度も高いことが特徴です。
マーケティングの分野で「優良顧客になりそうか」、「商品を購入しやすいか」など、Webサイト上での行動履歴や個人の属性情報に紐づいた購入を予測することに活用されます。
ロジスティック回帰
ロジスティック回帰は、分類を行いたい場合やその分類になる確率を求めたいときに使用されます。YES・NOや、合格・不合格などといった「2値分類」に使用されます。
分類の確信度合いを求めることができるため、患者が病気か病気でないかといった医療分野や、メールのスパムフィルタ、顧客が何%の割合で商品を買うかといった、ダイレクトマーケティングの分野で活用されます。
サポートベクターマシン
サポートベクターマシンは、データ群に境界を引きその境界の内側か外側かで分類するアルゴリズムです。
主に分類タスクに使用され、例としてはスパムメールフィルタなどの「テキスト分類」や、画像のピクセル値を元に手書き文字を見分ける「数字分類」、画像のピクセル値から顔が含まれているか判断する「顔検出」などに活用されます。
ナイーブベイズ
ナイーブベイズは「ベイズ分類機」を単純にしたものです。ベイズ分類機とは、「Xというデータが与えられたとき、Yが出力される確率」を見て、Yが最も大きい値を求めるという公式です。
電車の混雑状況や株価のリアルタイム予測や、Webに投稿された記事のタグ付けなどのテキスト分類、レコメンドシステムに用いられています。
【アルゴリズムの比較・紹介】-ディープラーニング-
次に、ディープラーニングのアルゴリズムについても見てみましょう。
アルゴリズム名 | 特徴 | 活用例 |
---|---|---|
オートエンコーダ | 入力と出力の差を見分ける | 異常検知、画像のノイズ除去 |
畳み込みニューラルネットワーク(CNN) | 一部が見えにくい画像でも 解析できる | 画像認識 |
リカレントニューラルネットワーク(RNN) | 時系列データを扱う | 機械翻訳や音声認識 |
LSTM | リカレントネットワークを 拡張。長期の記憶が可能 | 機械翻訳や文章生成 株価予測 |
GAN | 教師なし学習の一つで実在しないデータを生成する | 画像の加工 |
ちなみに、例として挙がっているアルゴリズム名に含まれている「ニューラルネットワーク」とは、人間の脳の仕組みに着想を得て、人間の脳内にある神経細胞とその繋がりを数理モデルで表したものです。
主にデータから学習できるという特徴から、パターン認識、データ分類、予測等に活用されることが多くなります。
オートエンコーダ
オートエンコーダはニューラルネットワークの一つです。入力層と出力層が同じになるように学習を進めるため、入力層と出力層の差分を取ることで異常検知に利用されます。
他にも、画像のノイズの除去やデータを特徴ごとに分類するクラスタリングにも使用されます。
畳み込みニューラルネットワーク(CNN)
畳み込みニューラルネットワークは、主に画像認識技術で使われることが多いです。
画像を学習させるには、画像の輝度を数値に直す必要があります。このピクセルごとの輝度数から畳み込み層で特徴を抽出し、プーリング層で画像サイズを小さくして処理を軽くするものが畳み込みニューラルネットワークです。
応用範囲として、自動運転、監視カメラなど様々な分野で活用されています。
リカレントニューラルネットワーク(RNN)
リカレントニューラルネットワークは「再帰型ニューラルネットワーク」と呼ばれます。数値の時系列データのパターンを認識するニューラルネットワークです。
過去の情報を記憶しておき、その情報に従って新しいデータを処理することができるため、機械翻訳や前後の文脈の理解が必要な音声認識、畳み込みニューラルネットワークと組み合わせて画像の説明の生成などに活用されます。
LSTM
LSTMとは、「Long Short Term Memory」の略で、リカレントニューラルネットワーク(RNN)の時系列を扱う層を改良したものです。
RNNは長期の記憶ができましたが、LSTMはそれより長い期間の記憶が可能です。また、長期の記憶を更新することができ、新しいデータにはその更新された記憶を用いることができます。機械翻訳や文章生成、株価予測に活用されます。
GAN
GANとは、「敵対的生成ネットワーク」のことです。GANは、入力されたデータや画像から新しく存在しないデータを作成したり、すでにある特徴に沿って変換したりできる、生成モデルです。
GANでは、高品質の画像を作成したり画像に映る模様を生成して別の画像に仕上げたりすることができます。顔画像の加工も可能です。
画像認識技術にも活用される「アルゴリズム」
画像認識技術にも使用されるアルゴリズムについて、機械学習・ディープラーニングの特徴をまとめました。アルゴリズムとは解法のための手順で、アルゴリズムにより答えが出るまでの道筋が異なります。
画像認識に使用される機械学習のアルゴリズムは、種類も活用用途もさまざまです。アプリでの画像加工や顔認証、温度検知などで普段から目にする画像認識技術ですが、その技術の中にもアルゴリズムが使用されています。「アルゴリズム」とは耳馴染みのない言葉ですが、身近な技術に活用されていると聞くと、少し馴染みのあるもののように感じるのではないでしょうか。
JCVでは、高い顔認証技術を誇る顔認証APIである、「JCV Cloud AnySee」を提供しています。最新のアルゴリズムを提供し、マスクをしたままでも認証可能です。高精度な顔認証を検討されている方は、ぜひJCVまでお問い合わせください。