記事一覧

更新日

公開日

画像認識に使われるアルゴリズムとは?技術についても紹介

IT技術の発達は目覚ましいものがあります。その一つがAI(人工知能)です。AIにはさまざまなことができますが、中でも画像認識は私たちの生活を便利にしたり快適に過ごすのに役立つ技術として期待されています。ここでは、画像認識に使われるアルゴリズムについて説明します。また、アルゴリズムを使った技術を3つご紹介します。さらに、画像認識に多用されるディープラーニング技術についても記載します。

▼もしAIを使った開発を検討している場合は、Automagica Labで無料の開発相談をしてみませんか?

lab_1

画像認識にアルゴリズムは使われている?

画像認識とは、画像の中に写り込んでいるものを解析して特定したり、認識した対象が正常な状態かどうかを判断する技術です。画像認識にはアルゴリズムが欠かせません。アルゴリズムなしでは精度の高い画像認識が実現できないと言われるほど必要不可欠なものとなっています。

そもそもアルゴリズムとは?

アルゴリズムとは、問題や課題を解決するための手順や処理方法を指します。アルゴリズムという言葉は、イランの数学者であり天文学者でもあるアル・フワーリズミーにちなんだ言葉であるため、もともとは数学用語で、数学の解法や計算手順などが含まれます。IT分野でのアルゴリズムは、プログラムの中に組み込まれた処理手順のまとまりを指すことが多いようです。

なお、アルゴリズムの特徴は、実行すると同じ結果が返ってくるものの、答えを得るまでの工程は千差万別な場合があることです。例えば、机の上に置いたりんご・みかん・バナナの絵を描いてもらう場合を考えてみましょう。ある人はりんごから、別の人はみかんから、また別の人はバナナから描き始めるかもしれませんが、最終的には3つの果物が描かれているはずです。アルゴリズムもこれと同様で、最終的な答えは一致するものの、道順が異なることがあります。

アルゴリズムを使った技術例

ここで、アルゴリズムを使った画像認識の技術をご紹介します。

物体検知

画像や動画の中から、動物や物を識別する技術が物体検知になります。人間は、見ている画像や映像から知っている人を認識したり、動物の種類を判断できますが、特に何も学習していないコンピュータにはそれができません。写っている画像や動画はピクセルと呼ばれる点の集まりとしか認識できないため、いろいろな手法を使って特徴を捉えるよう学習させることで物体検知ができるようになります。物体検知の技術は身近なところで使われています。その一つが、自動運転です。車に取り付けられたカメラに写る人や標識、対向車線の車などを、まるで映像から切り取るように区別し、安全な自動運転に寄与するだけでなく、事故防止にも役立っています。

顔認識

顔認識とは、顔の特徴を認識する技術です。顔の構成要素の中でも特徴的な部分である目・鼻・口などの情報をピックアップし、どのような感情でいるかなど表情を読み取ることもできるようになっています。顔認識の技術は、スマートフォンのロック解除にも応用されていますし、企業などが使う入退室システムにも活用されています。また、店舗の入り口や空港の保安検査場・搭乗口・入出国ゲート・税関申告ゲートを通過する際には顔認識の技術で一人一人がチェックされています。プライバシーの問題が指摘されることもありますが、顔認識技術のおかけで万引き防止に役立ち、安全な旅を楽しめます。

文字認識

文字認識は、紙に印刷された文字や手書き文字を認識し、特定の文字や数字として判断する技術です。加えて、紙ベースの文字をデータに変換する技術も開発されています。文字認識は比較的前から使われており、OCR技術は有名です。OCRは、まず文字を画像として認識し、その画像を解析して文字の種類を特定し、最後にデジタルテキストに変換します。従来のOCRは簡単な文字や数字を認識できるのみで、クセがある文字は読み取れない場合がありました。最新のAIを用いたOCRでは、読み取れる文字の種類や字体が増え、翻訳技術などに応用されています。

併記した活用事例からもわかる通り、アルゴリズムを使った画像認識技術は、開発途上にあるにも関わらず、私たちの生活に必要不可欠な存在になっています。上述で取り上げた画像認識技術には、機械学習アルゴリズムが用いられています。機械学習とは、あらかじめ用意された学習データあるいは訓練データを使い、問題解決の精度を上げていく方法です。人や動物が経験から学ぶ手法をまねている効果的な学習方法と言えるでしょう。

画像認識に使われるディープラーニング技術

画像認識には、先で取り上げた機械学習のほかに、ディープラーニング技術も使われています。ディープラーニングも機械学習の一つの手法ですが、人の手で抽出された特徴などのデータを読み込む機械学習とは異なり、ディープラーニングでは画像の特徴の抽出はコンピュータ自身が行ないます。どちらが優れているというものではなく、用途により最も良い方法を選択していくことが重要です。ここでは、画像認識に使われているディープラーニング技術を3つに絞ってご紹介します。

畳み込みニューラルネットワーク

畳み込みニューラルネットワーク(CNN)は、画像を学習させる際に、画像の輝度を数値化し、画像を構成している各ピクセルの輝度数を用いてレイヤー(畳み込み層)を作り、特徴を抽出します。畳み込みニューラルネットワークを使うデメリットは、データ量が膨大になることです。その点を解消するために、重要だと思われる情報のみを抜き出してデータサイズを最小限にする処理が行なわれます。この作業に用いられるのがプーリング層です。畳み込みニューラルネットワークは、自動運転や監視カメラなどの開発に応用されています。

リカレントニューラルネットワーク

リカレントニューラルネットワーク(RNN)は、過去のデータを元にして、最適な処理を判断するのが得意なディープラーニング技術です。よく使われる時系列データの中には、株価や音声、文書や音楽、気象データなどが含まれます。一度学習した時系列データは、次の判断の際に使われます。過去の情報に従って新たなデータ処理を行う仕組みは、機械翻訳や文脈を読み解く必要がある音声認識などに応用されています。また、先に紹介した畳み込みニューラルネットワークと組み合わせることで画像の説明の作成なども行えます。

GAN

GANとは、英語の「Generative Adversarial Networks」の略語で、日本語では「敵対的生成ネットワーク」と訳すことができます。「敵対的」という表現が使われているように、異なる2つのネットワークを競わせて深く学習できるようにする技術になります。

GANが活用されている代表例が、自動の画像生成です。ディープラーニングでは、大量の学習データが必要ですが、分野によっては十分なデータ量が見込めず、開発に支障が出る場合があります。GANを使うと、学習させるデータの色や傾きを変えるなどして学習データ自体を増やすことが可能です。独自の特徴を持つデータを増やすのが得意という特徴を生かし、音声の生成や解像度の粗い画像を高解像度のものに変換するなどの応用が期待されています。GANはAIの開発を支える技術になっています。

画像認識に活用されるアルゴリズムの特徴まとめ

画像認識技術の開発や精度向上にはアルゴリズムが欠かせません。アルゴリズムは問題解決のための手順で、答えが出るまでの道筋は使用するアルゴリズムにより異なります。アルゴリズムを使って開発された画像認識技術は、顔認識や異常検出、文字認識などに使われ、私たちの生活を便利に豊かに変えています。仕組み自体は難しいですが、アルゴリズムを理解すると開発への理解が深まるに違いありません。

筆者プロフィール画像

Automagica編集部

バーチャルアシスタント(AI秘書)サービス「Automagica(オートマジカ)」を中心に、AIキャラクターの開発をしております。

関連記事

カテゴリ・タグ一覧