JP2016033806A - 画像処理装置、画像処理方法及びプログラム - Google Patents

画像処理装置、画像処理方法及びプログラム Download PDF

Info

Publication number
JP2016033806A
JP2016033806A JP2015006529A JP2015006529A JP2016033806A JP 2016033806 A JP2016033806 A JP 2016033806A JP 2015006529 A JP2015006529 A JP 2015006529A JP 2015006529 A JP2015006529 A JP 2015006529A JP 2016033806 A JP2016033806 A JP 2016033806A
Authority
JP
Japan
Prior art keywords
category
processing unit
image data
categories
coefficient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015006529A
Other languages
English (en)
Other versions
JP6582416B2 (ja
Inventor
聡 疋田
Satoshi Hikita
聡 疋田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2015006529A priority Critical patent/JP6582416B2/ja
Priority to US14/710,700 priority patent/US9911067B2/en
Priority to EP15167809.1A priority patent/EP2945102A1/en
Publication of JP2016033806A publication Critical patent/JP2016033806A/ja
Application granted granted Critical
Publication of JP6582416B2 publication Critical patent/JP6582416B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2433Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/35Categorising the entire scene, e.g. birthday party or wedding scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/73Circuitry for compensating brightness variation in the scene by influencing the exposure time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/21Indexing scheme for image data processing or generation, in general involving computational photography

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Processing (AREA)

Abstract

【課題】画像データの適切なカテゴリ分類を支援することができる画像処理装置、画像処理方法及びプログラムを提供することを課題とする。【解決手段】畳み込み処理部と、カテゴリ毎に全結合処理部とを有する畳み込みニューラルネットワークを用いて、画像データが複数のカテゴリのいずれに属するかを算出する画像処理装置あって、予め学習された第1の係数を用いて前記畳み込み処理部において畳み込み処理を行う畳み込み処理手段と、第2の係数を用いて前記全結合処理部において全結合処理を行い前記画像データが前記複数のカテゴリのいずれに属するかを算出する全結合処理手段と、前記全結合処理手段による処理結果について前記カテゴリ毎に正規化を行う正規化手段と、を有し、前記畳み込み処理部は、前記第1の係数を前記複数のカテゴリに対して共通に学習を行う一方、前記全結合処理部は、前記第2の係数を前記カテゴリ毎に学習を行う、ことにより、上記課題を解決する。【選択図】 図3

Description

本発明は、画像処理装置、画像処理方法及びプログラムに関する。
デジタルカメラや携帯情報端末等の機器において、撮影する画像のシーンを機器が認識して、シーンに適したホワイトバランス、露出、ピント位置等を自動的に設定する画像処理技術が知られている。また、撮影された画像の保存等をすると、撮影された画像のシーンを機器が認識して、シーンに適した加工、編集等を自動的に行う画像処理技術も知られている。
上記のような画像処理を実現するために、機器等がシーンを認識する方法として、畳み込みニューラルネットワークを用いて画像に写っているものを例えば「人」、「自動車」、「犬」、「椅子」等のカテゴリに分類する技術が従来より知られている(例えば特許文献1及び2参照)。このような従来技術では、カテゴリ毎にニューラルネットワークを用いる方法(すなわち、複数のニューラルネットワークを用いる方法)や、画像データにいずれのカテゴリに属するかを示すラベルを施すことで1つのネットワークのみを用いる方法がある。
しかしながら、上記の従来技術においては、複数のネットワークを用いる方法では、カテゴリ数の増加に伴って必要となる計算量やメモリ量が増加する。他方、1つのネットワークのみを用いる方法では、画像データに複数のカテゴリに属するもの(例えば「料理」と「花」)が写っていると、適切なカテゴリ分類がされない場合がある。
また、1つのネットワークのみを用いる方法では、カテゴリを追加した場合、既存のカテゴリが学習した画像データについても再度ラベリングを行った上で、新たに追加したカテゴリに対して再学習を行う必要がある。特に、ラベリングはユーザが手作業で行わなければならないため、画像データの再学習はユーザにとって大きな手間となっている。
本発明の一実施形態は、上記の点に鑑みてなされたもので、画像データの適切なカテゴリ分類を支援することを目的とする。
上記目的を達成するため、本発明の一実施形態では、畳み込み処理部と、入力された画像データが分類されるカテゴリ毎に全結合処理部とを有する畳み込みニューラルネットワークを用いて、前記画像データが複数のカテゴリのいずれに属するかを算出する画像処理装置あって、前記画像データが前記複数のカテゴリのいずれに属するかを算出するための係数であって前記畳み込み処理部により予め学習された第1の係数を用いて、前記畳み込み処理部において畳み込み処理を行う畳み込み処理手段と、前記畳み込み処理手段による処理結果について、前記画像データが前記複数のカテゴリのいずれに属するかを算出するため係数であって前記全結合処理部により予め学習された第2の係数を用いて、前記全結合処理部において全結合処理を行い、前記画像データが前記複数のカテゴリのいずれに属するかを算出する全結合処理手段と、前記全結合処理手段による処理結果について、前記カテゴリ毎に正規化を行う正規化手段と、を有し、前記畳み込み処理部は、前記第1の係数を前記複数のカテゴリに対して共通に学習を行う一方、前記全結合処理部は、前記第2の係数を前記カテゴリ毎に学習を行うことを特徴とする。
本発明の一実施形態によれば、画像データの適切なカテゴリ分類を支援することができる。
第1の実施形態に係る画像処理装置の外観の一例を示す図である。 第1の実施形態に係る画像処理装置の構成の一例を示す図である。 第1の実施形態に係る画像処理装置の画像処理エンジンの機能構成の一例を示すブロック図である。 第1の実施形態に係る画像処理装置のカテゴリ識別処理の一例のフローチャートである。 第1の実施形態に係る入力画像データの加工処理の一例を説明するための図である。 第1の実施形態に係る第1層の畳み込み処理の一例を説明するための図である。 第1の実施形態に係る第1層のバイアス値及び重みデータの一例のデータ構成を説明するための図である。 第1の実施形態に係る第1層のフィルタの一例のデータ構成を説明するための図である。 第1の実施形態に係る第1層のプーリング処理の一例を説明するための図である。 第1の実施形態に係る第2層の畳み込み処理の一例を説明するための図である。 第1の実施形態に係る第2層のバイアス値及び重みデータの一例のデータ構成を説明するための図である。 第1の実施形態に係る第2層のフィルタの一例のデータ構成を説明するための図である。 第1の実施形態に係る第2層のプーリング処理の一例を説明するための図である。 第1の実施形態に係る第3層の畳み込み処理の一例を説明するための図である。 第1の実施形態に係る第3層のバイアス値及び重みデータの一例のデータ構成を説明するための図である。 第1の実施形態に係る第3層のフィルタの一例のデータ構成を説明するための図である。 第1の実施形態に係る第4層の全結合処理の一例を説明するための図である。 第1の実施形態に係る第4層のバイアス値及び重みデータの一例のデータ構成を説明するための図である。 第1の実施形態に係る正規化処理の一例を説明するための図である。 第2の実施形態に係る画像処理装置の画像処理エンジンの機能構成の一例を示すブロック図である。 第2の実施形態に係る画像処理装置の学習処理の一例を示すフローチャートである。 第3の実施形態に係る画像処理装置の画像処理エンジンの機能構成の一例を示すブロック図である。 第3の実施形態に係る画像処理装置のカテゴリ識別処理の一例のフローチャートである。 第3の実施形態に係る第4層の一般カテゴリの全結合処理の一例を説明するための図である 第3の実施形態に係る第4層のバイアス値及び重みデータの一例のデータ構成を説明するための図である。 第3の実施形態に係る第4層の特殊カテゴリの全結合処理の一例を説明するための図である。 第3の実施形態に係る正規化処理の一例を説明するための図である。 第4の実施形態に係る画像処理装置の画像処理エンジンの機能構成の一例を示すブロック図である。 第4の実施形態に係る画像処理装置の学習処理の一例を示すフローチャートである。 第5の実施形態に係る学習処理の一例の概要を説明するための図である。 第5の実施形態に係る学習処理の一例を示すフローチャートである。 第5の実施形態に係る逆方向の全結合処理の一例を説明するための図である。 第5の実施形態に係る逆方向の第3層の畳み込み処理の一例を説明するための図である。 第5の実施形態に係る逆方向の第2層のプーリング処理の一例を説明するための図である。
以下、本発明の実施形態について添付の図面を参照しながら説明する。
[第1の実施の形態]
<画像処理装置の外観>
まず、第1の実施形態に係る画像処理装置1の外観について説明する。図1は、第1の実施形態に係る画像処理装置の外観の一例を示す図である。図1では、画像処理装置の一例としてのデジタルカメラの外観を示している。図1(a)は上面図、図1(b)は正面図、図1(c)は背面図である。なお、画像処理装置1は、デジタルカメラに限られず、携帯電話、スマートフォン、タブレット端末、ゲーム機器等、画像処理を行える機器であればよい。
デジタルカメラの上面には、レリーズシャッタSW1、モードダイヤルSW2、及びサブLCD2が設けられている。デジタルカメラの正面には、ストロボ発光部4、光学ファインダ5、リモコン受光部6、及び鏡胴ユニット7が設けられている。また、正面から見て左側面にはSDカード/電池蓋3が設けられている。
また、デジタルカメラの背面には、AFLED8、ストロボLED9、ズームスイッチ(ワイド)SW3、ズームスイッチ(遠隔)SW4、セルフタイマ/削除スイッチSE5、メニュースイッチSW6、上/ストロボスイッチSW7が設けられている。さらに、デジタルカメラ1の背面には、右スイッチSW8、ディスプレイスイッチSW9、下/ストロボスイッチSW10、左/画像確認スイッチSW11、オーケースイッチSW12、LCDモニタ10、及び電源スイッチSW13が設けられている。
<画像処理装置の内部構成>
次に、画像処理装置1の内部構成について説明する。図2は、第1の実施形態に係る画像処理装置の構成の一例を示す図である。図2に示すように、鏡胴ユニット7は、被写体の光学画像を取り込むズームレンズ501及びズーム駆動モータ614aからなるズーム光学系と、フォーカスレンズ502及びフォーカス駆動モータ614bからなるフォーカス光学系と、絞り503及び絞りモータ614cからなる絞りユニットと、メカシャッタ504及びメカシャッタモータ614dからなるメカシャッタユニットと、各モータを駆動するモータドライバ614とを有する。そして、モータドライバ614は、リモコン受光部6での入力情報や操作キーユニット613の操作入力に基づいて、画像処理エンジン100内にあるCPUブロック108からの駆動指令により駆動制御される。
画像処理エンジン100に接続されるNANDフラッシュメモリ300には、CPUブロック108において解読可能なコードで記述された制御プログラム301やこの制御プログラム301が利用する制御パラメータ等が格納されている。画像処理装置1の電源がオン状態になると、制御プログラム301はSRAM109にロードされ、CPUブロック108はSRAM109にロードされた制御プログラム301にしたがって画像処理装置1の各部の動作を制御する。また、制御プログラム301は、制御に必要なデータ等を一時的にSRAM109やSDRAM200等に保存する。NANDフラッシュメモリ300は、書き換え可能な不揮発性メモリであるため、制御プログラム301やこの制御プログラム301が利用する制御パラメータ等を変更することが可能となり、例えば機能のバージョンアップ等を行うことができる。
イメージセンサ606は、光学画像を光電変換するための固体撮像素子であり、AEF(アナログフロントエンド)400は、画像ノイズ除去用相関二重サンプリングを行うCDS401、利得調整を行うAGC402、デジタル信号変換を行うA/D403、TG404を有する。このうち、TG404は、センサ1制御ブロック106から垂直同期信号(VD信号)、水平同期信号(HD信号)を供給され、CPUブロック108によって制御されるイメージセンサ606及びAEF400の駆動タイミング信号を発生する。
画像処理エンジン100は、イメージセンサ606よりAFE400の出力データにホワイトバランス設定やガンマ設定を行い、また、前述したように、VD信号、HD信号を供給するセンサ1制御ブロック106、フィルタリング処理により輝度データ・色差データへの変換を行うセンサ2制御ブロック107、前述した画像処理装置1の各部の動作を制御するCPUブロック108を有する。
また、画像処理エンジン100は、前述した制御に必要なデータ等を、一時的に保存するSRAM109、パソコン等の外部機器とUSB通信を行うUSBブロック101、JPEG圧縮・伸張を行うJPEG CODECブロック102を有する。
さらに、画像処理エンジン100は、画像データのサイズを補間処理により拡大/縮小するリサイズブロック103、画像データを液晶モニタやTVなどの外部表示機器に表示するためのビデオ信号に変換するTV信号表示ブロック104、撮影された画像データを記録するメモリカードの制御を行うメモリカードコントローラブロック105を有している。
SDRAM200は、前述した画像処理エンジン100で画像データに各種処理を施す際に、画像データを一時的に保存する。保存される画像データは、例えば、イメージセンサ606から、AFE400を経由して取り込む。ここで、取り込まれた画像データはセンサ1制御ブロック106でホワイトバランス設定、ガンマ設定が行われた状態の「RAW−RGB画像データ」やセンサ2制御ブロック107で輝度データ・色差データ変換が行われた状態の「YUV画像データ」、JPEG CODECブロック102でJPEG圧縮された「JPEG画像データ」等である。
メモリカードコントローラブロック105にはメモリカードスロットル605が接続されている。このメモリカードスロットル605は、着脱可能なメモリカード605aを装着するためのスロットルである。なお、メモリカードスロットル605にメモリカード605aが装着されていない場合でも、撮影した画像データを記憶できるようにするため内蔵メモリ(不図示)が画像処理エンジン100に接続されていてもよい。
LCDドライバ602は、LCDモニタ10を駆動するドライブ回路であり、TV信号表示ブロック104から出力されたビデオ信号をLCDモニタ10に表示するための信号に変換する機能も有している。LCDモニタ10は、撮影前に被写体の状態を監視する、撮影した画像を確認する、メモリカード605aや前述した不図示の内蔵メモリに記録した画像データを表示する等を行うためのモニタである。ビデオアンプ603は、TV信号表示ブロック104から出力されたビデオ信号を75Ωインピーダンス変換するためのアンプであり、ビデオジャック604は、TV等の外部表示機器と接続するためのジャックである。
USBコネクタ601は、パソコン等の外部機器とUSB接続を行うためのコネクタである。
サブマイコン607は、ROM・RAMをワンチップに内蔵したCPUであり、操作キーユニット613やリモコン受光部6の出力信号をユーザの操作情報として、CPUブロック108に出力したり、CPUブロック108より出力されるカメラの状態をサブLCD2、AFLED611、ストロボLED612、ブザー608の制御信号に変換して、出力する。
サブLCD2は、例えば、撮影可能枚数などを表示するための表示部であり、LCDドライバ610は、サブマイコン607の出力信号により、サブLCD2を駆動するためのドライブ回路である。
AFLED611は、撮影時の合焦状態を表示するためのLEDであり、ストロボLED612は、ストロボ充電状態を表すためのLEDである。なお、このAFLED611とストロボLED612を、メモリカードアクセス中などの別の表示用途に使用してもよい。操作キーユニット613は、ユーザが操作するキー回路であり、リモコン受光部6は、ユーザが操作したリモコン送信機の信号の受信部である。
画像処理エンジン100には、ストロボを発光させるストロボ発光部4を制御するためのストロボ回路609が接続されている。また、画像処理エンジン100には、CPUブロック108により制御される、入力された音声信号を増幅するマイクアンプやスピーカーを駆動するためのオーディオアンプが内蔵されたオーディオCODEC615が接続されている。さらに、オーディオCODEC615には、ユーザが音声信号を入力するマイク616及び音声信号を出力するスピーカー617が接続されている。
<画像処理装置の画像処理エンジンの機能構成>
次に、第1の実施形態に係る画像処理装置1の画像処理エンジン100の機能構成について説明する。図3は、第1の実施形態に係る画像処理装置の画像処理エンジンの機能構成の一例を示すブロック図である。なお、本実施形態においては、入力された画像データが複数のカテゴリのいずれのカテゴリに分類されるかの度合いを示す確信度を算出するための畳み込みニューラルネットワークNは、一例として、第1層〜第4層で構成されるものとする。すなわち、本実施形態に係る畳み込みニューラルネットワークNは、畳み込み処理及びプーリング処理を行う第1層〜第2層と、畳み込み処理を行う第3層と、全結合処理を行う第4層とから構成される。なお、畳み込みニューラルネットワークNの構成は、これに限られず、一般に、nを3以上の任意の自然数として、畳み込み処理及びプーリング処理を行う第1層〜第n−2層と、畳み込み処理を行う第n−1層と、全結合処理を行う第n層とから構成されていてもよい。
また、本実施形態において、カテゴリは、カテゴリに属する場合とそのカテゴリ以外に属する場合との組によって表されるものとする。例えば、1つのカテゴリは、「料理」「料理以外」と表される。同様に、例えば、「花」「花以外」、「車」「車以外」、「紅葉」「紅葉以外」等のように表される。
まず、図3に示すように、画像データ1000は入力部20に入力される。入力部20では、入力された画像データ1000に対して所定の加工処理を行った後、第1層の畳み込み処理部30に画像データを出力する。
第1層の畳み込み処理部30は、本実施形態に係る畳み込みニューラルネットワークNにより予め学習されたバイアス値2100及び重みデータ3100に基づいて畳み込み処理を行った後、画像データを第1層のプーリング処理部40に出力する。そして、第1層のプーリング処理部40は、プーリング処理を行った後、画像データを第2層の畳み込み処理部30に出力する。
第2層の畳み込み処理部30は、本実施形態に係る畳み込みニューラルネットワークNにより予め学習されたバイアス値2200及び重みデータ3200に基づいて畳み込み処理を行った後、画像データを第2層のプーリング処理部40に出力する。そして、第2層のプーリング処理部40は、プーリング処理を行った後、画像データを第3層の畳み込み処理部30に出力する。
第3層の畳み込み処理部30は、本実施形態に係る畳み込みニューラルネットワークNにより予め学習されたバイアス値2300及び重みデータ3300に基づいて畳み込み処理を行った後、画像データを第4層の全結合処理部50に出力する。
第4層の全結合処理部50は、本実施形態に係る畳み込みニューラルネットワークNにより予め学習されたバイアス値2400及び重みデータ3400に基づいて全結合処理を行った後、画像データを正規化処理部60に出力する。ここで、本実施形態に係る畳み込みニューラルネットワークNの全結合処理部50は、カテゴリ毎に全結合処理部50を有する。例えば、カテゴリの個数が、「料理」「料理以外」、「花」「花以外」、「車」「車以外」の3つである場合、全結合処理部50はそれぞれのカテゴリ毎に3つ(全結合処理部50〜全結合処理部50)有する。したがって、本実施形態に係る畳み込みニューラルネットワークNでは、カテゴリ数が増減した場合、それぞれ対応する全結合処理部50を追加又は削除する必要がある。なお、他方で、カテゴリ数が増減した場合においても畳み込み処理部30及びプーリング処理部40は追加・削除する必要はない。
また、バイアス値2400及び重みデータ3400は、各全結合処理部50毎に有する。すなわち、例えば、カテゴリが、「料理」「料理以外」、「花」「花以外」、「車」「車以外」の3つである場合、カテゴリ「料理」「料理以外」に対応する全結合処理部50が用いるバイアス値2400及び重みデータ3400を有する。同様に、カテゴリ「花」「花以外」に対応する全結合処理部50が用いるバイアス値2400及び重みデータ3400、カテゴリ「車」「車以外」に対応する全結合処理部50が用いるバイアス値2400及び重みデータ3400を有する。
したがって、バイアス値2400及び重みデータ3400は、畳み込みニューラルネットワークNにより予めカテゴリ毎に学習された値(データ)である。他方、バイアス値2100〜2300及び重みデータ3100〜3300は、カテゴリに関わらずに(換言すれば、全カテゴリ共通に)、畳み込みニューラルネットワークNにより予め学習された値(データ)である。このようなバイアス値2100〜2400及び重みデータ3100〜3400は、畳み込みニューラルネットワークNのネットワーク係数又はネットワーク結合係数と呼ばれ、特許請求の範囲に記載の係数の一例である。
正規化処理部60は、各全結合処理部50の処理結果について、所定の正規化処理を行う。そして、出力部70は、正規化処理部60が行った処理結果を出力する。
なお、本実施形態において、バイアス値2100〜2400及び重みデータ3100〜3400は、上述した通り、畳み込みニューラルネットワークNにより予め学習されている値(データ)であるものとする。また、これらのバイアス値2100〜2400及び重みデータ3100〜3400は、例えば、NANDフラッシュメモリ300等に格納される。なお、バイアス値2100〜2400及び重みデータ3100〜3400のデータ構成については後述する。
また、NANDフラッシュメモリ300等には、上記の学習に用いた学習データも格納されていてもよい。ここで、学習データとは、畳み込みニューラルネットワークNによりバイアス値2100〜2400及び重みデータ3100〜3400を更新するために用いるデータである。学習データには、例えば、学習に用いる画像データと、この画像データがいずれのカテゴリに属するかを示す教師データ(正解ラベル)とが含まれる。
本実施形態に係る画像処理エンジン100は、上述した各構成を有することにより、後述する各種処理を実現することができる。
<処理の詳細>
次に、第1の実施形態に係る画像処理装置1の処理について、図4〜図19を参照しつつ詳細について説明する。図4は、第1の実施形態に係る画像処理装置のカテゴリ識別処理の一例のフローチャートである。この処理により、本実施形態に係る画像処理装置1は、入力された画像データが、予め定められたカテゴリのいずれに属するのかを算出(識別)することができる。
ステップS1において、入力部20は、画像データ1000を入力し、この画像データ1000を、畳み込みニューラルネットワークNに入力するための加工処理を行う。ここで加工処理について、図5を用いて説明する。図5は、第1の実施形態に係る入力画像データの加工処理の一例を説明するための図である。なお、画像データ1000の色空間は、RGB色空間であるものとする(すなわち、画像データ1000の色チャンネルは3チャンネルである)。ただし、画像データ1000の色空間は、RGB色空間に限られず、例えば、CMK色空間、HSV色空間やHLS色空間等であってもよい。
Step11)入力部20は、入力された画像データ1000について、この画像データ1000を64×64(ピクセル)の画像データとなるように縮小する。このとき、画像データ1000の長辺が64(ピクセル)となるように縮小を行い、短辺については縮小された結果64(ピクセル)に満たない部分については値として0(すなわち、RGBの各色成分が0)をパディングして64(ピクセル)とする。なお、画像データ1000を縮小するためのアルゴリズムとしては、例えば、バイリニア法を用いればよい。
Step12)次に、入力部20は、上記のStep11において得られた64×64の画像データの各画素値から、所定の値を減算した画像データを生成する。ここで、所定の値は、各学習データに含まれる画像データ(以降、「学習画像データ」という)の各画素値の平均値である。すなわち、各学習画像データの画素位置(i,j)における画素値の平均値をM(i,j)とした場合、上記のStep11において得られた64×64の画像データの各画素位置(i,j)の画素値からM(i,j)を減算する。ここで、i,j=1,・・・,64である。
Step13)最後に、入力部20は、上記のStep12において得られた画像データについて、中心の56×56(ピクセル)の画像データ以外を0クリアする。換言すれば、上記のStep12において得られた画像データの周辺4ピクセル分を0クリアする。なお、図5において、網掛け部分が0クリアした部分である(このことは、以降の説明においても同様である)。
そして、図5に示した上記のStep13において得られた画像データ(この画像データを「画像データ1100」とする。)を、入力部20は、第1層の畳み込み処理部30に出力する。
ステップS2において、第1層の畳み込み処理部30は、画像データ1100を入力し、この画像データ1100について畳み込み処理を行う。ここで第1層の畳み込み処理について、図6を用いて説明する。図6は、第1の実施形態に係る第1層の畳み込み処理の一例を説明するための図である。
Step21)畳み込み処理部30は、入力した画像データ1100を入力する。ここで、入力した画像データ1100の色空間はRGB色空間であるため、色チャンネルは64×64×3チャンネルである。
Step22)畳み込み処理部30は、重みデータ3100からフィルタを生成し、画像データ1100の中心の56×56の部分に対して、このフィルタを用いてフィルタ処理を行う。ここで、重みデータ3100のデータ構成及びこの重みデータ3100から生成されるフィルタ3100fのデータ構成について説明する。
図7(b)は、第1層の重みデータ3100の一例のデータ構成を説明するための図である。図7(b)に示すように、第1層の重みデータ3100は、75×64の行列で表されるデータ構成を有している。なお、重みデータ3100の各値w(i,j)は、上述したように、畳み込みニューラルネットワークNにより予め学習された値である。
次に、重みデータ3100から生成されるフィルタ3100fのデータ構成について説明する。図8は、第1の実施形態に係る第1層のフィルタの一例のデータ構成を説明するための図である。図8に示すように、各フィルタ3100fは、5×5の行列の3つの組で表されるデータ構成を有している。換言すれば、各フィルタ3100fは、5×5×3で表されるデータ構成を有している。例えば、重みデータ3100のw(1,1)〜w(25,1)、w(26,1)〜w(50,1)、及びw(51,1)〜w(75,1)からフィルタ3100fが生成される。同様に、重みデータ3100のw(1,2)〜w(25,2)、w(26,2)〜w(50,2)、及びw(51,2)〜w(75,2)からフィルタ3100fが生成される。以降、j=3,・・・,64の場合も同様である。
以上のように生成された各フィルタ3100fを用いて、畳み込み処理部30は、フィルタ処理を行う。フィルタ処理は、例えば、以下のようにして行う。
(1)画像データ1100の中心56×56×3の部分に対してフィルタ3100fをかける(すなわち、画像データ1100とフィルタfの対応する値の乗算を行う)。これは、例えば、Rチャンネルを固定し、Rチャンネル用のフィルタ3100fの中心を56×56の左上から5ずつ右にずらしながら行う。そして、Rチャンネル用のフィルタ3100fの中心が画像データ1100の56×56部分の右端まで辿りついたら、フィルタ3100fの中心を下に5ずらして、再度、左端からRチャンネル用のフィルタ3100fを当該部分に対してかける。
(2)次に、画像データ1100のGチャンネルに対して、上記(1)と同様の方法でGチャンネル用のフィルタ3100fをかけ、Bチャンネルに対しても同様にBチャンネル用のフィルタ3100fをかける。
(3)フィルタ3100f〜フィルタ3100f64についても、上記と同様に、画像データ1100のRGBの各チャンネルに対してフィルタ処理を順に行う。
以上により、上記のフィルタ処理により、画像データ1100から64×64×3×64チャンネルの画像が生成される。
Step23)次に、畳み込み処理部30は、上記のStep22において得られた64×64×3×64チャンネルの画像データの各RGB成分を加算する。この結果、64×64×64チャンネルの画像データが得られる。
Step24)次に、畳み込み処理部30は、上記のStep23において得られた画像データの各画素値に対して、バイアス値2100を加算する。ここで、図7(a)は、第1層のバイアス値2100の一例のデータ構成を説明するための図である。図7(a)に示すように、バイアス値2100は、1×64の行列により表される。そこで、畳み込み処理部30は、1つめの画像データの各画素値に対してバイアス値b(1)を加算する。同様に、2つ目の画像データの各画素値に対してバイアス値b(2)を加算する。以降、同様に、64個のすべての画像データの各画素値に対して、それぞれ、バイアス値2100を加算する。
Step25)続いて、畳み込み処理部30は、上記のStep24において得られた64×64×64チャンネルの画像データに対して、所定の活性化関数を適用して出力画像データを得る。所定の活性化関数としては、例えば、任意の画素値xに対して、f(x)=max(0,x)で定義される関数が挙げられる。
なお、上記のStep25において、64×64×64チャンネルの画像データに対して、活性化関数を適用した後、前述の処理において0クリアした網掛け部分は取り除き、画像データの中心の56×56部分のみをプーリング処理部30に出力する。したがって、畳み込み処理部30がプーリング処理部30に出力する画像データの色チャンネルは、56×56×64である。このようにして得られた56×56×64チャンネルの画像データを以降、「画像データ1200」とする。なお、網掛け部分は、上記のStep23に又はStep24おいて取り除いてもよい。
ステップS3において、プーリング処理部40は、画像データ1200を入力し、この画像データ1200についてプーリング処理を行う。ここで第1層のプーリング処理について、図9を用いて説明する。図9は、第1の実施形態に係る第1層のプーリング処理の一例を説明するための図である。
Step31)プーリング処理部40は、56×56×64チャンネルの画像データ1200を入力する。
Step32)プーリング処理部40は、画像データ1200の3×3の領域内の最大値を出力する処理を繰り返し行い、28×28×64の画像データ(この画像データを以降「画像データ1300」とする)を生成する。これは、例えば、以下のようにして行う。
(1)画像データ1200の1つの56×56の画像データについて、左上を中心として3×3の領域における画素値の最大値を得る。そして、この最大値を、画像データ1300の画素位置(1,1)の画素値とする。
(2)次に、3×3の領域を右に2ずつ移動させながら、それぞれの領域内における画素値の最大値を得て、それぞれ、画像データ1300の画素位置(1,2)〜(1,28)の画素値とする。
(3)続いて、3×3の領域の中心を下に2移動させ、左端から同様に2ずつ領域の中心を移動させながら、それぞれの領域内における画素値の最大値を得て、それぞれ、画像データ1300の画素位置(2,1)〜(2,28)の画素値とする。以降、同様に、(3,1)〜(28,28)の画素値を得る。
(4)上記の(1)〜(3)を、すべての56×56の画像データについて行う。すなわち、上記の(1)〜(3)を、64個の56×56の画像データについて行う。
Step33)プーリング処理部40は、画像データ1300を第2層の畳み込み処理部30に出力する。
ステップS4において、第2層の畳み込み処理部30は、画像データ1300を入力し、この画像データ1300について畳み込み処理を行う。ここで第2層の畳み込み処理について、図10を用いて説明する。図10は、第1の実施形態に係る第2層の畳み込み処理の一例を説明するための図である。
Step41)畳み込み処理部30は、入力した画像データ1300を入力する。ここで、入力した画像データ1300の色チャンネルは、28×28×64チャンネルである。
Step42)畳み込み処理部30は、重みデータ3200からフィルタを生成し、画像データ1300に対して、このフィルタを用いてフィルタ処理を行う。ここで、重みデータ3200のデータ構成及びこの重みデータ3200から生成されるフィルタ3200fのデータ構成について説明する。
図11(b)は、第2層の重みデータ3200の一例のデータ構成を説明するための図である。図11(b)に示すように、第2層の重みデータ3200は、1600×64の行列で表されるデータ構成を有している。なお、重みデータ3200の各値w(i,j)は、上述したように、畳み込みニューラルネットワークNにより予め学習された値である。
次に、重みデータ3200から生成されるフィルタ3200fのデータ構成について説明する。図12は、第1の実施形態に係る第2層のフィルタの一例のデータ構成を説明するための図である。図12に示すように、各フィルタ3200fは、5×5の行列の64個の組で表されるデータ構成を有している。換言すれば、各フィルタ3200fは、5×5×64で表されるデータ構成を有している。例えば、重みデータ3200のw(1,1)〜w(25,1)、・・・、w(1576,1)〜w(1600,1)からフィルタ3200fが生成される。同様に、w(1,2)〜w(25,2)、・・・、w(1576,2)〜w(1600,2)からフィルタ3200fが生成される。以降、j=3,・・・,64の場合も同様である。
以上のように生成された各フィルタ3200fを用いて、畳み込み処理部30は、フィルタ処理を行う。フィルタ処理は、例えば、以下のようにして行う。
(1)画像データ1300に対してフィルタ3200fをかける(すなわち、画像データ1300とフィルタfの対応する値の乗算を行う)。これは、例えば、1つのチャンネルを固定し、フィルタ3200fの中心を28×28の左上から5ずつ右にずらしながら行う。そして、フィルタ3200fの中心が画像データ1300の28×28の部分の右端まで辿りついたら、フィルタ3200fの中心を下に5ずらして、再度、左端からフィルタ3200fを当該部分に対してかける。
(2)次に、画像データ1300の他のチャンネルに対して、上記(1)と同様の方法でフィルタ3200fをかける。この処理をすべてのチャンネル1〜64に対して繰り返す。
(3)フィルタ3200f〜フィルタ3200f64についても、上記と同様に、画像データ1300のすべてのチャンネル(1〜64)に対してフィルタ処理を順に行う。
以上により、上記のフィルタ処理により、画像データ1300から28×28×64×64チャンネルの画像データが得られる。
Step43)次に、畳み込み処理部30は、上記のステップStep42により得られた画像データの28×28の部分について、各画素値を1〜64チャンネルのそれぞれについて加算する。この結果、28×28×64チャンネルの画像データが得られる。
Step44)次に、畳み込み処理部30は、上記のStep43において得られた画像データの各画素値に対して、バイアス値2200を加算する。ここで、図11(a)は、第2層のバイアス値2200の一例のデータ構成を説明するための図である。図11(a)に示すように、バイアス値2200は、1×64の行列により表される。そこで、畳み込み処理部30は、1つめの画像データの各画素値に対してバイアス値b(1)を加算する。同様に、2つ目の画像データの各画素値に対してバイアス値b(2)を加算する。以降、同様に、64個のすべての画像データの各画素値に対して、それぞれ、バイアス値2200を加算する。
Step45)続いて、畳み込み処理部30は、上記のStep44において得られた28×28×64チャンネルの画像データに対して、所定の活性化関数を適用して出力画像データを得る。所定の活性化関数としては、例えば、任意の画素値xに対して、f(x)=max(0,x)で定義される関数が挙げられる。このようにして得られた28×28×64チャンネルの画像データを以降、「画像データ1400」とする。畳み込み処理部30は、画像データ1400を第2層のプーリング処理部30に出力する。
ステップS5において、プーリング処理部40は、画像データ1400を入力し、この画像データ1400についてプーリング処理を行う。ここで第2層のプーリング処理について、図13を用いて説明する。図13は、第1の実施形態に係る第2層のプーリング処理の一例を説明するための図である。
Step51)プーリング処理部40は、28×28×64チャンネルの画像データ1400を入力する。
Step52)プーリング処理部40は、画像データ1400の3×3の領域内の最大値を出力する処理を繰り返し行い、14×14×64の画像データ(この画像データを以降「画像データ1500」とする)を生成する。これは、例えば、以下のようにして行う。
(1)画像データ1400の1つの28×28の画像データについて、左上を中心として3×3の領域における画素値の最大値を得る。そして、この最大値を、画像データ1500の画素位置(1,1)の画素値とする。
(2)次に、3×3の領域を右に2ずつ移動させながら、それぞれの領域内における画素値の最大値を得て、それぞれ、画像データ1500の画素位置(1,2)〜(1,14)の画素値とする。
(3)続いて、3×3の領域の中心を下に2移動させ、左端から同様に2ずつ領域の中心を移動させながら、それぞれの領域内における画素値の最大値を得て、それぞれ、画像データ1500の画素位置(2,1)〜(2,14)の画素値とする。以降、同様に、(3,1)〜(14,14)の画素値を得る。
(4)上記の(1)〜(3)を、すべての28×28の画像データについて行う。すなわち、上記の(1)〜(3)を、64個の28×28の画像データについて行う。
Step53)プーリング処理部40は、画像データ1500を第3層の畳み込み処理部30に出力する。
ステップS6において、第3層の畳み込み処理部30は、画像データ1500を入力し、この画像データ1500について畳み込み処理を行う。ここで第3層の畳み込み処理について、図14を用いて説明する。図14は、第1の実施形態に係る第3層の畳み込み処理の一例を説明するための図である。
Step61)畳み込み処理部30は、画像データ1500を入力する。ここで、入力した画像データ1500の色チャンネルは、14×14×64チャンネルである。
Step62)畳み込み処理部30は、重みデータ3300からフィルタを生成し、画像データ1500に対して、このフィルタを用いてフィルタ処理を行う。ここで、重みデータ3300のデータ構成及びこの重みデータ3300から生成されるフィルタ3300fのデータ構成について説明する。
図15(b)は、第3層の重みデータ3300の一例のデータ構成を説明するための図である。図15(b)に示すように、第3層の重みデータ3300は、576×64の行列で表されるデータ構成を有している。なお、重みデータ3300の各値w(i,j)は、上述したように、畳み込みニューラルネットワークNにより予め学習された値である。
次に、重みデータ3300から生成されるフィルタ3300fのデータ構成について説明する。図16は、第1の実施形態に係る第3層のフィルタの一例のデータ構成を説明するための図である。図16に示すように、各フィルタ3300fは、3×3の行列の64個の組で表されるデータ構成を有している。換言すれば、各フィルタ3300fは、3×3×64で表されるデータ構成を有している。例えば、重みデータ3300のw(1,1)〜w(9,1)、・・・、w(568,1)〜w(576,1)からフィルタ3300fが生成される。同様に、w(1,2)〜w(9,2)、・・・、w(568,2)〜w(576,2)からフィルタ3200fが生成される。以降、j=3,・・・,64の場合も同様である。
以上のように生成された各フィルタ3300fを用いて、畳み込み処理部30は、フィルタ処理を行う。フィルタ処理は、例えば、以下のようにして行う。
(1)画像データ1500に対してフィルタ3300fをかける(すなわち、画像データ1500とフィルタfの対応する値の乗算を行う)。これは、例えば、1つのチャンネルを固定し、フィルタ3300fの中心を14×14の左上から3ずつ右にずらしながら行う。そして、フィルタ3300fの中心が画像データ1500の14×14の部分の右端まで辿りついたら、フィルタ3200fの中心を下に3ずらして、再度、左端からフィルタ3300fを当該部分に対してかける。
(2)次に、画像データ1500の他のチャンネルに対して、上記(1)と同様の方法でフィルタ3300fをかける。この処理をすべてのチャンネル1〜64に対して繰り返す。
(3)フィルタ3300f〜フィルタ3300f64についても、上記と同様に、画像データ1500のすべてのチャンネル(1〜64)に対してフィルタ処理を順に行う。
以上により、上記のフィルタ処理により、画像データ1500から14×14×64×64チャンネルの画像データが得られる。
Step63)次に、畳み込み処理部30は、上記のステップStep62により得られた画像データの14×14の部分について、各画素値を1〜64チャンネルのそれぞれについて加算する。この結果、14×14×64チャンネルの画像データが得られる。
Step64)次に、畳み込み処理部30は、上記のStep63において得られた画像データの各画素値に対して、バイアス値2300を加算する。ここで、図15(a)は、第3層のバイアス値2300の一例のデータ構成を説明するための図である。図15(a)に示すように、バイアス値2300は、1×64の行列により表される。そこで、畳み込み処理部30は、1つめの画像データの各画素値に対してバイアス値b(1)を加算する。同様に、2つ目の画像データの各画素値に対してバイアス値b(2)を加算する。以降、同様に、64個のすべての画像データの各画素値に対して、それぞれ、バイアス値2300を加算する。
Step65)続いて、畳み込み処理部30は、上記のStep64において得られた14×14×64チャンネルの画像データに対して、所定の活性化関数を適用して出力画像データを得る。所定の活性化関数としては、例えば、任意の画素値xに対して、f(x)=max(0,x)で定義される関数が挙げられる。このようにして得られた14×14×64チャンネルの画像データを以降、「画像データ1600」とする。畳み込み処理部30は、画像データ1600を全結合処理部50に出力する。
ステップS7において、第4層の全結合処理部50は、画像データ1600を入力し、この画像データ1600について全結合処理を行う。なお、全結合処理部50は、カテゴリ毎に存在し、それぞれの全結合処理部50に対して画像データ1600を入力する。例えば、カテゴリ数が「料理」「料理以外」、「花」「花以外」、「車」「車以外」の3つである場合、全結合処理部50は、カテゴリ「料理」「料理以外」に対応する全結合処理部50、カテゴリ「花」「花以外」に対応する全結合処理部50、及びカテゴリ「車」「車以外」に対応する全結合処理部50の3つが存在する。そして、各全結合処理部50は、それぞれ、画像データ1600を入力する。
ここで第4層の全結合処理について、図17を用いて説明する。図17は、第1の実施形態に係る第4層の全結合処理の一例を説明するための図である。
Step71)全結合処理部50は、画像データ1600を入力する。ここで、入力した画像データ1600の色チャンネルは、14×14×64である。
Step72)全結合処理部50は、画像データ1600の各画素値をベクトル値に変換する。すなわち、14×14×64チャンネルの画像データ1600の各画素値を12544行1列のベクトル値に変換する。ここで、ベクトル値の各成分の値をx,・・・,x12544とする。
Step73)全結合処理部50は、カテゴリ毎に、バイアス値2400及び重みデータ2400を用いて、積和演算を行う。ここで、バイアス値2400及び重みデータ3400のデータ構成について説明する。図18は、第1の実施形態に係る第4層のバイアス値及び重みデータの一例のデータ構成を説明するための図である。
図18(a)は、第4層のバイアス値2400の一例のデータ構成を説明するための図である。図18(a)に示すように、第4層のバイアス値2400は、カテゴリ毎のバイアス値2400,バイアス値2400,・・・から構成されている。また、カテゴリ毎のバイアス値2400は、1行2列のベクトル値である。なお、上述したように、ベクトルの各成分の値b(k,j)は、畳み込みニューラルネットワークNによりカテゴリ毎に予め学習された値である。
ここで、kは、カテゴリを示す数値であるとする。例えば、k=1のときカテゴリ「料理」「料理以外」を示し、k=2のときカテゴリ「花」「花以外」を示す。また、jは、カテゴリに属する場合か否かを示す数値である。例えば、j=1のときカテゴリに属する場合であり、j=2のときカテゴリに属さない場合である。
図18(b)は、第4層の重みデータ3400の一例のデータ構成を説明するための図である。図18(b)に示すように、第4層の重みデータ3400は、カテゴリ毎の重みデータ3400,重みデータ3400,・・・から構成されている。また、カテゴリ毎の重みデータ3400は、12544行2列の行列である。なお、上述したように、この行列の各成分の値w(i,j,k)は、畳み込みニューラルネットワークNによりカテゴリ毎に予め学習された値である。
図17の説明に戻り、全結合処理部50は、カテゴリ毎に、以下の積和演算を行う。換言すれば、カテゴリkに対して、全結合処理部50が、以下の積和演算を行う。
ここで、j及びkの意味は上述した通りである。このようにして得られた2×1×|k|のデータ(このデータを「確信度」と呼ぶ)を、全結合処理部50は、正規化処理部60に出力する。なお、|k|は、カテゴリ数である。
なお、上記の積和演算の結果が、画像データ1000がカテゴリkに属する場合(j=1の場合)の算出結果と、画像データ1000がカテゴリkに属さない場合(j=2)の算出結果である。これにより、ある画像データ1000があるカテゴリkに属するのか又は属さないのかを数値として判定することができる。例えば、あるカテゴリkについて、y(k)の値が0.7、y(k)の値が0.3である場合、この画像データ1000は、カテゴリkに属する場合が高いと判定することができる。換言すれば、あるカテゴリkについて、y(k)の値がy(k)の値より高い場合、入力された画像データ1000はそのカテゴリkに属する可能性が高いといえる(前述した「確信度」との名称はこのためである)。ただし、上記の算出結果では、カテゴリ同士のいずれのカテゴリに属するかを判定することができないため(換言すれば、異なるカテゴリ同士の確信度の比較ができないため)、次のステップS8において正規化処理を行う。
ステップS8において、正規化処理部60は、全結合処理部50より出力された2×1×|k|のデータを入力し、正規化処理を行う。ここで正規化処理について、図19を用いて説明する。図19は、第1の実施形態に係る正規化処理の一例を説明するための図である。
Step81)正規化処理部60は、全結合処理部50より出力された2×1×|k|のデータを入力する。
Step82)正規化処理部60は、カテゴリ毎に、(y(k),y(k))について以下の式により正規化を行う。
このようにして得られた2×1×|k|のデータが正規化後の確信度である。正規化処理を行うことにより、全カテゴリにおける確信度が0以上1以下の値に正規化されるため、異なるカテゴリ同士の確信度を比較することが可能になる。例えば、k=1をカテゴリ「料理」「料理以外」、k=2をカテゴリ「花」「花以外」とした場合において、z(1)=0.8,z(1)=0.2,z(2)=0.6,z(2)=0.4であるとき、入力された画像データ1000はカテゴリ「料理」に属する可能性が高いと言える。
また、これにより、画像データ1000の中に複数のカテゴリに属するものが存在する場合(例えば、画像データ1000中に「料理」と「花」が写っている場合)においても、異なるカテゴリ間の確信度の比較が適切に行うことができるようになる。
ステップS9において、出力部70は、正規化処理部60が出力した正規化後の確信度を出力する。なお、出力部70の出力先は、特に限定されない。出力部70は、例えば、LCDモニタ10等に出力してもよいし、所定のプログラム等に出力してもよい。したがって、ユーザがLCDモニタ10等に表示された入力画像データ1000の確信度を参考にして手作業でラベリングを行ってもよいし、所定のプログラム等により出力部70が出力した確信度に基づいて自動でラベリングを行ってもよい。
[第2の実施の形態]
次に、第2の実施形態に係る画像処理装置1について説明する。第2の実施形態に係る画像処理装置1では、第1の実施形態に係る画像処理装置1においてバイアス値及び重みデータの学習を行う。画像処理装置1の外観、内部構成、及びカテゴリ識別処理については、第1の実施形態と同様であるため説明を省略する。すなわち、第2の実施形態では、第1の実施形態に係る画像処理装置1の学習処理に必要な箇所を説明する。
<画像処理装置の画像処理エンジンの機能構成>
第2の実施形態に係る画像処理装置1の画像処理エンジン100の機能構成について説明する。図20は、第2の実施形態に係る画像処理装置の画像処理エンジンの機能構成の一例を示すブロック図である。
第2の実施形態に係る画像処理装置1の画像処理エンジン100の機能構成は、学習画像データ4000及び教師データ5000を有する点が第1の実施形態と異なる。なお、第1の実施形態において説明したように学習画像データ4000と教師データ5000は学習データを構成する。
学習画像データ4000は、点線6000A及び点線6000Bで示すバイアス値及び重みデータの学習に用いる画像データである。なお、学習とは、学習画像データ4000の出力結果が教師データ5000に適合するように、バイアス値及び重みデータの値を更新することである。
教師データ5000は、学習画像データ4000の正解ラベルである。すなわち、教師データ5000は、学習画像データ4000がいずれのカテゴリに属するかを示す情報である。
<処理の詳細>
次に、第2の実施形態に係る画像処理装置1の学習処理に説明する。図21は、第2の実施形態に係る画像処理装置の学習処理の一例を示すフローチャートである。
ステップS11において、入力部20は、学習画像データ4000及び教師データ5000を入力する。なお、画像処理装置1は、様々な画像データを適切なカテゴリに分類することができるようにするため、学習画像データ4000及び教師データ5000を数千〜数万データ入力させて学習を行うことが望ましい。
ステップS12において、畳み込み処理部30及び全結合処理部50は、学習画像データ4000及び教師データ5000に基づき、バイアス値及び重みデータの更新(学習)を行う。このような学習は、例えば、誤差逆伝播法などの従来からある方法を用いればよい。
ここで、点線6000Aで示すバイアス値及び重みデータは、すべての学習画像データ4000及び教師データ5000に基づいて更新される。他方、点線6000Bで示すバイアス値及び重みデータは、学習画像データ4000が属するカテゴリに応じて(すなわち、教師データ5000が示すカテゴリに応じて)、対応するバイアス値2400及び重みデータ5000のみが更新される。例えば、学習画像データ4000及び教師データ5000がカテゴリ「料理」「料理以外」の学習データである場合、このカテゴリに対応する全結合処理部50が用いるバイアス値2400及び重みデータ3400のみが学習対象である。同様に、例えば、学習画像データ4000及び教師データ5000がカテゴリ「花」「花以外」の学習データである場合、このカテゴリに対応する全結合処理部50が用いるバイアス値2400及び重みデータ3400のみが学習対象である。
なお、上記のステップS12において、バイアス値及び重みデータの学習を十分に行った後においては点線6000Aで示すバイアス値及び重みデータの学習は行わなくてもよい。例えば、バイアス値及び重みデータの学習が十分に行われた後において、カテゴリを追加した場合、この追加したカテゴリに対応するバイアス値2400及び重みデータ3400のみ学習を行えばよい。これにより、学習処理に伴う計算量を削減することができる。
[第3の実施の形態]
次に、第3の実施形態に係る画像処理装置1について説明する。画像データをカテゴリに分類する際に、一般のカテゴリ間における識別と、誤認識が発生しやすいカテゴリ間の識別とを分けて処理する方法も知られているが(例えば特開2013−250809号公報参照)、このような方法では適切な学習が行われない場合がある。例えば、カテゴリ「花」と、「花」と誤認識しやすいカテゴリ「木漏れ日」とがある場合において、「木漏れ日」の学習画像データの数が「花」の学習画像データの数に比して極端に少ない数しか用意することができない場合、適切な学習がされない場合がある。本実施形態に係る画像処理装置1では、このような場合においても画像データの適切なカテゴリ分類を行うことができるようにするものである。なお、本実施形態では、第1の実施形態と異なる箇所について主に説明を行い、第1の実施形態と同一の機能を有する箇所又は同一の処理を行う箇所については、適宜説明を省略又は簡略化する。
<画像処理装置の画像処理エンジンの機能構成>
まず、第3の実施形態に係る画像処理装置1の画像処理エンジン100の機能構成について説明する。図22は、第3の実施形態に係る画像処理装置の画像処理エンジンの機能構成の一例を示すブロック図である。
第4層の全結合処理部50Aは、本実施形態に係る畳み込みニューラルネットワークNにより予め学習されたバイアス値2400A及び重みデータ3400Aに基づいて全結合処理を行った後、画像データを正規化処理部60に出力する。ここで、本実施形態に係る畳み込みニューラルネットワークNの全結合処理部50Aは、カテゴリ毎に全結合処理部50Aを有する。また、本実施形態に係るカテゴリは、「一般カテゴリ」と「特殊カテゴリ」とから構成されている。したがって、例えば、一般カテゴリが「花」、「料理」、「車」、「木漏れ日」であり、特殊カテゴリが「花」である場合、全結合処理部80は一般カテゴリの全結合処理部50A〜50A及び特殊カテゴリの全結合処理部50Aを有する。一般に、カテゴリ数がn、一般カテゴリ数がm、特殊カテゴリ数がn−mである場合、全結合処理部50Aは、一般カテゴリの全結合処理部50A〜50A及び特殊カテゴリの全結合処理部50Am+1〜50Aを有する。よって、本実施形態に係る畳み込みニューラルネットワークNでは、カテゴリ数(一般カテゴリ数又は特殊カテゴリ数)が増減した場合、それぞれ対応する全結合処理部50Aを追加又は削除する必要がある。なお、他方で、カテゴリ数が増減した場合においても畳み込み処理部30及びプーリング処理部40は追加・削除する必要はない。
ここで、本実施形態に係るカテゴリを構成する「一般カテゴリ」と「特殊カテゴリ」について説明する。「一般カテゴリ」とは、例えば、「花」、「料理」、「車」、「木漏れ日」等の入力された画像データが分類されるカテゴリである。本実施形態では、一般カテゴリ毎に、そのカテゴリに分類される度合いを示す確信度と、そのカテゴリに分類されない度合いを示す確信度が算出される。例えば、一般カテゴリ「花」に対して、入力された画像データが「花」に分類される度合いを示す確信度と、「花以外」に分類される度合い示す確信度とが算出される。
他方、「特殊カテゴリ」とは、ある一般カテゴリと誤認識しやすい一般カテゴリであるにも関わらず、十分な学習データを準備できなかった場合に、これらの誤認識しやすい一般カテゴリ間を識別するためのカテゴリである。例えば、一般カテゴリの「花」と「木漏れ日」が誤認識しやすいカテゴリであり、一般カテゴリ「木漏れ日」の正例の学習画像データが一般カテゴリ「花」の正例の学習画像データに比して極端に少ない量しか準備できなかった場合、特殊カテゴリ「花」を設けることで、一般カテゴリ「花」と一般カテゴリ「木漏れ日」とを識別する。
上記の特殊カテゴリについて、さらに詳しく説明すると、例えば、一般カテゴリ「花」の正例の学習画像データが1万枚準備できた一方で、一般カテゴリ「木漏れ日」の正例の学習画像データ(すなわち、一般カテゴリ「花」の負例の学習画像データ)が500枚しか準備できなった場合、次のような問題が発生する。
(1)例えば、目標認識率が90%で一般カテゴリ「花」が上記の数の正例及び負例の学習画像データで学習されている場合において、仮に、学習に用いた画像データすべてが一般カテゴリ「花」に分類されると認識されたとしても、目標認識率が達成されてしまう。
(2)他方で、一般カテゴリ「花」の正例の学習画像データの数を例えば500枚に減らせば、上記(1)の問題は解決するが(すなわち、一般カテゴリ「花」と「木漏れ日」が認識される)、この場合、その他のカテゴリ(例えば、「料理」等)との間で認識率が低下する。
そこで、本実施形態では、正例に比して極端に少ない負例を用いて学習された特殊カテゴリを設ける。例えば、一般カテゴリ「花」は正例と負例とがそれぞれ1万枚の学習画像データで学習されているのに対して、特殊カテゴリ「花」は4000枚の正例の学習画像データと、誤認識されすい一般カテゴリ「木漏れ日」の正例である500枚の負例の学習画像データとで学習されている。このように、本実施形態のカテゴリは、入力された画像データが分類される「一般カテゴリ」と、誤認識しやすい一般カテゴリ間を識別するための「特殊カテゴリ」とから構成される。これにより、後述するように、誤認識されやすい一般カテゴリの学習が十分でない(すなわち、正例の学習画像データが十分に準備できなかった)場合においても、入力された画像データの認識を行うことができる。
図22の説明に戻り、バイアス値2400A及び重みデータ3400Aは、各全結合処理部50A毎に有する。すなわち、例えば、一般カテゴリが「花」、「料理」、「車」、「木漏れ日」、特殊カテゴリが「花」である場合、一般カテゴリ「花」に対応する一般カテゴリの全結合処理部50Aが用いるバイアス値2400A及び重みデータ3400Aを有する。同様に、一般カテゴリ「料理」に対応する一般カテゴリの全結合処理部50Aが用いるバイアス値2400A及び重みデータ3400A、一般カテゴリ「車」に対応する一般カテゴリの全結合処理部50Aが用いるバイアス値2400A及び重みデータ3400A、一般カテゴリ「木漏れ日」に対応する一般カテゴリの全結合処理部50Aが用いるバイアス値2400A及び重みデータ3400Aを有する。また、特殊カテゴリ「花」に対応する特殊カテゴリの全結合処理部80が用いるバイアス値2400A及び重みデータ3400Aを有する。一般に、一般カテゴリの全結合処理部50A〜50Aのそれぞれが用いるバイアス値2400A〜2400A及び重みデータ3400A〜3400Aと、特殊カテゴリの全結合処理部80m+1〜80のそれぞれが用いるバイアス値2400Am+1〜2400A及び重みデータ3400Am+1〜3400Aとを有する。
したがって、バイアス値2400A及び重みデータ3400Aは、畳み込みニューラルネットワークNにより予め一般カテゴリ毎又は特殊カテゴリ毎に学習された値(データ)である。他方、バイアス値2100〜2300及び重みデータ3100〜3300は、一般カテゴリのすべてに対して共通に、畳み込みニューラルネットワークNにより予め学習された値(データ)である(なお、特殊カテゴリの学習の際にはバイアス値2100〜2300及び重みデータ3100〜3300は更新されない)。このようなバイアス値2100〜2300及び重みデータ3100〜3300は、畳み込みニューラルネットワークNのネットワーク係数又はネットワーク結合係数と呼ばれ、第1の係数の一例である。また、バイアス値2400A〜2400A及び重みデータ3400A〜3400Aは、第2の係数の一例であり、バイアス値2400Am+1〜2400A及び重みデータ3400Am+1〜3400Aは、第3の係数の一例である。
複合判定処理部80は、正規化処理部60の処理結果に基づき、一般カテゴリの確信度と、この一般カテゴリに対応する特殊カテゴリの確信度に基づき、入力された画像データが一般カテゴリ又はこの一般カテゴリと誤認識されやすい他の一般カテゴリのいずれに分類されるかを判定する。例えば、一般カテゴリ「花」、一般カテゴリと誤認識されやすい一般カテゴリが「木漏れ日」、一般カテゴリ「花」に対応する特殊カテゴリ「花」がある場合、一般カテゴリ「花」の確信度と特殊カテゴリ「花」の確信度とに基づき、入力された画像データが一般カテゴリ「花」に分類されるのか又は一般カテゴリ「木漏れ日」に分類されるのかを判定する。
出力部70は、複合判定処理部80の処理結果に基づき、正規化処理部60で正規化された確信度を出力する。
<処理の詳細>
次に、第3の実施形態に係る画像処理装置1の処理について説明する。図23は、第3の実施形態に係る画像処理装置のカテゴリ識別処理の一例のフローチャートである。この処理により、本実施形態に係る画像処理装置1は、入力された画像データが、予め定められた一般カテゴリのいずれに分類されるのかを示す確信度を算出することができる。この算出された確信度により、入力された画像データが分類される一般カテゴリが識別される。
ステップS21〜S26の処理については、それぞれ図4で説明したステップS1〜S6の処理と同様であるため説明を省略する。ただし、ステップS26において畳み込み処理部30は、画像データ1600を全結合処理部50Aに出力する。
ステップS27において、第4層の全結合処理部50Aに含まれる一般カテゴリの全結合処理部50A〜50Aは、画像データ1600を入力し、この画像データ1600について全結合処理を行う。なお、一般カテゴリの全結合処理部50A〜50Aは、一般カテゴリ毎に存在し、それぞれの一般カテゴリの全結合処理部50A〜50Aに対して画像データ1600が入力される。例えば、一般カテゴリが「花」、「料理」、「車」、「木漏れ日」の4つである場合、それぞれの一般カテゴリに対応する一般カテゴリの全結合処理部50A〜50Aは、それぞれ画像データ1600を入力し、それぞれ全結合処理を行う。
ここで第4層の一般カテゴリの全結合処理について、図24を用いて説明する。図24は、第3の実施形態に係る第4層の一般カテゴリの全結合処理の一例を説明するための図である。以降では、kを1〜mのいずれか自然数であるとして、一般カテゴリの全結合処理部50Aについて説明する。ここで、kは、カテゴリを示す数値であるとする。例えば、k=1のとき一般カテゴリ「花」を示し、k=2のとき一般カテゴリ「料理」を示す。
Step271)一般カテゴリの全結合処理部50Aは、画像データ1600を入力する。ここで、入力した画像データ1600の色チャンネルは、14×14×64である。
Step272)一般カテゴリの全結合処理部50Aは、画像データ1600の各画素値をベクトル値に変換する。すなわち、14×14×64チャンネルの画像データ1600の各画素値を12544行1列のベクトル値に変換する。ここで、ベクトル値の各成分の値をx,・・・,x12544とする。
Step273)一般カテゴリの全結合処理部50Aは、バイアス値2400及び重みデータ2400を用いて、積和演算を行う。ここで、バイアス値2400及び重みデータ3400のデータ構成について説明する。図25は、第3の実施形態に係る第4層のバイアス値及び重みデータの一例のデータ構成を説明するための図である。
図25(a)は、第4層のバイアス値2400Aの一例のデータ構成を説明するための図である。図25(a)に示すように、第4層のバイアス値2400Aは、一般カテゴリのバイアス値2400A,バイアス値2400A,・・・,バイアス値2400A及び特殊カテゴリのバイアス値2400Am+1,バイアス値2400Am+2,・・・,バイアス値2400Aから構成されている。また、一般カテゴリ又は特殊カテゴリのバイアス値2400A(k=1〜n)は、1行2列のベクトル値である。なお、上述したように、k=1〜mの場合のベクトルの各成分の値b(k,j)は、畳み込みニューラルネットワークNにより一般カテゴリ毎に予め学習された値である。他方、k=m+1〜nの場合のベクトルの各成分の値b(k,j)は、畳み込みニューラルネットワークNにより特殊カテゴリ毎に予め学習された値である。ここで、jは、該当の一般カテゴリに分類されるか否かを示す数値である。例えば、j=1のとき該当のカテゴリに分類される場合であり、j=2のとき該当のカテゴリに分類されない場合である。
図25(b)は、第4層の重みデータ3400Aの一例のデータ構成を説明するための図である。図25(b)に示すように、第4層の重みデータ3400Aは、一般カテゴリの重みデータ3400A,重みデータ3400A,・・・,重みデータ3400A及び特殊カテゴリの重みデータ3400Am+1,重みデータ3400Am+2,・・・,重みデータ3400Aから構成されている。また、一般カテゴリ又は特殊カテゴリの重みデータ3400A(k=1〜n)は、12544行2列の行列である。なお、上述したように、k=1〜mの場合のこの行列の各成分の値w(i,j,k)は、畳み込みニューラルネットワークNにより一般カテゴリ毎に予め学習された値である。他方、k=m+1〜nの場合のこの行列の各成分の値w(i,j,k)は、畳み込みニューラルネットワークNにより特殊カテゴリ毎に予め学習された値である。
図24の説明に戻り、一般カテゴリの全結合処理部50Aは、以下の積和演算を行う。
以上のようにして得られた2×1×mのデータ(このデータを「確信度」と呼ぶ)を、全結合処理部50Aは、正規化処理部60に出力する。
なお、上記の積和演算の結果が、入力された画像データ1000が一般カテゴリkに分類される場合(j=1の場合)の算出結果と、入力された画像データ1000が一般カテゴリkに分類されない場合(j=2)の算出結果である。これにより、ある画像データ1000がある一般カテゴリkに分類されるのか又は分類されないのかを数値として判定することができる。例えば、ある一般カテゴリk(例えば、一般カテゴリ「花」)について、y(k)の値が0.7、y(k)の値が0.3である場合、この画像データ1000は、一般カテゴリkに分類される場合が高いと判定することができる。換言すれば、あるカテゴリkについて、y(k)の値がy(k)の値より高い場合、入力された画像データ1000はその一般カテゴリkに分類される可能性が高いといえる(前述した「確信度」との名称はこのためである)他方、あるカテゴリkについて、y(k)の値がy(k)の値より小さい場合、入力された画像データ1000はその一般カテゴリkに分類される可能性が低いといえる。
ステップS28において、第4層の全結合処理部50Aに含まれる特殊カテゴリの全結合処理部50Am+1〜50Aは、画像データ1600を入力し、この画像データ1600について全結合処理を行う。なお、特殊カテゴリの全結合処理部50Am+1〜50Aは、特殊カテゴリ毎に存在し、それぞれの特殊カテゴリの全結合処理部50Am+1〜50Aに対して画像データ1600が入力される。例えば、特殊カテゴリが「花」、「料理」の2つである場合、それぞれの一般カテゴリに対応する一般カテゴリの全結合処理部50A及び50Aは、それぞれ画像データ1600を入力し、それぞれ全結合処理を行う。
ここで第4層の特殊カテゴリの全結合処理について、図26を用いて説明する。図26は、第3の実施形態に係る第4層の特殊カテゴリの全結合処理の一例を説明するための図である。以降では、kをm+1〜nのいずれか自然数であるとして、特殊カテゴリの全結合処理部50Aについて説明する。ここで、kは、カテゴリを示す数値であるとする。例えば、k=m+1のとき特殊カテゴリ「花」を示し、k=m+2のとき特殊カテゴリ「料理」を示す。
Step281)特殊カテゴリの全結合処理部50Aは、画像データ1600を入力する。ここで、入力した画像データ1600の色チャンネルは、14×14×64である。
Step282)特殊カテゴリの全結合処理部50Aは、画像データ1600の各画素値をベクトル値に変換する。すなわち、14×14×64チャンネルの画像データ1600の各画素値を12544行1列のベクトル値に変換する。ここで、ベクトル値の各成分の値をx,・・・,x12544とする。
Step283)特殊カテゴリの全結合処理部50Aは、図25を用いて説明したバイアス値2400A及び重みデータ2400Aを用いて、以下の積和演算を行う。
以上のようにして得られた2×1×(n−m)の確信度を、全結合処理部50Aは、正規化処理部60に出力する。
なお、上記の積和演算の結果が、入力された画像データ1000が特殊カテゴリkに分類される場合(j=1の場合)の算出結果と、入力された画像データ1000が特殊カテゴリkに分類されない場合(j=2)の算出結果である。上記のステップS7及びS8において算出された確信度を互いに比較することができるようにするため、次のステップS29において正規化処理を行う。
ステップS29において、正規化処理部60は、一般カテゴリの全結合処理部50A〜50Aより出力された2×1×mのデータ及び特殊カテゴリの全結合処理部50Am+1〜50Aより出力された2×1×(n−m)のデータをそれぞれ入力し、正規化処理を行う。すなわち、正規化処理部60は、全結合処理部50Aより出力された2×1×nのデータを入力し、正規化処理を行う。ここで正規化処理について、図27を用いて説明する。図27は、第3の実施形態に係る正規化処理の一例を説明するための図である。
Step291)正規化処理部60は、全結合処理部50Aより出力された2×1×nのデータを入力する。
Step292)正規化処理部60は、一般カテゴリ毎及び特殊カテゴリ毎に、(y(k),y(k))について以下の式により正規化を行う。
このようにして得られた2×1×nのデータが正規化後の確信度である。正規化処理を行うことにより、一般カテゴリ及び特殊カテゴリにおける確信度が0以上1以下の値に正規化されるため、異なるカテゴリ同士の確信度を比較することが可能になる。例えば、k=1を一般カテゴリ「花」、k=2を一般カテゴリ「料理」とした場合において、z(1)=0.8,z(1)=0.2,z(2)=0.6,z(2)=0.4であるとき、入力された画像データ1000は一般カテゴリ「料理」よりも一般カテゴリ「花」に分類される可能性が高いと言える。
また、これにより、画像データ1000の中に複数の一般カテゴリに属するものが存在する場合(例えば、画像データ1000中に「花」と「料理」が写っている場合)においても、異なる一般カテゴリ間の確信度の比較が適切に行うことができるようになる。
さらに、一般カテゴリの確信度と、この一般カテゴリに対応する特殊カテゴリの確信度とに基づき所定の判定を行うことで、誤認識がされやすい一般カテゴリ間において、画像データ1000がいずれの一般カテゴリに分類されるかを判定することができる。この判定方法については、後述するステップS30〜S33において説明する。なお、以降で説明する確信度は、特に断らない限り、ステップS29により正規化された確信度である。また、正規化された確信度は、確信度の候補値の一例である。
ステップS30において、複合処理判定部80は、一般カテゴリの確信度が所定の閾値以上か否かを判定する。例えば、複合処理判定部80は、k=1である一般カテゴリ「花」の確信度y(1)が所定の閾値以上か否かを判定する。一般カテゴリの確信度が所定の閾値以上である場合、ステップS31に進む一方、一般カテゴリの確信度が所定の閾値未満である場合、ステップS33に進む。なお、一般カテゴリの確信度が所定の閾値以上と判定された場合であっても、この一般カテゴリに対応する特殊カテゴリが存在しない場合は、ステップS32の処理に進む。すなわち、対応する特殊カテゴリが存在しない場合、ステップS31の処理は実行されない。例えば、対応する特殊カテゴリが存在しない一般カテゴリ「車」について、この一般カテゴリ「車」の確信度が所定の閾値以上であっても、ステップS31の処理は実行せずにステップS32の処理に進む。より一般には、特殊カテゴリk=m+1,・・・,nが存在する場合、これらの特殊カテゴリにそれぞれ対応する一般カテゴリk=1,・・・,n−mの確信度が、それぞれ所定の閾値以上である場合、ステップS31に進む一方、所定の閾値未満である場合、ステップS33に進む。他方、対応する特殊カテゴリが存在しない一般カテゴリk=n−m+1,・・・,mの確信度が、それぞれ所定の閾値以上である場合、ステップS32に進む一方、所定の閾値未満である場合、ステップS33に進む。
なお、所定の閾値と比較する一般カテゴリの確信度は、この一般カテゴリに分類される確信度(すなわち、y(k))又は分類されない確信度(すなわち、y(k))のいずれか一方を用いればよい。また、所定の閾値をどのような値に設定するかは設計事項であり、適宜変更可能である。一般に、閾値を高く設定すると誤認識の発生が防止される一方で、複数の一般カテゴリに属するものが写っている画像データ等を分類する場合、いずれのカテゴリにも分類されないと認識されることがある。
ステップS31において、複合処理判定部80は、特殊カテゴリの確信度が所定の閾値以上か否かを判定する。すなわち、例えば、複合処理判定部80は、k=m+1である特殊カテゴリ「花」の確信度y(1)が所定の閾値以上か否かを判定する。より一般には、特殊カテゴリk=m+1,・・・,nの確信度が所定の閾値以上か否かを判定する。特殊カテゴリの確信度が所定の閾値以上である場合、ステップS32に進む一方、一般カテゴリの確信度が閾値未満である場合、ステップS33に進む。
ステップS32において、複合処理判定部80は、入力された画像データ1000が特殊カテゴリに対応する一般カテゴリに分類されると判定する。
ステップS33において、複合処理判定部80は、入力された画像データ1000は特殊カテゴリに対応する一般カテゴリに分類されないと判定する。
上記のステップS32及びステップS33について、一般カテゴリ「花」(確信度y(1))及び特殊カテゴリ「花」(確信度y(m+1))について一例として説明する。ステップS31においてy(1)が所定の閾値以上であると判定された場合、画像データ1000は一般カテゴリ「花」に分類される可能性が高いといえる。しかし、一般カテゴリ「花」は、このカテゴリと誤認識しやすい一般カテゴリ「木漏れ日」に分類される学習画像データで十分な学習がされていない。そこで、ステップS32においてy(m+1)が所定の閾値以上であるか否かを判定する。ここで、特殊カテゴリ「花」は、誤認識しやすい一般カテゴリ「木漏れ日」に分類される学習画像データの数に合わせて正例の数を調整した上で、全結合処理部50Aにおけるバイアス値2400A及び重みデータ2400Aのみを更新して学習を行っている。したがって、y(1)が所定の閾値以上であってもy(m+1)が所定の閾値未満である場合は、画像データ1000は一般カテゴリ「花」に分類される可能性が低いといえる。すなわち、この場合、一般カテゴリ「花」の確信度を算出する際において誤認識が発生しており、画像データ1000は一般カテゴリ「木漏れ日」に分類される可能性が高いといえる。これにより、学習が十分に行われていない一般カテゴリ間における誤認識が防止される。
ステップS34において、出力部70は、確信度を出力する。ここで出力される確信度は、対応する特殊カテゴリが存在しない一般カテゴリについては、正規化後の確信度である。他方、対応する特殊カテゴリが存在する一般カテゴリについては、ステップS12において一般カテゴリに分類されると判定された場合は一般カテゴリの正規化後の確信度を出力し、ステップS33において一般カテゴリに分類されないと判定された場合は一般カテゴリの確信度は出力しない。なお、特殊カテゴリの確信度は出力しない。
[第4の実施の形態]
次に、第4の実施形態に係る画像処理装置1について説明する。第4の実施形態に係る画像処理装置1では、第3の実施形態に係る画像処理装置1においてバイアス値及び重みデータの学習を行う。画像処理装置1の外観、内部構成、及びカテゴリ識別処理については、第3の実施形態と同様であるため説明を省略する。すなわち、第4の実施形態では、第3の実施形態に係る画像処理装置1の学習処理に必要な箇所を説明する。
<画像処理装置の画像処理エンジンの機能構成>
第4の実施形態に係る画像処理装置1の画像処理エンジン100の機能構成について説明する。図28は、第4の実施形態に係る画像処理装置の画像処理エンジンの機能構成の一例を示すブロック図である。
第4の実施形態に係る画像処理装置1の画像処理エンジン100の機能構成は、学習画像データ4000及び教師データ5000を有する点が第3の実施形態と異なる。なお、上述したように学習画像データ4000と教師データ5000は学習データを構成する。
学習画像データ4000は、点線6000A及び点線6000Cで示すバイアス値及び重みデータの学習に用いる画像データである。なお、学習とは、学習画像データ4000の出力結果が教師データ5000に適合するように、バイアス値及び重みデータの値を更新することである。ただし、教師データ5000が一般カテゴリを示す情報である場合は、点線6000A及び点線6000Cで示すバイアス値及び重みデータの学習を行う一方、教師データ5000が特殊カテゴリを示す情報である場合は、点線6000Cで示すバイアス値及び重みデータのみの学習を行う。
教師データ5000は、学習画像データ4000の正解ラベルである。すなわち、教師データ5000は、学習画像データ4000がいずれのカテゴリに属するかを示す情報である。
<処理の詳細>
次に、第4の実施形態に係る画像処理装置1の学習処理に説明する。図22は、第4の実施形態に係る画像処理装置の学習処理の一例を示すフローチャートである。
ステップS41において、入力部20は、学習画像データ4000及び教師データ5000を入力する。なお、画像処理装置1は、様々な画像データを適切なカテゴリに分類することができるようにするため、学習画像データ4000及び教師データ5000を数千〜数万データ入力させて学習を行うことが望ましい。このとき、学習データは、カテゴリ毎に、一定数(例えば128データ)毎に繰り返し入力することが好ましい。
ステップS42において、入力された教師データ5000が一般カテゴリに含まれるカテゴリを示す情報であるか否かを判定する。教師データ5000が一般カテゴリに含まれるカテゴリを示す情報である場合、ステップS43に進む一方、特殊カテゴリに含まれるカテゴリを示す情報である場合、ステップS44に進む。
ステップS43において、畳み込み処理部30及び一般カテゴリの全結合処理部50A〜50Aは、学習画像データ4000及び教師データ5000に基づき、点線6000A及び点線6000Cで示すバイアス値及び重みデータの更新(学習)を行う。このような学習は、例えば、誤差逆伝播法などの従来からある方法を用いればよい。ここで、点線6000Aで示すバイアス値及び重みデータは、すべての学習画像データ4000及び教師データ5000に基づいて更新される。他方、点線6000Cで示すバイアス値及び重みデータは、学習画像データ4000が属する一般カテゴリに応じて(すなわち、教師データ5000が示す一般カテゴリに応じて)、対応するバイアス値2400A及び重みデータ3400Aのみが更新される。例えば、学習画像データ4000及び教師データ5000が一般カテゴリ「花」の学習データである場合、この一般カテゴリに対応する一般カテゴリの全結合処理部50Aが用いるバイアス値2400A及び重みデータ3400Aのみが学習対象である。
なお、上記のステップS43において、バイアス値及び重みデータの学習を十分に行った後においては点線6000Aで示すバイアス値及び重みデータの学習は行わなくてもよい。例えば、バイアス値及び重みデータの学習が十分に行われた後において、一般カテゴリを追加した場合、この追加した一般カテゴリに対応するバイアス値2400A及び重みデータ3400Aのみ学習を行えばよい。これにより、学習処理に伴う計算量を削減することができる。
ステップS44において、特殊カテゴリの全結合処理部50Am+1〜50Aは、学習画像データ4000及び教師データ5000に基づき、点線6000Cで示すバイアス値及び重みデータの更新(学習)を行う。このような学習は、上記と同様に、例えば、誤差逆伝播法などの従来からある方法を用いればよい。ここで、点線6000Cで示すバイアス値及び重みデータは、学習画像データ4000が属する特殊カテゴリに応じて(すなわち、教師データ5000が示す特殊カテゴリに応じて)、対応するバイアス値2400A及び重みデータ3400Aのみが更新される。例えば、学習画像データ4000及び教師データ5000が特殊カテゴリ「花」の学習データである場合、この特殊カテゴリに対応する特殊カテゴリの全結合処理部50Am+1が用いるバイアス値2400Am+1及び重みデータ3400Am+1のみが学習対象である。
[第5の実施の形態]
次に、第5の実施形態に係る画像処理装置1について説明する。第5の実施形態は、第2の実施形態において説明した画像処理装置1の学習処理について、より詳しく説明するものである。なお、第4の実施形態において説明した学習処理についても略同様であるため、適宜、第4の実施形態に係る学習処理についても併せて説明する。
<処理の概要>
まず、本実施形態に係る画像処理装置1の学習処理の概要について説明する。図30は、第5の実施形態に係る学習処理の一例の概要を説明するための図である。本実施形態では、一例として、誤差逆伝播法を用いてバイアス値2100〜2400及び重みデータ3100〜3400を学習(更新)する場合について説明する。図30に示すように、誤差逆伝播法では、順方向処理と逆方向処理とに分けられる。順方向処理とは、畳み込みニューラルネットワークNの下位層から上位層へ向かう処理であり、他方、逆方向処理とは、畳み込みニューラルネットワークNの上位層から下位層へ向かう処理である。
すなわち、まず、学習画像データ4000と教師データ5000とを畳み込みニューラルネットワークNに入力し、学習画像データ4000に基づき畳み込み処理及びプーリング処理〜全結合処理を行う(ステップS51〜S52)。これは、第1の実施形態(又は第3の実施形態)で説明したカテゴリ識別処理と同様の処理が行われる。
次に、教師データ5000に基づき、各全結合処理部50について学習対象であるか否かを判定し(ステップS53)、判定対象の全結合処理部50における出力結果と教師データ5000との誤差を算出する(ステップS54)。
続いて、算出された誤差に基づき逆方向の全結合処理〜畳み込み処理及びプーリング処理を行う(ステップS55〜S56)。そして、逆方向の全結合処理〜畳み込み処理及びプーリング処理の結果に基づいて、ネットワーク係数(バイアス値2100〜2400及び重みデータ3100〜3400)の更新を行う(ステップS57)。
このように、誤差逆伝播法では、順方向処理における出力値と教師データとの誤差を算出し、この誤差を上位層から下位層に伝播させることにより、ネットワーク係数の更新を行う。
<処理の詳細>
次に、第5の実施形態に係る画像処理装置1の処理の詳細について説明する。図31は、第5の実施形態に係る学習処理の一例を示すフローチャートである。
ステップS61において、入力部20は、ミニバッチ数分の学習画像データ4000と教師データ5000を入力する。ここで、ミニバッチ数とは、例えば数十ないし数百の数である。したがって、本実施形態に係る学習処理は、数千ないし数万の数の学習画像データ4000及び教師データ5000に対して、ミニバッチ数毎に、ステップS61〜ステップS67の処理を繰り返し実行する。
なお、カテゴリが一般カテゴリと特殊カテゴリに分けられる場合(第4の実施形態の場合)、まず、一般カテゴリの学習画像データ4000及び教師データ5000について学習処理を行う。その後、特殊カテゴリの学習画像データ4000及び教師データ5000について学習を行えばよい。
ステップS62において、畳み込み処理部30、プーリング処理部40、及び全結合処理部50は、順方向の処理を実行する。すなわち、入力部20により入力された学習画像データ4000に基づき、カテゴリ識別処理と同様の処理を行う。
ステップS63において、正規化処理部60は、教師データ5000に基づき、各全結合処理部50について、学習対象か否かを判定する。すなわち、正規化処理部60は、教師データ5000に基づき、学習画像データ4000が属するカテゴリに対応する全結合処理部50を学習対象であると判定する。ここで学習対象であると判定された全結合処理部50が用いるバイアス値2400及び重みデータ3400が、第4層における更新対象のネットワーク係数である。このように、第4層では、すべてのバイアス値2400及び重みデータ3400を更新するのではなく、学習対象の全結合処理部50が用いるバイアス値2400及び重みデータ3400のみを更新する。
例えば、学習画像データ4000がカテゴリ「花」に属する場合(すなわち、教師データ5000の値が例えば(「花」,「花以外」)=(1,0))、カテゴリ「花」に対応する全結合処理部50が学習対象であると判定される。したがって、カテゴリ「花」に対応する全結合処理部50が用いるバイアス値2400及び重みデータ3400が、第4層における更新対象のネットワーク係数である。
なお、学習対象と判定される全結合処理部50は、2以上であってもよい。つまり、学習画像データ4000がカテゴリ「花」と「車」に属する場合、この2つカテゴリ「花」及び「車」にそれぞれ対応する全結合処理部50を学習対象であると判定してもよい。
ステップS64において、正規化処理部60は、上記において学習対象と判定された全結合処理部50の出力値と教師データ5000とに基づき、誤差を算出する。具体的には、学習対象と判定された全結合処理部50の出力値を正規化処理部60により正規化した値(z,z)と、教師データ5000の値(T,T)との誤差δ=(z−T,z−T)を算出する。ここで算出された誤差δが、下位層に伝播される値であり、この誤差δが小さくなるようにバイアス値及び重みデータが更新される。
ステップS65において、全結合処理部50は、逆方向の全結合処理を行う。なお、ここで全結合処理を行う全結合処理部50は、上記のステップS63において学習対象であると判定された全結合処理部50である。このように、逆方向の処理においては、すべての全結合処理部50に誤差δを伝播させるのではなく、学習対象の全結合処理部50のみに誤差δを伝播させる。ここで、上記のステップS63において学習対象である判定されたカテゴリkの全結合処理部50の逆方向の全結合処理について、図32を用いて説明する。図32は、第5の実施形態に係る逆方向の全結合処理の一例を説明するための図である。
Step651)全結合処理部50は、正規化処理部60から誤差δ=δin=(δin,1,δin,2)を入力する。
Step652)全結合処理部50は、カテゴリkの重みデータ3400に基づき出力値δin,iを算出する。
Step653)全結合処理部50は、上記の算出された出力値δin,i(12544次元のベクトルデータ)を、14×13×64チャンネルのデータδout,m,n,lに変換する。
Step654)全結合処理部50は、δout,m,n,lを出力する。
ここで、上記のステップS65において、全結合処理部50は、誤差δinに基づきネットワーク係数の勾配を計算し、同一カテゴリ毎にミニバッチ数分足し合わせて、例えばSRAM109等の記憶装置に格納しておく。すなわち、全結合処理部50は、以下を計算し、計算結果を同一カテゴリ毎に足し合わせて記憶装置に格納する。
ステップS66において、全結合処理部50は、下位層に誤差δout,m,n,lを伝播させるか否かを判定する。下位層に誤差δout,m,n,lを伝播させる場合ステップS67に進み、他方、下位層に誤差δout,m,n,lを伝播させない場合、ステップS68に進む。
ここで、下位層に誤差δout,m,n,lを伝播させない場合とは、例えば下位層(畳み込み処理部30及びプーリング処理部40)のバイアス値及び重みデータが十分に学習されている場合等である。また、特殊カテゴリの学習画像データ4000及び教師データ5000について学習する場合(第4の実施形態の場合)も下位層に誤差δout,m,n,lを伝播させない。上記のような判定処理は、ネットワーク係数の学習状況や教師データ5000の値に基づいて全結合処理部50が判断してもよいし、誤差δout,m,n,lを下位層に伝播させるか否かをユーザが選択するようにしてもよい。
ステップS67において、畳み込み処理部30及びプーリング処理部30は、逆方向の畳み込み処理及びプーリング処理を行う。以降では、第3層における逆方向の畳み込み処理及び第2層における逆方向のプーリング処理について説明する。第2層及び第1層における逆方向の畳み込み処理は、第3層における逆方向の畳み込み処理と、データのチャンネル数を除き略同様であるため説明を省略する。また、第1層における逆方向のプリーング処理は、第2層における逆方向のプーリング処理と、データのチャンネル数を除き略同様であるため説明を省略する。
まず、第3層における逆方向の畳み込み処理について、図33を用いて説明する。図33は、第5の実施形態に係る逆方向の第3層の畳み込み処理の一例を説明するための図である。
Step671)畳み込み処理部30は、上位層から誤差δout,m,n,lを入力する。ここで入力された誤差δout,m,n,lを、「δin,m,n,l」とする。そして、畳み込み処理部30は、誤差δin,m,n,lに所定の活性化関数を適用する。所定の活性化関数としては、例えば、f(x)=max(0,x)で定義される関数が挙げられる。
Step672)畳み込み処理部30は、重みデータ3300から3×3×64のフィルタを生成し、上記の所定の活性化関数を適用した後の誤差δin,m,n,lに、当該フィルタを適用する。これは、順方向の畳み込み処理と同様に、所定の活性化関数を適用した後の誤差δin,m,n,lに、フィルタの位置をずらしながら全体に対して行い、結果を足し合わせることにより行う。
Step673)畳み込み処理部30は、上記のフィルタを適用後の誤差δout,m,n,lを出力する。
ここで、上記のステップS66において、畳み込み処理部30は、誤差δin,m,n,lに基づきネットワーク係数の勾配を計算し、ミニバッチ数分足し合わせて、例えばSRAM109等の記憶装置に格納しておく。ここで、誤差δout,m,n,lの1点(1つの値)に対して、3×3×64のフィルタを576×1次元の型に変形すれば、ネットワーク係数の勾配は、以下で計算することができる。
次に、第2層における逆方向のプーリング処理について、図34を用いて説明する。図34は、第5の実施形態に係る逆方向の第2層のプーリング処理の一例を説明するための図である。
Step674)プーリング処理部40は、誤差δout,m,n,lを入力する。ここで入力された誤差δout,m,n,lを、「δin,m,n,l」とする。
Step675)プーリング処理部40は、順方向の処理において最大値を出力した画素値に対して、対応する誤差δin,m,n,lを加算する。すなわち、順方向の処理において出力される各最大値をMm,n,lとすれば、それぞれのMm,n,lに対してδout,m,n,lを加算して、誤差δout,m',n',lを生成する。ここで、m'=1,・・・28、n'=1,・・・28である。
Step676)プーリング処理部40は、上記で生成された28×28×64の誤差δout,m',n',lを出力する。このようにして生成された28×28×64の誤差δout,m',n',lが畳み込み処理部50に伝播される。
ステップS68において、畳み込み処理部30及び全結合処理部50は、バイアス値2100〜2400及び重みデータ3100〜3400を更新する。なお、上記のステップS66で下位層に誤差を伝播させないと判定された場合、バイアス値2100〜2300及び重みデータ3100〜3300は更新されない(すなわち、畳み込み処理部30は、ネットワーク係数の更新を行わない)。
ここで、全結合処理部50は、例えば以下(すなわち、勾配降下法)によりバイアス値2400及び重みデータ3400を更新する。なお、以下の式中におけるsum(・)は、上記のステップS65において記憶装置に格納されたネットワーク係数の勾配の合計値である。また、あるカテゴリkにおけるw(i,j,k)をwij、b(k,j)をbと表す。したがって、以下の式はカテゴリ毎(すなわち、全結合処理部50毎)に計算され、当該全結合処理部50に対応するバイアス値3400及び重みデータ3400が更新される。
また、畳み込み処理部30は、例えば以下(すなわち、勾配降下法)によりバイアス値2100〜2300及び重みデータ3100〜3300を更新する。なお、以下の式中におけるsum(・)は、上記のステップS66において記憶装置に格納されたネットワーク係数の勾配の合計値である。また、第x層におけるw(i,l)をwil、b(l)をb(l)と表す。したがって、以下の式は階層毎に計算され、当該階層における畳み込み処理部30に対応するバイアス値及び重みデータが更新される。
以上により、畳み込みニューラルネットワークNのバイアス値2100〜2400及び重みデータ3100〜3400が学習(更新)される。
<まとめ>
以上により第1の実施形態に係る画像処理装置1は、畳み込みニューラルネットワークNを用いて、入力された画像データ1000がいずれのカテゴリに属するかの確信度を算出することができる。このとき、畳み込み処理部30及びプーリング処理部40は全カテゴリ共通とする一方で、全結合処理部50はカテゴリ毎に有する構成とすることで、カテゴリの追加・削除に柔軟に対応させることができるとともに、カテゴリの追加に伴う計算量やメモリ量の増加を抑えることができる。
また、第1の実施形態に係る画像処理装置1は、畳み込みニューラルネットワークNを用いて算出された確信度に正規化処理を施すことで、異なるカテゴリ間の確信度を比較することができるようになる。また、正規化処理を施すことにより、例えば、複数のカテゴリに属する画像(例えば、「花」と「車」)が同一の画像に含まれている場合においても適切な確信度を得ることができる。
第2の実施形態に係る画像処理装置1は、学習データに基づいて畳み込みニューラルネットワークNが用いるバイアス値及び重みデータの更新(学習)を行うことができる。このとき、例えば、カテゴリが追加・削除された場合においても、全結合処理部50が用いるバイアス値及び重みデータのみを更新(学習)させればよい。したがって、カテゴリの追加・削除に対応させることができる。
第3の実施形態に係る画像処理装置1は、畳み込みニューラルネットワークNを用いて、入力された画像データ1000がいずれのカテゴリに分類されるかを示す確信度を算出することができる。しかも、カテゴリ間に誤認識しやすい存在し、かつ、これらの誤認識しやすいカテゴリ間で正例の学習データに偏りがある場合でも、適切な確信度が算出され、誤認識が防止される。
第4の実施形態に係る画像処理装置1は、学習データに基づいて畳み込みニューラルネットワークNが用いるバイアス値及び重みデータの更新(学習)を行うことができる。しかも、他のカテゴリとの誤認識を防止するための負例の学習データを十分に準備することができない場合においても、学習を行うバイアス値及び重みデータを所定の範囲に限定することで、適切な学習を行うことができる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
1 画像処理装置
20 入力部
30 畳み込み処理部
40 プーリング部
50 全結合処理部
60 正規化処理部
70 出力部
N 畳み込みニューラルネットワーク
特許第4532915号公報 特許第2940933号公報

Claims (13)

  1. 畳み込み処理部と、入力された画像データが分類されるカテゴリ毎に全結合処理部とを有する畳み込みニューラルネットワークを用いて、前記画像データが複数のカテゴリのいずれに属するかを算出する画像処理装置あって、
    前記画像データが前記複数のカテゴリのいずれに属するかを算出するための係数であって前記畳み込み処理部により予め学習された第1の係数を用いて、前記畳み込み処理部において畳み込み処理を行う畳み込み処理手段と、
    前記畳み込み処理手段による処理結果について、前記画像データが前記複数のカテゴリのいずれに属するかを算出するため係数であって前記全結合処理部により予め学習された第2の係数を用いて、前記全結合処理部において全結合処理を行い、前記画像データが前記複数のカテゴリのいずれに属するかを算出する全結合処理手段と、
    前記全結合処理手段による処理結果について、前記カテゴリ毎に正規化を行う正規化手段と、を有し、
    前記畳み込み処理部は、前記第1の係数を前記複数のカテゴリに対して共通に学習を行う一方、前記全結合処理部は、前記第2の係数を前記カテゴリ毎に学習を行う、画像処理装置。
  2. 前記カテゴリは、該カテゴリに属する場合と属さない場合との組であり、
    前記全結合処理手段は、前記カテゴリ毎に、前記画像データが該カテゴリに属する場合及び属さない場合の確信度をそれぞれ算出する、請求項1記載の画像処理装置。
  3. 前記正規化手段は、前記カテゴリ毎に前記算出されたそれぞれの確信度について、
    により正規化する、請求項2記載の画像処理装置。
  4. 前記学習は、誤差逆伝播法により行われる請求項1ないし3のいずれか1項に記載の画像処理装置。
  5. 畳み込み処理部と、入力された画像データが分類される1以上の第1のカテゴリ毎に第1の全結合処理部と、前記1以上の第1のカテゴリそれぞれに対応する1以上の第2のカテゴリ毎に第2の全結合処理部とを有する畳み込みニューラルネットワークを用いて、前記画像データが前記1以上の第1のカテゴリのそれぞれに分類される度合いを示す確信度を算出する画像処理装置であって、
    前記畳み込み処理部により予め学習された第1の係数を用いて、前記畳み込み処理部において畳み込み処理を行う畳み込み処理手段と、
    前記畳み込み処理手段による処理結果について、前記第1の全結合処理部により予め学習された第2の係数と前記第2の全結合処理部に予め学習された第3の係数を用いて、前記第1の全結合処理部及び前記第2の全結合処理部においてそれぞれ全結合処理を行い、前記画像データが前記1以上の第1のカテゴリ及び前記1以上の第2のカテゴリのそれぞれに分類される度合いを示す確信度の候補値を算出する全結合処理手段と、
    前記全結合処理手段により算出された前記確信度の候補値の正規化を行う正規化手段と、
    前記第1のカテゴリの前記確信度の候補値が前記正規化手段により正規化された第1の候補値と、該第1のカテゴリに対応する前記第2のカテゴリの前記確信度の候補値が前記正規化手段により正規化された第2の候補値とを所定の値と比較し、前記第1の候補値及び前記第2の候補値が前記所定の値以上である場合、前記第1の候補値を、前記画像データが該第1の候補値に対応する前記第1のカテゴリに分類される度合いを示す確信度として採用すると判定する一方、前記第1の候補値又は前記第2の候補値が前記所定の値未満である場合、前記画像データは該第1の候補値に対応する前記第1のカテゴリには分類されないと判定する判定手段と、
    を有し、
    前記第1の係数は、前記畳み込み処理部により前記1以上の第1のカテゴリ対して共通に学習された係数である一方、前記第2の係数は、前記第1の全結合処理部及び前記第2の全結合処理部によりそれぞれ前記第1のカテゴリ及び前記第2のカテゴリ毎に学習された係数である、画像処理装置。
  6. 前記第2のカテゴリは、前記1以上の第1のカテゴリのうち誤ったカテゴリに分類される可能性が高いカテゴリの認識を行うためのカテゴリであり、
    前記第2のカテゴリに対応する第2の係数は、正例と負例の数に偏りがある学習データにより予め学習された、請求項5記載の画像処理装置。
  7. 前記全結合処理手段により算出される確信度の候補値は、前記画像データが前記1以上の第1のカテゴリ又は前記1以上の第2のカテゴリに分類される度合いを示す分類確信度の候補値と、分類されない度合いを示す否分類確信度の候補値との組であり、
    前記判定手段は、前記第1のカテゴリの前記分類確信度の候補値が前記正規化手段により正規化された第3の候補値と、該第1のカテゴリに対応する前記第2のカテゴリの前記分類確信度の候補値が前記正規化手段により正規化された第4の候補値とを所定の値と比較し、前記第3の候補値及び前記第4の候補値が前記所定の値以上である場合、前記第3の候補値を、前記画像データが該第1の候補値に対応する前記第1のカテゴリに分類される度合いを示す確信度として採用すると判定する一方、前記第3の候補値又は前記第4の候補値が前記所定の値未満である場合、前記画像データは該第3の候補値に対応する前記第1のカテゴリには分類されないと判定する、請求項5又は6記載の画像処理装置。
  8. 前記正規化手段は、前記分類確信度の候補値及び前記否分類確信度の候補値のそれぞれを
    により正規化する、請求項7記載の画像処理装置。
  9. 前記学習は、誤差逆伝播法により行われる請求項5ないし8のいずれか1項に記載の画像処理装置。
  10. 畳み込み処理部と、入力された画像データが分類されるカテゴリ毎に全結合処理部とを有する畳み込みニューラルネットワークを用いて、前記画像データが複数のカテゴリのいずれに属するかを算出する画像処理装置における画像処理方法であって、
    前記画像データが前記複数のカテゴリのいずれに属するかを算出するための係数であって前記畳み込み処理部により予め学習された第1の係数を用いて、前記畳み込み処理部において畳み込み処理を行う畳み込み処理手順と、
    前記畳み込み処理手順による処理結果について、前記画像データが前記複数のカテゴリのいずれに属するかを算出するため係数であって前記全結合処理部により予め学習された第2の係数を用いて、前記全結合処理部において全結合処理を行い、前記画像データが前記複数のカテゴリのいずれに属するかを算出する全結合処理手順と、
    前記全結合処理手順による処理結果について、前記カテゴリ毎に正規化を行う正規化手順と、を有し、
    前記畳み込み処理部は、前記第1の係数を前記複数のカテゴリに対して共通に学習を行う一方、前記全結合処理部は、前記第2の係数を前記カテゴリ毎に学習を行う、画像処理方法。
  11. 畳み込み処理部と、入力された画像データが分類される1以上の第1のカテゴリ毎に第1の全結合処理部と、前記1以上の第1のカテゴリそれぞれに対応する1以上の第2のカテゴリ毎に第2の全結合処理部とを有する畳み込みニューラルネットワークを用いて、前記画像データが前記1以上の第1のカテゴリのそれぞれに分類される度合いを示す確信度を算出する画像処理装置における画像処理方法であって、
    前記畳み込み処理部により予め学習された第1の係数を用いて、前記畳み込み処理部において畳み込み処理を行う畳み込み処理手順と、
    前記畳み込み処理手順による処理結果について、前記第1の全結合処理部により予め学習された第2の係数と前記第2の全結合処理部に予め学習された第3の係数を用いて、前記第1の全結合処理部及び前記第2の全結合処理部においてそれぞれ全結合処理を行い、前記画像データが前記1以上の第1のカテゴリ及び前記1以上の第2のカテゴリのそれぞれに分類される度合いを示す確信度の候補値を算出する全結合処理手順と、
    前記全結合処理手順により算出された前記確信度の候補値の正規化を行う正規化手順と、
    前記第1のカテゴリの前記確信度の候補値が前記正規化手順により正規化された第1の候補値と、該第1のカテゴリに対応する前記第2のカテゴリの前記確信度の候補値が前記正規化手順により正規化された第2の候補値とを所定の値と比較し、前記第1の候補値及び前記第2の候補値が前記所定の値以上である場合、前記第1の候補値を、前記画像データが該第1の候補値に対応する前記第1のカテゴリに分類される度合いを示す確信度として採用すると判定する一方、前記第1の候補値又は前記第2の候補値が前記所定の値未満である場合、前記画像データは該第1の候補値に対応する前記第1のカテゴリには分類されないと判定する判定手順と、
    を有し、
    前記第1の係数は、前記畳み込み処理部により前記1以上の第1のカテゴリ対して共通に学習された係数である一方、前記第2の係数は、前記第1の全結合処理部及び前記第2の全結合処理部によりそれぞれ前記第1のカテゴリ及び前記第2のカテゴリ毎に学習された係数である、画像処理方法。
  12. 畳み込み処理部と、入力された画像データが分類されるカテゴリ毎に全結合処理部とを有する畳み込みニューラルネットワークを用いて、前記画像データが複数のカテゴリのいずれに属するかを算出する画像処理装置を、
    前記画像データが前記複数のカテゴリのいずれに属するかを算出するための係数であって前記畳み込み処理部により予め学習された第1の係数を用いて、前記畳み込み処理部において畳み込み処理を行う畳み込み処理手段、
    前記畳み込み処理手段による処理結果について、前記画像データが前記複数のカテゴリのいずれに属するかを算出するため係数であって前記全結合処理部により予め学習された第2の係数を用いて、前記全結合処理部において全結合処理を行い、前記画像データが前記複数のカテゴリのいずれに属するかを算出する全結合処理手段、
    前記全結合処理手段による処理結果について、前記カテゴリ毎に正規化を行う正規化手段
    として機能させ、
    前記畳み込み処理部は、前記第1の係数を前記複数のカテゴリに対して共通に学習を行う一方、前記全結合処理部は、前記第2の係数を前記カテゴリ毎に学習を行う、プログラム。
  13. 畳み込み処理部と、入力された画像データが分類される1以上の第1のカテゴリ毎に第1の全結合処理部と、前記1以上の第1のカテゴリそれぞれに対応する1以上の第2のカテゴリ毎に第2の全結合処理部とを有する畳み込みニューラルネットワークを用いて、前記画像データが前記1以上の第1のカテゴリのそれぞれに分類される度合いを示す確信度を算出する画像処理装置を、
    前記畳み込み処理部により予め学習された第1の係数を用いて、前記畳み込み処理部において畳み込み処理を行う畳み込み処理手段、
    前記畳み込み処理手段による処理結果について、前記第1の全結合処理部により予め学習された第2の係数と前記第2の全結合処理部に予め学習された第3の係数を用いて、前記第1の全結合処理部及び前記第2の全結合処理部においてそれぞれ全結合処理を行い、前記画像データが前記1以上の第1のカテゴリ及び前記1以上の第2のカテゴリのそれぞれに分類される度合いを示す確信度の候補値を算出する全結合処理手段、
    前記全結合処理手段により算出された前記確信度の候補値の正規化を行う正規化手段、
    前記第1のカテゴリの前記確信度の候補値が前記正規化手段により正規化された第1の候補値と、該第1のカテゴリに対応する前記第2のカテゴリの前記確信度の候補値が前記正規化手段により正規化された第2の候補値とを所定の値と比較し、前記第1の候補値及び前記第2の候補値が前記所定の値以上である場合、前記第1の候補値を、前記画像データが該第1の候補値に対応する前記第1のカテゴリに分類される度合いを示す確信度として採用すると判定する一方、前記第1の候補値又は前記第2の候補値が前記所定の値未満である場合、前記画像データは該第1の候補値に対応する前記第1のカテゴリには分類されないと判定する判定手段、
    として機能させ、
    前記第1の係数は、前記畳み込み処理部により前記1以上の第1のカテゴリ対して共通に学習された係数である一方、前記第2の係数は、前記第1の全結合処理部及び前記第2の全結合処理部によりそれぞれ前記第1のカテゴリ及び前記第2のカテゴリ毎に学習された係数である、プログラム。
JP2015006529A 2014-05-15 2015-01-16 画像処理装置、画像処理方法及びプログラム Active JP6582416B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015006529A JP6582416B2 (ja) 2014-05-15 2015-01-16 画像処理装置、画像処理方法及びプログラム
US14/710,700 US9911067B2 (en) 2014-05-15 2015-05-13 Image processing apparatus, method of processing image, and program
EP15167809.1A EP2945102A1 (en) 2014-05-15 2015-05-15 Image processing apparatus, method of processing image, and program

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2014101450 2014-05-15
JP2014101450 2014-05-15
JP2014156488 2014-07-31
JP2014156488 2014-07-31
JP2015006529A JP6582416B2 (ja) 2014-05-15 2015-01-16 画像処理装置、画像処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2016033806A true JP2016033806A (ja) 2016-03-10
JP6582416B2 JP6582416B2 (ja) 2019-10-02

Family

ID=53189673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015006529A Active JP6582416B2 (ja) 2014-05-15 2015-01-16 画像処理装置、画像処理方法及びプログラム

Country Status (3)

Country Link
US (1) US9911067B2 (ja)
EP (1) EP2945102A1 (ja)
JP (1) JP6582416B2 (ja)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6183980B1 (ja) * 2016-12-02 2017-08-23 国立大学法人東京工業大学 ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
WO2017168665A1 (ja) * 2016-03-30 2017-10-05 株式会社ニコン 特徴抽出素子、特徴抽出システム、および判定装置
WO2017181723A1 (zh) * 2016-04-20 2017-10-26 广州视源电子科技股份有限公司 细纱断裂的检测方法和系统
JP2018017570A (ja) * 2016-07-27 2018-02-01 日本システムウエア株式会社 岩盤強度判定装置、岩盤強度判定方法、及び岩盤強度判定プログラム
JP2018026027A (ja) * 2016-08-12 2018-02-15 富士通株式会社 演算処理装置及び演算処理装置の制御方法
WO2018163011A1 (ja) * 2017-03-09 2018-09-13 株式会社半導体エネルギー研究所 半導体装置および放送システム
WO2018189613A1 (ja) * 2017-04-11 2018-10-18 株式会社半導体エネルギー研究所 半導体装置、撮像装置及び表示システム
JP2018194842A (ja) * 2017-05-19 2018-12-06 株式会社半導体エネルギー研究所 機械学習方法、機械学習システム、及び表示システム
JP2018200530A (ja) * 2017-05-26 2018-12-20 日東電工株式会社 画像分類プログラム、分類データ作成プログラム、及び、分類データ作成方法
DE102018110196A1 (de) 2017-07-27 2019-01-31 Toyota Jidosha Kabushiki Kaisha Wahrnehmungseinrichtung
JP2019036087A (ja) * 2017-08-14 2019-03-07 ヤフー株式会社 生成装置、生成方法、生成プログラム、学習データ、及びモデル
JP2019079494A (ja) * 2017-09-15 2019-05-23 アクシス アーベー オブジェクトを描写するための候補である可能性が高い1つまたは複数の候補デジタル画像を突き止める方法
KR20190118387A (ko) * 2018-04-10 2019-10-18 배재대학교 산학협력단 합성곱 신경망 기반 이미지 처리 시스템 및 방법
KR20200032258A (ko) * 2016-07-17 2020-03-25 쥐에스아이 테크놀로지 인코포레이티드 일정한 처리 시간 내에 k개의 극값을 찾는 방법
US10762391B2 (en) 2017-09-06 2020-09-01 Kabushiki Kaisha Toshiba Learning device, learning method, and storage medium
JP2021503141A (ja) * 2017-11-14 2021-02-04 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 低電力畳み込みニューラルネットワーク推論アプリケーションのメモリ帯域幅低減技術
JP2021048634A (ja) * 2020-12-09 2021-03-25 株式会社ニコン 特徴抽出素子、特徴抽出システム、および判定装置
WO2021186962A1 (ja) * 2020-03-16 2021-09-23 ソニーセミコンダクタソリューションズ株式会社 信号処理装置、信号処理方法、パラメータ探索方法
US11200460B2 (en) 2019-11-27 2021-12-14 Fujifilm Corporation Image learning device, image learning method, neural network, and image classification device
JP2022016628A (ja) * 2017-08-14 2022-01-21 ヤフー株式会社 生成装置、生成方法、及び生成プログラム
US11663487B2 (en) 2019-11-05 2023-05-30 Fujitsu Limited Analysis apparatus, non-transitory computer-readable storage medium for analysis program, and analysis method
US11769041B2 (en) 2018-10-31 2023-09-26 Advanced Micro Devices, Inc. Low latency long short-term memory inference with sequence interleaving
US11900253B2 (en) 2018-12-20 2024-02-13 Advanced Mic ro Devices, Inc. Tiling format for convolutional neural networks
US11948073B2 (en) 2018-04-20 2024-04-02 Advanced Micro Devices, Inc. Machine learning inference engine scalability
US11983624B2 (en) 2019-03-18 2024-05-14 Advanced Micro Devices, Inc. Auto generation and tuning tool for convolution kernels
US12027238B2 (en) 2021-09-30 2024-07-02 Gsi Technology Inc. Functional protein classification for pandemic research

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9524450B2 (en) * 2015-03-04 2016-12-20 Accenture Global Services Limited Digital image processing using convolutional neural networks
US9716852B2 (en) 2015-04-03 2017-07-25 Semiconductor Energy Laboratory Co., Ltd. Broadcast system
WO2017073000A1 (ja) * 2015-10-29 2017-05-04 株式会社Preferred Networks 情報処理装置及び情報処理方法
US10089717B2 (en) * 2016-04-05 2018-10-02 Flipboard, Inc. Image scaling using a convolutional neural network
CN109478557B (zh) * 2016-08-03 2023-07-28 株式会社半导体能源研究所 摄像装置、摄像模块、电子设备及摄像系统
JP6945986B2 (ja) * 2016-10-28 2021-10-06 キヤノン株式会社 演算回路、その制御方法及びプログラム
CN108242046B (zh) * 2016-12-27 2022-02-18 阿里巴巴集团控股有限公司 图片处理方法及相关设备
CN110012210B (zh) * 2018-01-05 2020-09-22 Oppo广东移动通信有限公司 拍照方法、装置、存储介质及电子设备
JP7240657B2 (ja) * 2018-05-15 2023-03-16 Tokyo Artisan Intelligence株式会社 ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
CN110969217B (zh) * 2018-09-28 2023-11-17 杭州海康威视数字技术股份有限公司 基于卷积神经网络进行图像处理的方法和装置
CN109766810B (zh) * 2018-12-31 2023-02-28 陕西师范大学 基于协同表示和池化及融合的人脸识别分类方法
CN111325222A (zh) * 2020-02-27 2020-06-23 深圳市商汤科技有限公司 图像归一化处理方法及装置、存储介质
CN112949454B (zh) * 2021-02-26 2023-04-18 西安工业大学 一种基于小样本学习的虹膜识别方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005215988A (ja) * 2004-01-29 2005-08-11 Canon Inc パターン認識用学習方法、パターン認識用学習装置、画像入力装置、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2940933B2 (ja) 1989-05-20 1999-08-25 株式会社リコー パターン認識方式
US6038337A (en) * 1996-03-29 2000-03-14 Nec Research Institute, Inc. Method and apparatus for object recognition
JP4026738B2 (ja) 1999-05-31 2007-12-26 株式会社リコー パターン認識方法及び装置、並びに記録媒体
DE60130742T2 (de) 2001-05-28 2008-07-17 Honda Research Institute Europe Gmbh Mustererkennung mit hierarchischen Netzen
JP4846924B2 (ja) * 2001-05-31 2011-12-28 キヤノン株式会社 パターン認識装置
JP3948652B2 (ja) 2002-03-15 2007-07-25 株式会社リコー シーン選択機能を有する撮像装置
JP4606828B2 (ja) 2003-09-25 2011-01-05 富士フイルム株式会社 特定シーンの画像を選別する装置、プログラムおよびプログラムを記録した記録媒体
JP4934982B2 (ja) 2005-03-30 2012-05-23 日本電気株式会社 画像処理装置、画像処理方法、画像処理装置つき携帯端末及び画像処理プログラム
JP2008204092A (ja) 2007-02-19 2008-09-04 Seiko Epson Corp カテゴリー識別装置
US20080199084A1 (en) 2007-02-19 2008-08-21 Seiko Epson Corporation Category Classification Apparatus and Category Classification Method
JP2008234627A (ja) 2007-02-19 2008-10-02 Seiko Epson Corp カテゴリー識別装置、及び、カテゴリー識別方法
JP5256752B2 (ja) 2008-01-28 2013-08-07 株式会社ニコン デジタルカメラ
US8134624B2 (en) * 2008-07-03 2012-03-13 Aptina Imaging Corporation Method and apparatus providing multiple exposure high dynamic range sensor
JP5772442B2 (ja) 2011-09-22 2015-09-02 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
JP5660078B2 (ja) 2012-05-31 2015-01-28 カシオ計算機株式会社 多クラス識別器、方法、およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005215988A (ja) * 2004-01-29 2005-08-11 Canon Inc パターン認識用学習方法、パターン認識用学習装置、画像入力装置、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TANG, Y.: "Deep Learning using Linear Support Vector Machines", INTERNATIONAL CONFERENCE ON MACHINE LEARNING 2013 [ONLINE], JPN6019000907, 2013, ISSN: 0003958022 *
岡谷貴之: "ディープラーニングと画像認識への応用", 第19回画像センシングシンポジウム講演論文集, JPN6019000908, June 2013 (2013-06-01), pages 0 - 1, ISSN: 0003958023 *

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11791363B2 (en) 2016-03-30 2023-10-17 Nikon Corporation Element, system having the element, and judging apparatus
WO2017168665A1 (ja) * 2016-03-30 2017-10-05 株式会社ニコン 特徴抽出素子、特徴抽出システム、および判定装置
US10904471B2 (en) 2016-03-30 2021-01-26 Nikon Corporation Feature extraction element, feature extraction system, and determination apparatus
JPWO2017168665A1 (ja) * 2016-03-30 2018-10-18 株式会社ニコン 特徴抽出素子、特徴抽出システム、および判定装置
WO2017181723A1 (zh) * 2016-04-20 2017-10-26 广州视源电子科技股份有限公司 细纱断裂的检测方法和系统
US10929751B2 (en) 2016-07-17 2021-02-23 Gsi Technology Inc. Finding K extreme values in constant processing time
KR102305568B1 (ko) * 2016-07-17 2021-09-27 쥐에스아이 테크놀로지 인코포레이티드 일정한 처리 시간 내에 k개의 극값을 찾는 방법
KR20200032258A (ko) * 2016-07-17 2020-03-25 쥐에스아이 테크놀로지 인코포레이티드 일정한 처리 시간 내에 k개의 극값을 찾는 방법
JP2018017570A (ja) * 2016-07-27 2018-02-01 日本システムウエア株式会社 岩盤強度判定装置、岩盤強度判定方法、及び岩盤強度判定プログラム
JP2018026027A (ja) * 2016-08-12 2018-02-15 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JP6183980B1 (ja) * 2016-12-02 2017-08-23 国立大学法人東京工業大学 ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
JP2018092377A (ja) * 2016-12-02 2018-06-14 国立大学法人東京工業大学 ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
WO2018101275A1 (ja) * 2016-12-02 2018-06-07 国立大学法人東京工業大学 ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
WO2018163011A1 (ja) * 2017-03-09 2018-09-13 株式会社半導体エネルギー研究所 半導体装置および放送システム
JP7179718B2 (ja) 2017-04-11 2022-11-29 株式会社半導体エネルギー研究所 半導体装置、撮像装置及び表示システム
WO2018189613A1 (ja) * 2017-04-11 2018-10-18 株式会社半導体エネルギー研究所 半導体装置、撮像装置及び表示システム
JPWO2018189613A1 (ja) * 2017-04-11 2020-03-26 株式会社半導体エネルギー研究所 半導体装置、撮像装置及び表示システム
US11437000B2 (en) 2017-05-19 2022-09-06 Semiconductor Energy Laboratory Co., Ltd. Machine learning method, machine learning system, and display system
JP7068753B2 (ja) 2017-05-19 2022-05-17 株式会社半導体エネルギー研究所 機械学習方法、機械学習システム
JP2018194842A (ja) * 2017-05-19 2018-12-06 株式会社半導体エネルギー研究所 機械学習方法、機械学習システム、及び表示システム
US10984757B2 (en) 2017-05-19 2021-04-20 Semiconductor Energy Laboratory Co., Ltd. Machine learning method, machine learning system, and display system
US11410409B2 (en) 2017-05-26 2022-08-09 Nitto Denko Corporation Image classification system and method, classification data creation system and method, and storage medium
JP2018200530A (ja) * 2017-05-26 2018-12-20 日東電工株式会社 画像分類プログラム、分類データ作成プログラム、及び、分類データ作成方法
DE102018110196A1 (de) 2017-07-27 2019-01-31 Toyota Jidosha Kabushiki Kaisha Wahrnehmungseinrichtung
US11176416B2 (en) 2017-07-27 2021-11-16 Toyota Jidosha Kabushiki Kaisha Perception device
JP2022016628A (ja) * 2017-08-14 2022-01-21 ヤフー株式会社 生成装置、生成方法、及び生成プログラム
JP7198900B2 (ja) 2017-08-14 2023-01-04 ヤフー株式会社 生成装置、生成方法、及び生成プログラム
JP2019036087A (ja) * 2017-08-14 2019-03-07 ヤフー株式会社 生成装置、生成方法、生成プログラム、学習データ、及びモデル
US10762391B2 (en) 2017-09-06 2020-09-01 Kabushiki Kaisha Toshiba Learning device, learning method, and storage medium
JP2019079494A (ja) * 2017-09-15 2019-05-23 アクシス アーベー オブジェクトを描写するための候補である可能性が高い1つまたは複数の候補デジタル画像を突き止める方法
JP2021503141A (ja) * 2017-11-14 2021-02-04 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 低電力畳み込みニューラルネットワーク推論アプリケーションのメモリ帯域幅低減技術
JP7407720B2 (ja) 2017-11-14 2024-01-04 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 低電力畳み込みニューラルネットワーク推論アプリケーションのメモリ帯域幅低減技術
KR102068576B1 (ko) 2018-04-10 2020-01-21 배재대학교 산학협력단 합성곱 신경망 기반 이미지 처리 시스템 및 방법
KR20190118387A (ko) * 2018-04-10 2019-10-18 배재대학교 산학협력단 합성곱 신경망 기반 이미지 처리 시스템 및 방법
US11948073B2 (en) 2018-04-20 2024-04-02 Advanced Micro Devices, Inc. Machine learning inference engine scalability
US11769041B2 (en) 2018-10-31 2023-09-26 Advanced Micro Devices, Inc. Low latency long short-term memory inference with sequence interleaving
US11900253B2 (en) 2018-12-20 2024-02-13 Advanced Mic ro Devices, Inc. Tiling format for convolutional neural networks
US11983624B2 (en) 2019-03-18 2024-05-14 Advanced Micro Devices, Inc. Auto generation and tuning tool for convolution kernels
US11663487B2 (en) 2019-11-05 2023-05-30 Fujitsu Limited Analysis apparatus, non-transitory computer-readable storage medium for analysis program, and analysis method
US11200460B2 (en) 2019-11-27 2021-12-14 Fujifilm Corporation Image learning device, image learning method, neural network, and image classification device
US11785340B2 (en) 2020-03-16 2023-10-10 Sony Semiconductor Solutions Corporation Signal processing device, signal processing method, and parameter search method
WO2021186962A1 (ja) * 2020-03-16 2021-09-23 ソニーセミコンダクタソリューションズ株式会社 信号処理装置、信号処理方法、パラメータ探索方法
JP7115533B2 (ja) 2020-12-09 2022-08-09 株式会社ニコン 特徴抽出素子、特徴抽出システム、および判定装置
JP2021048634A (ja) * 2020-12-09 2021-03-25 株式会社ニコン 特徴抽出素子、特徴抽出システム、および判定装置
US12027238B2 (en) 2021-09-30 2024-07-02 Gsi Technology Inc. Functional protein classification for pandemic research

Also Published As

Publication number Publication date
JP6582416B2 (ja) 2019-10-02
US20150332126A1 (en) 2015-11-19
EP2945102A1 (en) 2015-11-18
US9911067B2 (en) 2018-03-06

Similar Documents

Publication Publication Date Title
JP6582416B2 (ja) 画像処理装置、画像処理方法及びプログラム
CN103108120B (zh) 变焦控制方法和设备
CN105959543B (zh) 一种去除反光的拍摄装置和方法
KR101510098B1 (ko) 디지털 영상 처리 장치에서 영상의 배경흐림 효과 처리장치 및 방법
CN105493493B (zh) 摄像装置、摄像方法及图像处理装置
CN105100594A (zh) 摄像装置和摄像方法
CN105453539B (zh) 图像处理装置、摄像装置及图像处理方法
KR101710626B1 (ko) 디지털 촬영 장치 및 이의 제어 방법
CN102833471A (zh) 摄像装置和摄像方法
CN105491358B (zh) 一种图像处理方法及装置、终端
CN105144684B (zh) 摄像装置和图像处理方法
KR20130071793A (ko) 디지털 촬영 장치 및 이의 제어 방법
CN105453540B (zh) 图像处理装置、摄像装置、图像处理方法
CN106131441A (zh) 拍照方法及装置、电子设备
US20210390658A1 (en) Image processing apparatus and method
KR100926133B1 (ko) 디지털 영상 촬영 방법 및 촬영 장치
JP4930277B2 (ja) 撮像装置及びそのコンピュータプログラム
CN103685928A (zh) 图像处理装置以及图像处理方法
KR20090037700A (ko) 얼굴 검출을 위한 디지털 영상 처리 장치의 제어 방법 및이 방법을 채용한 디지털 영상 처리 장치
JP7403995B2 (ja) 情報処理装置、制御方法およびプログラム
JP2009081635A (ja) デジタルカメラ、及びデジタルカメラの個人情報保護方法
CN107483809A (zh) 一种图像拍摄方法、终端及计算机可读存储介质
JPWO2014136321A1 (ja) 復元フィルタ生成装置及び方法、画像処理装置及び方法、撮像装置、プログラム並びに記録媒体
US20230222639A1 (en) Data processing method, system, and apparatus
CN104144286A (zh) 拍摄装置和拍摄方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190819

R151 Written notification of patent or utility model registration

Ref document number: 6582416

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151