以下、本発明の好ましい実施形態として、本発明をカメラ(撮像装置)と外部機器とからなる学習システムに適用した例について説明する。この学習システムの概略は以下の通りである。カメラは、外部機器とネットを通じて接続することができる。この外部機器には、画像が蓄積され、第三者が画像にアクセスすることができ、第三者がアクセスした画像を評価することができる。また外部機器は、画像データの母集合を作成し、機械学習(深層学習を含む)を行う。この深層学習は、母集合の中で評価を受けた画像データを教師データ(正解)として使用し、推論モデルを生成する。なお、第三者は、画像の評価を受ける者以外であれば、誰でもよく、例えば、カメラのユーザ自身であってもよく、特定の分野の専門家であってもよい。
また、所定の評価としては、第三者の主観的な評価であり、肯定的な評価(「高い評価」ともいう)に限らず、肯定的に評価されないというのも評価である。また、評価としては、単に、肯定的な否かに限らず、肯定的の程度、例えば、レベル1〜n(星の数で表してもよい)のいずれかを用いた、定量的な評価であってもよい。また、画像などに寄せられたコメントを解析して好感度を数値化することによって、定量的に評価する方法もある。例えば、寄せられた文章に含まれる肯定的な言葉と否定的な言葉を検索し、その出現頻度の比較結果や、さらに出現した単語を解析してその単語が持つ肯定の度合いを数値化して、データベースを作成する等、定量的な評価を行う方法はいろいろある。また、文章のみならず、その画像にアクセスするユーザの無意識な行動に基づいても、画像に対する好感度を推測することもできる。例えば、画像を見ている時間が長く、また回数が多い場合には、鑑賞者が画像を好意的に見ている場合が多い。こうした画像へのアクセスの頻度や時間、またダウンロード回数なども好意的な評価を定量的に行う時に参考にできる。このような定量的な評価は、画像そのものの画質や表現力そのものではなく、投稿した人のバックグラウンドまで含めて肯定する場合もあるが、こうした要素も含めて、フォロワの多い人が撮りそうな写真という観点で画像を評価するような場合があってもよい。例えば、非常に人気のある有名人(仮にAさんとする)がいて、その人ならこう撮影するだろうといった撮影技術へのニーズがあってもよい。こうした切り口での写真撮影技術へのアプローチは極めて斬新なものである。「Aさんが好んで撮影しそうな写真を撮影できる」といったプロモーションが可能な撮影機器を提供できる。
また、カメラは、リクエスト(条件)を設定し、外部機器に送信する。このリクエストは、ユーザの撮影した写真が、第三者によって高い評価を受けるような写真の条件を示す。また、リクエストは、「どのような鑑賞者によって高い評価を得たいか」を指定するステップを含むことなどを意味する。「写真」の例でいえば、これまでは漠然と「良い写真」とか「上手な写真」、あるいは「ありきたりな写真」とか「下手な写真」としてのみ、単純に評価されることが多かった。しかし、本実施形態におけるリクエストでのリクエスト(条件)は、評価者を世代、性別、文化圏などの差異を考慮してカテゴライズしている。そして、いくつかにカテゴライズ、または層別された特定のカテゴリや層の人が、特に好むような写真を撮影できることを目指すものである。多くのユーザ、あるいはカメラマンは、自分が属する文化や年齢層に対してであっても、完全に好みを把握することに自信を持つことができない。しかし、本実施形態においては、こうした不安を払拭した写真撮影が可能となる。このため、見知らぬ土地の人であって、自分とは異なる年齢や性別の人から、写真の撮影を頼まれたとしても、その要求に合った、満足される写真撮影が簡単にできるようになる。こうした要望をリクエストとして記した。
ただし、リクエストを、毎回、手動作操作によって入力するのも面倒なので、リクエスト自体を自動的に判定してもよい。例えば、撮影した画像をネット上にアップロードしても、鑑賞してくれる人の層が偏っている場合は、異なる層の鑑賞者を狙った画像を撮影するように、カメラが推奨する仕様もあり得る。このように、自動的にリクエストを生成することにより、ユーザが意識してもできないことを補い、本人が気づくことのなかった、あるいは意識してもできるものではなかった鑑賞者の評価の感覚や考え方を反映した撮影が可能となる。
これまでの多くの機器は、より一般的な「上手な」レベルになるように、ユーザの技量を補佐するような技術の追求がなされたものが多く、初心者が「失敗しない」といった要求レベルで使えるものが開発、提供されていた。これらの考え方で製造された製品は、例えばカメラであれば、いわゆる「万人向けする」写真を撮影できても、ここで説明するような、きめ細かなリクエストを反映さえることはできなかった。
なお、この鑑賞者の好みは、撮影する画像のテーマによって変わる場合もあるので、撮影のテーマごとに、ニーズを取り込めるようにしてもよい。そのため、まず、撮影される画像が、風景か人物かなどテーマを判定するような推論モデルがあってもよい。テーマが決まると、テーマごとに鑑賞者の好みを推論するような推論モデルがあってもよい。ただし、テーマによらず、全体的な傾向がある場合もあるのでここでは、このあたりは「リクエスト」として広い概念で説明する。要求される仕様や設計のレベルによって、リクエストをどこまで細かく指定するかが変わってくる。また、ユーザの要望としても、どこまで、リクエストを細分化するかは時と状況とその人の性格などで変化しうる。
さらに、画像が誰によって評価されるかを判定し、評価者のニーズに合うか合わないかといった判定を行うのみならず、撮影者に種々のアドバスを行うようにしてもよい。例えば、鑑賞者の好みでないとされた画像に対しては、画像を取得するときのパラメータやトリミングについてアドバイスをしてもよく、この場合、画像に対するトリミング位置が参考になる。あるいは特殊効果の画像処理を施すか否か、また画像処理の種別などを変更(撮影変更)するようにしてもよい。画像処理等によって、異なる表現方法で画像が得られた場合、この画像を改めて先の推論エンジンに入力して高評価が得られるかを判定し、判定の結果、評価が改善される傾向の変更がある場合には、この撮影変更を行うようなアドバイスを出力し、ユーザに伝えるとよい。このアドバイスよって、撮影者が自分の気づかなかった表現技法に気づくようになり、さらに撮影のスキルが向上する。
外部機器は、上述の画像データの母集合に対してカメラ側で設定されたリクエストを用いて深層学習を行い、この深層学習によって生成された推論モデルを、カメラ側に返送する(第1実施形態参照)。また、外部機器は、この推論モデルを予め複数生成しておいてもよい。前述したように、リクエストには、種々の要求があり、また種々のアドバイスがあることから、これらの要求やアドバイスを考慮して、外部機器が複数の推論モデルを生成しておくとよい。また、外部機器は、カメラに記録されている画像データ等に基づいて、複数の推論モデルの中から、ユーザに最適な推論モデルを検索し、この検索された推論モデルをカメラに返送する(第2実施形態参照)。 なお、本発明の各実施形態においては、深層学習によって推論モデルを生成している。しかし、学習としては深層学習以外の機械学習でもよく(例えば、SVM(Support Vector Machine))、また、学習の一部を人の判断によって行う機械学習によって行うようにしてもよい。
図1ないし図4を用いて、本発明の第1実施形態について説明する。図1は、第1実施形態に係る学習システムの主として電気的構成を示すブロック図を示す。この学習システムは、カメラ10と外部機器20を有する。
カメラ10は、画像入力部11、推論エンジン12、通信部14、表示部15、設定部16、制御部17を有する。このカメラ10は、推論モデルを受信する撮像装置として機能する。画像入力部11は、撮影レンズ、撮像素子、撮像制御回路、画像データ処理回路等を有し、被写体の画像データを生成する。画像入力部11は、画像データを入力する画像入力部として機能する。画像入力部11は、被写体を画像データに変換するとして機能する。
推論エンジン12は、後述する外部機器20内の入出力モデル化部28によって生成された推論モデルを入力し、これを学習成果物13aとして記憶部13に記憶する。推論エンジン12は、記憶部13に記憶された推論モデルを用いて、画像入力部11によって入力された画像データが、設定部16によって設定されたリクエスト(詳しくは後述する)に合致した画像であるか否かを推論する。推論エンジン12は、図4と同様、入力層、中間層、出力層を有し、これらの間のニューロンの結合の強さや重み付けは、記憶部13に記憶された学習成果物(推論モデル)に従って設定される。
推論エンジン12は、画像データに対して、推論モデルを用いて推論を行う推論部として機能する。また推論エンジン12は、画像データに対して、学習途中モデルを用いて推論を行う推論部として機能する。この学習途中モデルは、ある決められた範囲の画像データを用いて、生成された信頼性のある推論モデルを言う(例えば、図3のS41、S45〜S49参照)。推論エンジン12は、画像入力部によって入力した画像データが、受信部で受信した推論モデルによって、第三者から所定の評価がされるか否かを判定する推論部として機能する。所定の評価としては、肯定的な評価(高い評価)であってもよく、定量的な評価であってもよい。
通信部14は、通信回路を有しインターネット等を通じて、外部機器20の通信部26と、無線通信または有線通信を行う。この通信部14は、設定部16において設定されたリクエストを学習部25に送信し、また入出力モデル化部28で生成された推論モデルを入力する。通信部14は、設定部によって設定されたリクエストを学習装置に送信する送信部として機能する(例えば、図2のS25参照)。通信部14は、画像データベースとリクエストに基づいて、学習装置によって生成された推論モデルを、受信する受信部として機能する(例えば、図2のS27参照)。
なお、カメラ10が直接、外部機器20にアクセスできない場合に、スマートフォン等の携帯型通信装置等を通じて、外部機器20と通信するようにしてもよい。また、カメラ10自体がスマートフォン等の携帯型通信装置に内蔵されている場合には、この携帯型通信装置を通じて、外部機器20に通信するようにすればよい。
表示部15は、表示パネル等を有し、画像入力部11において取得した画像データに基づいて、スルー画(「ライブビュー画像」ともいう)等の表示を行う。また、表示部15は、推論エンジン12における推論結果の表示を行う。また、表示部15は、設定部16において設定する項目を図1(b)に示すように表示を行う。表示部15は、推論部による推論結果を表示する表示部として機能する(例えば、図2のS7参照)。表示部15は、画像入力部によって入力した画像データと、アドバイス情報とに基づいて、アドバイス表示を行う表示部として機能する(例えば、図7のS61参照)。また、表示部15は、推論モデルを用いて行った推論結果を表示する(例えば、図2のS7参照)。また、表示部は、スルー画表示を行う際に、推論結果を表示する。
設定部16は、第三者から高く評価され、かつユーザが希望する写真を設定する。外部画像データベースには、第三者が閲覧可能な画像をアップロードし、第三者がこのアップロードされた画像を閲覧し、その画像を気に入ると、「イイネ」等、第三者の好みに合ったことの意思表示がなされる。この意思表示は、ネットを通じて、外部画像データベースに記録され、またネットを通じて公表される。ユーザは、第三者から高い評価を受け、かつユーザの好みにあった写真を撮影したいという要望がある。そこで、本実施形態においては、このユーザの要望をかなえるために、学習部25がユーザの要望(リクエスト)に基づいて推論モデルを生成し、カメラ10は、この推論モデルを用いて、カメラ10で入力した画像の評価を行う。
設定部16は、上述のユーザの要望(リクエスト)を設定する。例えば、ユーザが「フランスの20代女性から評価を受ける写真」を撮影したい場合には、このユーザの要望に合致するように、ユーザが評価者(ターゲットフォロア)の国籍、性別、テーマ等の付随情報を設定する。写真のテーマは、例えば、風景、人物、料理等、撮影対象があるが、これに限られない。
「テーマ」に類似した概念として「シーン」という言葉がある。多くのカメラなどでは、検出された画像やデータを分析した結果を「シーン」と呼ぶ。例えば、顔検出や風景判定のような機能を「シーン判定機能」と呼ぶことがある。ここで使用される「シーン」は、この分類で良い場合は、「テーマ」として考えて扱うことができる。ただし、テーマという言葉は、単なる分類を超えて、意図を含む場合がある。例えば、特定の「地域の紹介」はテーマであるが、その地域の風景や人物に限らず、異なるシーンが含まれている場合がある。この「地域の紹介」が、単なる風景や人物の紹介だけではなく、明るい雰囲気で紹介したいという意図がある場合がある。この場合には、全体として、明るい画像が好まれる等、撮影の技術を反映させたい場合もある。つまり、こうした「意図」までを考慮した機械学習を行うかは、意図に応じた画像群を集められるかどうかという点のみで重要なので、本実施形態においては、テーマでもシーンでも、分類できれば扱えるものと考えた。
また、付随情報は、表示部15の表示画面に設定項目として表示しておき、ユーザが、要望に応じて、タッチ操作や釦操作により設定項目を選択するようにしてもよい。また、設定項目は表示された項目の中から選択し、詳細はテキストで入力するようにしてもよい。また、ユーザの要望が、例えば、「フランスの20代女性から評価を受ける写真」の場合、ユーザの要望を自然言語のままで、学習部25に送信し、学習部25が自然言語を分析して、深層学習を行うようにしても良い。また、リクエストには、「イイネ」と評価した人物(フォロワ―)のプロフィールを含めてもよい。設定部16において、設定された項目は、ユーザからのリクエストとして、学習部25に通信部14から送信される。
設定部16におけるリクエストの設定画面は、例えば、図1(b)に示す例のように、「国籍」「性別」「年齢」「テーマ」等が表示される。ユーザの要望が、「フランスの20代女性から評価を受ける写真」の場合には、「国籍」を選択して「フランス」のテキストを入力し、「性別」として「女性」を選択し、「年齢」として「20歳代」を選択する。「テーマ」は撮影対象とのテーマがあれば、テキスト入力する。
なお、リクエストのための設定項目としては、図示以外の項目を加えてもよく、また一部を省略してもよい。上述のリクエストは、ユーザの意図する写真の評価者の付随情報および写真のテーマの内、少なくとも1つを有する。設定部16は、ユーザの意図する写真を表すリクエストを設定する設定部として機能する(例えば、図2のS23参照)。
制御部17は、CPU(Central Processing Unit)、周辺回路、メモリ等を有し、CPUはメモリに記憶されたプログラムに従って、カメラ10内の各部を制御する。
外部機器20は、外部画像データベース(DB)21と、学習部25を有する。外部画像DB21と学習部25は、同一の機器内に配置されてもよく、同一の機器内に配置されていなくてもよい。外部画像DB21および学習部25は通信によって連携することができればよい。また、外部画像DB21は複数設けられていてもよく、学習部25から複数の外部画像DBに通信部25および通信部26を通じて、画像データにアクセスし、画像データに関する情報を取得することができればよい。
外部画像DB21は、通信部22と画像分類部23を有する。外部画像DB21は、前述したように、第三者がアクセスすることでき、第三者が画像を気に入ると、「イイネ」等、第三者の好みに合ったことが意思表示される。この意思表示は、ネットを通じて、評価された画像に関連付けて外部画像データベースに記録され、またネットを通じて公表される。通信部22は、通信回路を有し、学習部25の通信部26と、データの送受信を行う。
画像分類部23は、外部画像DB21内に蓄積され、または外部画像DB21の外部にある画像DBに蓄積された画像データの画像分類を行う。画像分類部23には、フォロワプロフィール23aとテーマ23bが記憶されている。一般に画像DBには、画像データと、その画像に関する第三者の評価(例えば、第三者が「イイネ」と評価した数等)が、関連付けて記録されている。フォロワプロフィール23aは、「イイネ」と評価した人(フォロワ)に関する情報(フォロワプロフィール、例えば、フォロワの住んでいる地域、性別、年齢等)を記録している。テーマ23bは、画像のテーマ、例えば、撮影対象(例えば、風景、人物、料理等)等の情報を画像に関連付けて記録している。
このように画像分類部23が構成されているので、画像データに関連するタグ情報や、分類の分析結果から、画像につけられたコメントを判定して表示することができる。なお、分類の分析結果は、特定の規則で設けられた表形式で記録しておくと、コメントの判定が容易となる。また、ユーザはログインしてから、コメントを投稿する。このログイン時に、誰が投稿したかが分かるようにタグ付けや表などが構成されている。また、ログインができるようにするために、ユーザは、名前(あるいはニックネームやハンドルネーム)や性別や生年月日、住所や電話番号、メールアドレスなどのプロフィールを登録している。そのため、プロフィール登録時に、自己申告した内容、使用するアプリ、使用言語、端末の情報、利用履歴等から、その人の住所(住んでいる期間やネイティブかどうか)などが分かる。同様に年齢などもわかる。このように、画像を管理するデータベースに記録されているプロフィール情報に基づいて、画像をコメントした人のニックネームや名前や属性がわかる。また、その人がどのようなコメントをしているかは、ネット情報の閲覧履歴を解析すれば、その人の好みや嗜好、さらには性別や年齢層、プロフィールなどが解析できる。ただし、データベースが、プロフィールでコメントする人をどのように分けているかは完全にはわからない。そこで、類似のプロフィールの層に置き換えて検索したり、画像DBから、こうしたプロフィール情報を受け取って、そこから選ぶようにしてもよい。
学習部25は、通信部26、母集合作成部27、入出力モデル化部28、制御部29を有する。学習部25は、機械学習(深層学習を含む)用プロセッサを有し、カメラ10から送信されてきたリクエストに合致し、第三者から所定の評価がされる画像を画像データベースの中から抽出し、この抽出した画像用いて、機械学習(深層学習を含む)を行い、推論モデルを出力する学習部(ニューラルネットワーク等の、学習データや学習パラメータを入力して様々な手法の機械学習を行う学習結果生成用の機械学習用プロセッサ)として機能する(例えば、図3のS31〜S39参照)。
上述の所定値は、ユーザのリクエストの対象となる画像のテーマ等によって、「イイネ」等、評価される画像の数が大きく異なることから、画像のテーマ等、種々の事情に応じて適宜設定すればよい。深層学習の際に使用する画像(例えば、「イイネ」等、高い評価を受けた画像)は、複数の人から「イイネ」と評価を受けることが好ましい。また、上述の所定値は、画像を鑑賞しようとアクセスした人に対して「イイネ」と評価した人の割合(例えば9割)で決めてもよい。また、上述の所定値を割合で決める場合には、割合の母数が少ないと信頼性が低くなるので、母数は所定のアクセス数(例えば5件のアクセス)以上ある場合に、所定値として決定することができるようにしてもよい。また、「イイネ」と評価した人の割合が高くても、単に友人というだけで「イイネ」と評価している場合がある。そこで、交友関係がない人からの「イイネ」をカウントし、このカウント値と所定値を比較するようにしてもよい。交友関係があるか否かは、フォロワに関する情報等に基づいて判定すればよい。
また、「イイネ」と評価された画像を教師データ(正解)として深層学習を行うと、「イイネ」と評価されなかった画像との差異を検出できなくなる可能性がある。そこで、「イイネ」と評価されない画像も教師データ(正解)として深層学習を行うようにしてもよい。多くの画像を入力できないと、「イイネ」と評価される画像の共通の特徴量を見出すことができず、有効な深層学習を行うことができない。このため、評価できる画像数を多くし、「イイネ」と評価される場合と、「イイネ」と評価されない場合が区別できるようにすることが好ましい。
また、この時の学習の方法は、どのような推論エンジンを使うかによって異なる。例えば、顔検出の機能や色や距離の情報を用いてシーン判定(あるいはテーマ判定)した後であれば、そのシーンにおいて、特定の鑑賞者、評価者が「イイネ」と思うような推論エンジンを使用すればよい。しかし、その場合は、シーンごとに推論エンジンを切り替えて用意しなければならない可能性もあり、機器や装置の回路やシステム構成が複雑になる。しかし、シーンを判定しなくても、以下のような場合はシステム等の構成を単純化ができる。つまり、特定の用途でしか使わない専門的な装置であっても、特定用途を考慮する必要がなくなる場合がある。また、特定のカテゴリあるいは層として分類された鑑賞者であれば、どのような状況でも同様の嗜好を示す場合があり、この時は、シーン判定などは省略が可能である。例えば画像の色使いが良ければ高く評価するとか、精細であれば高く評価するといった嗜好の鑑賞者もいる。
このように状況や機器に応じて学習すべき教師データは変わってくるが、一般に、以下のように教師画像を設定すればよい。なお、シーン判定した結果を反映させる場合、データベース上のどの画像がどのシーンの画像であるかが対応付けられた方が良いので、シーン判定の仕方をデータベースの分類に合わせて、装置が分類できるようにしてもよい。これを行うためには、データベースでのシーン判定の分類の仕方の情報を取得すればよい。また、ここまで厳密にシーンを合わせこむ必要があるかは、これも求められる仕様によって変更可能である。風景か人物か、あるいはそのほかの簡単な分類くらいであれば、学習時にデータベースから画像を選ぶ際の条件として添付して、画像検索して教師データにする時反映してもよい。
このように、画像DBとの連携は、同じようなテーマ分類やプロフィール分類ができうることが好ましい。また、機械学習用に複数の教師データ群を分類するために、ここに含まれる画像にコメントする人のプロフィール分類情報または、ここに含まれるテーマ分類情報を、外部の装置に提供可能にする。また、学習装置は、取得画像がいずれに分類されるかを識別させるために、第1および第2の教師データ群で学習された学習済みモデルを備える。この場合、取得画像は、撮像部によって取得されたスルー画像でもよく、また記録部に記録されている記録画像であってもよい。記録済みの画像であっても、第三者から評価してもらいたい場合に、学習装置によって評価を受けたいという要望がある。画像DBは、以下のような画像群を有する画像データベースを備えることが望ましい。この画像DBが管理する複数の画像のうち、特定のプロフィールに合致する人物が評価した画像という条件で上記画像群を抽出し、この抽出結果を機械学習用に第1の教師データ群として提供可能に構成する。また、上記第1の教師データ以外の画像群を抽出し、この抽出結果を機械学習用に第2の教師データ群として提供可能に構成する。もちろん、必要に応じて、ほかの教師データを提供してもよく、より専門的な機械学習用には、これら第1、第2の教師データ群を、さらにテーマを用いて選別可能であった方が良い。また、第1と第2の教師データ群は、さらに特定のターゲットにおいてプロフィールに合致する人物が評価した画像と、評価しなかった画像であってもよい。また、第1と第2の教師データ群は、さらに特定のターゲットにおいてプロフィールに合致する人物が評価した画像と、プロフィールに合致しなかった人物が評価した画像であってもよい。また、画像DBは、機械学習用に第1、第2の教師データ群を分類するためのプロフィール分類情報またはテーマ分類情報を提供できるようにしてもよい。
以上のような条件を満たす学習母体(母集合)を用いて学習することが好ましい。ここでは、「イイネ」といった、単純なコメントを例に説明している。しかし、「とてもイイネ」とか、「もう少しでイイネになるね」みたいなコメントでは、前者を「イイネ」より強い肯定として数値化できるし、後者は少し差し引いて数値化してもよい。さらには、同じ評価者が複数の画像を評価するような場合を想定し、いずれの画像を評価しているかなどをテキスト等から判定し、複数の画像間で一方の評価を高く設定し、もう一方の評価を低く設定するような評価の定量化を取り入れても良い。
また、ここでは、ネット上での一般のカメラユーザの反応を例に説明している。しかし、一般のカメラユーザに限らず、専門家が評価するような場合に対応してもよく、この場合は、より具体的なことを指摘した文章となる場合が多い。専門家がある画像とある画像(その他のコンテンツでも良い)を比べて、どちらを高く評価しているかなどは判定ができ、その時も同様に評価の高いもの、低いものを相対的に設定してもよい。このように、本実施形態に係る推論モデルは、取得した画像を入力とし、外部に記録された画像を評価する人物のプロフィール情報に従って、特定の画像データベースで管理された複数の画像のうち、プロフィールに合致する人物が評価した画像を抽出して、この抽出された画像群を教師データ群とし、教師データ群を用いて機械学習を行うことによって上記推論モデルが生成され、取得した画像に対して、推論モデルを用いて推論を行うと、教師データ群以外の画像より教師データ群の画像に近いかどうかの評価を出力とする。この推論モデルは、例えば、フランス女性が評価する画像と、評価しない画像のいずれに近いかを評価することができる。なお、取得画像としては、撮像部で取得したスルー画像でもよく、記録部に記録されている記録済み画像であってもよい。また、取得された画像の取得条件の変更を行った画像を入力とすることによって評価の改善を判定するための数値出力を可能としてもよい。
また、この学習部は、深層学習が決められた画像データの範囲において、信頼性のある推論モデルが生成された場合には、学習途中モデルとして出力する(例えば、図3のS41、S45〜S49参照)。この信頼性は数値データとして表せば、以下に示すような画像判定時の応用範囲を広げることができる。取得した画像を評価する人物のプロフィールを含むリクエストを取得するステップがあり、このプロフィール情報に従って、特定の画像データベースで管理された複数の画像のうち、上記プロフィールに合致する人物が評価した画像という条件で上記画像群を、例えば、第1の教師データ群として抽出し、上記特定の画像データベースに含まれる画像群のうち、上記第1の教師データ以外の画像群(それほど厳密にどちらかに分類する必要はない)を例えば、第2の教師データ群として抽出し、このように分類された複数の教師データ群が識別可能な推論モデルを生成する学習方法が提案できる。これは、上記第1、第2の教師データ群に含まれる画像がどちらのデータ群に属するかを識別可能な推論モデルを生成するものであるが、上述の教師データでは完全に分類ができない場合は、前述のような分類の仕方を調整して一部を教師データから外したりして、含まれるものの分類の精度を向上させるような工夫をしてもよい。この第1の教師データに近い分類になるかどうかは数値判定できるようにしてもよく、評価の高低を定量的に出力できるようにし、評価値を特定の閾値と比較し、評価値が閾値を超えれば上述の第1教師データに近いという判定をすればよい。また、取得した画像が、特定のテーマに分類された画像の場合、特定の画像データベースにおけるテーマに相当する画像群を元に、第1の教師データ群を抽出するようにしてもよい。また、特定の画像データベースは、リクエストされたプロフィールに該当する以外の層の人物が評価した画像も含んでもよい。
また、この学習部は、画像データベースに記憶された画像データから、リクエストに基づいて母集合となる画像データを作成する(例えば、母集合作成部27、図3のS33参照)。また、学習部は、推論モデルに合致した画像を撮影するためのアドバイス情報を生成する(例えば、図5のガイド情報33、図8BのS127、S135参照)。アドバイス情報は、第三者による評価が高くなる画像を撮影するためのアドバイスである。これは、評価の高低を定量的に判定できるようにし、評価が低くなりそうな場合であって、かつ評価が改善されるような場合に、推奨表示を行えばよい。すなわち、評価の高低を示す値を仮記録しておき、画像に対して様々な画像処理や撮影パラメータの変更、トリミングなどを行い、推論エンジンに入力する画像を変更して評価の高低を表す値が、仮記録された値より大きくなるかどうかで評価が改善されるような場合を判定する。この改善が行われる処理を推奨表示すればアドバイスとなる。つまり、アドバイス表示用に使用する推論エンジンは、取得した画像を評価する人物のプロフィールを含むリクエストを取得して、プロフィールに合致する人物が評価した画像という条件を使って分類された教師データ群を用いて学習している。このため、補正または調整した画像も、同様の原理で、高い評価を受けることができそうかどうかを判断できるアドバイス用推論エンジンともいえる。このように、取得された画像の取得条件の変更を行った画像を入力とすることによって評価の改善を判定するための出力が可能な推論エンジンとして活用できる。スルー画表示された画像が、推論エンジンによる推論の結果、第三者による評価が高くないと予測される場合に、このアドバイスを撮影者が参考にして撮影できる。
学習部25は、リクエストに合致し、データごとに主観評価に差異のある評価情報を含むデータをデータベースの中から抽出する。そして、学習部25は、この抽出したデータ群を用いて、深層学習を行い、主観評価予想の推論モデルを出力する学習部として機能する(例えば、図3のS39参照)。主観評価については、詳しくは後述するが、概略、主観評価は、ロジカルに客観的に判定できないような評価、および/または様々な要因が複雑に影響しあっているために、全体の評価が出来ないような評価である。また、この学習部は、評価を表す値が所定値より高いデータ群と低いデータ群をデータベースの中から、それぞれ抽出し、深層学習を行い、推論モデルを出力する。
通信部26は、通信回路(受信回路および/または送信回路を有する)を有し、外部画像DB21の通信部22とデータの送受信を行う。また通信部26は、カメラ10の通信部14ともデータの送受信を行う。通信部26は、ユーザの意図する写真を表すリクエストを撮像装置から受信する受信部として機能する(例えば、図3のS31参照)。また通信部26は、学習部から出力された推論モデルを撮像装置に送信する送信部として機能する(例えば、図3のS43、S49参照)。この送信部は、アドバイス情報を撮像装置に送信する(例えば、図8BのS151参照)。通信部26は、学習部から出力された推論モデルを外部装置に送信する送信部として機能する(例えば、図3のS43、S49参照)。
母集合作成部27は、後述するカメラの設定部16によって設定されたリクエストに基づいて、最適な母集合を作成する。最適な母集合としては、全ての画像データをそのまま全部使用してもよい。しかし、母集合が大きすぎると、処理に時間が掛かってしまう。また母集合が大きすぎると、過学習となり信頼性が低下してしまう場合がある。そこで、画像の付随情報として送信されてきた国籍、性別等の情報を用いて、全画像データから適当なサイズの母集合を抽出することが好ましい。
例えば、以下のような処理で、外部機器が母集合を作成すればよい。(1)ユーザが希望するテーマに合致した、あるいは近いカテゴリに分類された画像の集合を作成する。(2)次に、その画像集合の中から良い評価のコメントのついた画像をそれ以外と分けて分類する。この時、何らかの定量的な評価を行ってもよい。定量的な評価としては、例えば、コメントの数であったり三つ星とか五つ星とかの重みづけの評価であったり、良い悪い以上の情報があった方がよい。(3)それらのコメントについたハンドルネームやニックネームからコメントした人のプロフィールを分析し、ユーザが指定したプロフィールに合致した、あるいは類似したプロフィールの人が良い評価をした画像をさらに分けて分類する。こうしてユーザが撮りたいと思うテーマで、ユーザが想定した評価者によって良い評価がなされた画像に対して、肯定的なコメントが出るような学習を行うために、こうした画像の集合を良い評価を出してほしい教師データとして、また、その他の画像の集合は肯定的なコメントが出ないような教師データとして、学習の入力を行う。
なお、上記、(1)、(2)、(3)はこの順番で行う必要はなく、順番の変更は可能である。例えば、まずユーザが想定した評価者のプロフィールからハンドルネームを探し、そのハンドルネームの人が良い評価をした画像を探し、さらにその画像の中で、ユーザが撮りたい画像のテーマを探してもよい。また、単に良い評価を出すだけでなく、撮影パラメータの変更等で良い評価になる場合は、パラメータ変更画像を学習済モデルに入れてみて差異を判定、その差異が出る場合は、それをアドバイスとすればよい。
入出力モデル化部28は、所謂人工知能(AI)を用いて深層学習(機械学習)を行う。具体的には、入出力モデル化部28は、母集合作成部27によって作成された画像データの母集合を用い、設定部16によって設定されたリクエストを満たす画像の推論モデルを、深層学習によって生成する。入出力モデル化部28は、図4に示すような構成を有している。入力層Iに母集合作成部27に作成された画像データを入力する。また、出力層Oに、画像の評価結果、例えば、「フランスの20代女性が高い評価を与えた(イイネと評価)」という教師データ(正解)を与える。入力と出力が一致するように、各ニューロンN11〜N2nの結合の強さ(重み付け)を算出することによって推論モデルを生成する。
なお、画像データの母集合が大きいと、深層学習によって推論モデルが完成するまでに相当の時間(母集合の大きさおよび設定部16によって設定されたリクエスト(条件)によっては、何カ月、何年という長期間)がかかる。そこで、母集合の画像データの全てについて推論が終了しない場合であっても、一定レベルの信頼性が期待できる場合には、このとき生成された推論モデルを学習途中モデルとしてカメラに出力するようにしてもよい。深層学習の詳細は、図4を用いて後述する。
制御部29は、CPU(Central Processing Unit)、周辺回路、メモリ等を有し、CPUはメモリに記憶されたプログラムに従って、学習部25内の各部を制御する。
なお、制御部17、29内のCPUの周辺回路の全部または一部をCPU(Central Processing Unit)とプログラムコードによって実現するようにしてもよく、DSP(Digital Signal Processor)等のプログラムコードで実行される回路で実現するようにしてもよく、ヴェリログ(Verilog)によって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またハードウエア回路によって実行するようにしても勿論かまわない。また、CPUの機能の一部をDSP等のプログラムコードで実行される回路で実現するようにしてもよく、ヴェリログによって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またハードウエア回路によって実現するようにしてもよい。
次に、図2および図3に示すフローチャートを用いて、本実施形態における動作を説明する。
図2はカメラ10における動作を示し、制御部17がメモリに記憶されたプログラムに従って、図2に示すフローチャートを実行する。カメラ制御のフローが開始すると、まず、撮影モードか否かを判定する(S1)。本フローにおいては、カメラ10は、撮影モードと学習モードの2種類のみを記載する。しかし、これらのモード以外にも、再生モード等、他のモードを実行できるようにしてもよい。操作部材(不図示)によって学習モードが設定されていなければ、撮影モードと判定される。なお、学習モードは、ユーザが設定部16によって、学習部25に推論モデルの生成を依頼するモードである。
ステップS1における判定の結果、撮影モードであった場合には、画像入力を行う(S3)。このステップでは、画像入力部11が画像データを取得する。この取得された画像データに基づいて、表示部15にスルー画像が表示される。
画像を入力すると、次に、推論を行う(S5)。ここでは、推論エンジン12が、入力した画像データに対して、入出力モデル化部28が生成した推論モデル(後述するS27で取得)を用いて、推論を行う。推論エンジン12は、前述した図4に示すような構成をしている。この推論エンジンの入力層Iは画像入力部11が取得した画像データを入力し、各ニューロンN11〜N2n間の結合の強さ(重み付け)として、記憶部13に記憶されている推論モデルを設定する。この推論エンジン15の出力層Oからの出力が、推論結果となる。
推論を行うと、次に、推論結果を表示する(S7)。ここでは、制御部17は、ステップS5で行った推論結果を表示部15に表示する。例えば、学習部25に対するリクエストが、「フランスの20代女性から評価を受ける写真」に応じた付随情報を含んでいれば、ステップS3で入力した画像が、このリクエストに合致するか否か、即ちある一定数以上の第三者の高い評価(「イイネ」)を得られるか否かが、表示部15に表示される。
なお、入出力モデル化部28において、最初に学習用母集合として設定した画像データについて深層学習が終了せず、再設定した画像データの母集合について学習途中モデルが生成されてカメラ10に送信され、推論エンジン12が学習途中モデルを用いて推論する場合がある。この場合には、学習途中モデルを用いたことが分かるように表示を行う。また、推論モデルが現在のスルー画表示されている画像に適していない場合には、推論ができないこと等の警告表示を行うようにしてもよい。また、推論の結果、第三者からの高い評価が得られない場合には、高い評価が得られるような写真撮影を行うためのアドバイス表示を行うようにしてもよい。
推論結果の表示を行うと、次に、撮影するか否かを判定する(S9)。ここでは、制御部17が、カメラ10のレリーズ釦が全押しされたか否かに基づいて判定する。ユーザは、撮影を行うか否かあたって、ステップS7における推論結果の表示を参考にすることができる。また、アドバイス表示を参考にして撮影を行うようにしてもよい。このステップでの判定の結果、撮影でない場合には、ステップS1に戻り、前述の動作を実行する。
ステップS9における判定の結果、撮影であった場合には、撮影を実行する(S11)。ここでは、制御部17が、適正露出となるように露出制御を行い、画像入力部11で入力した画像データに、記録用の画像処理を施し、画像処理された画像データを記録媒体に記録する。撮影を行うと、ステップS1に戻り、前述の動作を実行する。
ステップS1に戻り、このステップにおける判定の結果、撮影モードでない場合には、推論モデル等を取得か否かについて判定する(S21)。ユーザは、第三者が高い評価(「イイネ」)を与える写真、例えば「フランスの20代女性から評価を受ける写真」等を撮影したい場合には、ユーザは外部機器20内の学習部25にユーザが設定部16で設定したリクエストを送信する。そして、学習部25から推論モデルをカメラ10に返信してもらい、カメラ10はこの推論モデルを用いて、第三者が高い評価を与える写真か否かについて表示する(S7参照)。ステップS21では、ユーザがこの推論モデルを取得したいか否かについて判定する。ユーザはタッチパネルや操作部材等によって学習モードを設定するので、制御部17は、これらの操作状態に基づいて判定する。この判定の結果、推論モデル等の取得ではない場合には、ステップS1に戻り、前述の動作を行う。
一方、ステップS21における判定の結果、推論モデル等を取得する場合には、次に、リクエスト等を設定する(S23)。ユーザは、学習部25に、深層学習を依頼する場合には、ユーザの意図に応じた撮影を行うために、設定部16においてリクエストを設定する。このステップでは、これらのリクエストの設定を行う。リクエストは、前述したように、第三者から高い評価を受けるために設定する項目(付随項目)である。この付随項目は、評価する第三者の国籍、性別、年齢層等の評価者のプロフィール(「フォロワプロフィール」ともいう)や、風景、人物、料理等、写真のテーマである(これらを総称して「ターゲットプロフィール」ともいう)。前述したように、シーンはテーマとして扱える場合があり、同様に、シーンやテーマは、ターゲットプロフィールとして扱える場合がある。なお、リクエストは、フォロワプロフィールやテーマに限らず、ユーザの意図する写真を表す条件であれば、これらの条件を適宜含めてもよい。また、リクエストは、ユーザの意図する画像そのもので設定してもよい。
続いて、学習を依頼する(S25)。このステップでは、ステップS23において設定したリクエスト、具体的には、国籍、性別、テーマ等の付随情報で設定されるリクエストが、通信部14を通じて、外部機器20内の学習部25に送信される。リクエストを受信した学習部25は推論モデルの作成を行う。具体的推論モデルの作成は、図3に示すフローチャート用いて後述する。概略すると、まず、受信したリクエスト中のターゲットフォロアに基づいて、母集合作成部27が母集合となる画像データを抽出する(図3のS33、S35等参照)。続いて、入出力モデル化部28が深層学習によって推論モデルを作成する(図3のS37、S39等参照)。
また、ステップS25において、前述したように、深層学習が全ての画像データについて終了しなくても信頼度のある推論モデルが生成できた場合には、この途中の推論モデル(学習途中モデル)を送信するように要求してもよい。
学習を依頼すると、次に、推論モデル、または学習途中モデルを取得し、記録する(S27)。前述したように、ステップS25において、カメラ側から学習を依頼すると、学習部25は深層学習によって推論モデルを作成する。推論モデルが生成されると、この推論モデルを外部機器20はカメラ10に送信してくるので(図3のS43)、このステップでは受信した推論モデルを学習成果物13aとして記憶部13に記録する。
深層学習は、時間がかかることが多い。しかし、深層学習が全ての画像について終了しなくても、学習部25は、再設定された画像データの母集合である程度の信頼度の高い推論モデル(学習途中モデル)を生成することができる(図3のS41、S45)。そこで、カメラ10から学習部25に学習途中モデルが生成されれば送信するように予め要求しておけば(S23)、学習部25は、ある程度信頼度の高い推論モデル(学習途中モデル)が生成されると、この学習途中モデルをカメラ10に送信してくる(図3のS49)。カメラ10はこの学習途中モデルを取得し、記録する。推論モデル等を取得し、記録すると、ステップS1に戻り、前述の動作を実行する。
このように、カメラ制御のフローにおいては、ユーザがリクエスト(ターゲットプロフィール)等を設定し(S23)、これを外部機器20の学習部25に送信し(S25)、学習部25から推論モデルを取得する(S27)。そして、この推論モデルを用いて、撮影動作の準備中に(スルー画表示中)、取得した推論モデルを用いて、画像を評価することができ(S5)、ユーザの意図する写真となるかについてのアドバイスを得ることができる(S7)。深層学習を利用した推論モデルを用いていることから、膨大なデータをベースにした判断を行うことができ、ユーザは、意図する写真を容易に撮影することができる。ターゲットプロフィールを適切に設定すれば、狙いとする人々に評価の高い画像を得ることができる。
また、推論モデルは深層学習が全ての画像データについて終了していなくても、所定数の画像データを用いて深層学習を行うことにより所定の信頼度の高い推論モデルができれば、この推論モデルを学習途中モデルとして取得し(S27)、使用している(S5、S7)。このため、ターゲットプロフィール等を設定してから、短時間で学習途中モデルを取得し、推論エンジン12によって推論することができる。
次に、図3は外部機器20における動作を示す。制御部29がメモリに記憶されたプログラムに従って、図3に示すフローチャートを実行する。外部機器の制御フローが開始すると、まず、学習依頼か否かについて判定する(S31)。前述したように、ステップS25において、カメラ10は通信部14を通じて、外部機器20の学習部25に学習を依頼する。この判定の結果、学習依頼がない場合には、待機状態となる。
ステップS31における判定の結果、学習の依頼があった場合には、学習母体の設定を行う(S33)。外部画像DB21および使用可能な外部画像DBの全画像データを学習用の母集合としてもよい。しかし、ここでは、効率よく学習するために、ユーザからのリクエストに基づいて、外部の画像データベースの中から深層学習の対象とする画像データを抽出して学習母体を設定する。
続いて、フォロワプロフィールから母集合の絞り込みを行う(S35)。設定部16において設定されたリクエストには、深層学習の際にターゲットとする画像を「イイネ」と評価したフォロワのプロフィールが含まれている場合がある。この場合には、フォロワプロフィールを用いて母集合の絞り込みを行ってもよい。また、リクエストにフォロワのプロフィールが含まれていない場合には、リクエストに含まれる付随情報に基づいて評価の高い画像を抽出し、この画像のフォロワのプロフィールを取得する。フォロワのプロフィールが分かれば、このステップで、この情報を用いて学習用の母集合の絞り込みを行う。
次に、フォロー画像の判定を行う(S37)。ここでは、制御部29が、母集合の画像データの中からユーザが設定部で設定したリクエストに合致する画像、すなわち第三者の評価が高い画像(「イイネ」と評価された画像)であるか否かを判定する。この判定でテーマに合致すると判定された画像(フォロー画像)が、入出力モデル化部28における深層学習の入力画像となる。
次に、深層学習を行い、推論モデルを生成する(S39)。ここでは、入出力モデル化部28が、設定された母集合に対して、フォロー画像を用いて深層学習を行い、推論モデルを生成する。
推論モデルの生成を開始すると、フォロー画像の特徴判定が特定規模の回路で演算できるか否かについて判定する(S41)。母集合の大きさ、またフォロー画像の数および特徴、また深層学習を行うための回路規模によっては、深層学習を行うための時間が相当長くなる場合がある。ここでは、制御部29が、ユーザが推論モデルの生成時間として通常、許容できる時間内に演算が終了するか否かを判定する。
ステップS41における判定の結果、特定規模の回路で演算ができるのであれば、推論モデルを送信する(S43)。ここでは、入出力モデル化部28が深層学習によって推論モデルの生成を完了すると、この生成された推論モデルをカメラ10に送信する(図2のS27参照)。
一方、ステップS41における判定の結果、特定規模の回路で演算ができない場合には、学習母体の再設定を行う(S45)。母集合作成部27は、学習母体となる画像データが多すぎることから、再度、リクエスト(付随情報等)を用いて、深層学習の対象となる母集合を変更し、再設定する。
学習母体を再設定すると、次に、学習途中でも送信可の要求があるか否かを判定する(S47)。前述したように、深層学習には時間がかかることが多い。そこで、前述したように、ユーザは、ある程度の高い信頼度で推論モデルが生成されれば、この学習途中モデルを送信することを要求している場合がある(図2のS25)。このステップでは、制御部29は、この要求がなされているか否かを判定する。このステップでの判定の結果、送信要求がない場合には、ステップS39に戻る。
なお、ある程度の高い信頼度での推論モデルであるか否かは、LOSS値が閾値より低いか否かで判定してもよい。LOSS値は、予め解答が分かっている練習問題で深層学習を行った場合に、深層学習で生成された推論モデルでの推論結果と、予め分かっている解答との差異である。深層学習による推論モデルをどのような評価方法を採用するかは、学習装置の信頼性に影響を与える。本実施形態においては、LOSS値を用いて、学習装置を評価する。
LOSS値は、概略、下記のようにして測定する。信頼性測定用の画像として、推論モデルを生成のために使用した画像とは異なっている画像を用意し、この信頼性判定用の画像を用いてLOSS値を測定する。「イイネ」と評価された信頼性測定用画像を100枚、推論エンジンに入力し、推論モデルによる推論を行う。この場合、100枚とも「イイネ」と評価されると、入力画像の「イイネ」と推論結果が100%一致していることから、このときの推論モデルのLOSS値は0となる。一方、同じ100枚の入力画像で、90枚について「イイネ」と推論されると、LOSS値は100−90=10となる。従って、LOSS値は、推論した結果がどれくらい失敗するか(どれくらい正解とはならないか)を表す値となる。つまり正解として出力されるか否かの誤差といえる。推論モデルのLOSS値が0に近づくように、学習させるコンテンツを変更したり追加したり、レイヤーの数や繋がりなどを調整する。LOSS値を測定し、目的を達することに相応しい所定の結果が得られるよう調整して、学習成果物を得る。なお、推論モデルの信頼性を評価できれものであれば、LOSS値に限らず、他の評価指標を使用するようにしてもよい。
一方、ステップS47における判定の結果、送信要求が有る場合には、学習途中モデルをカメラ10に送信する(S49)。ここでは、学習母体を再設定し、この範囲である程度の高い信頼度での推論モデルが生成されたことから、この学習途中モデルをカメラ10に送信する。学習途中モデルを送信した後も推論モデル生成のための深層学習を行い、推論モデルが生成されると、カメラ10に送信する(S43)。なお、学習途中モデルを送信した場合には、推論モデルの生成を終了しても構わない。この場合には、ステップS43をスキップして、ステップS31に戻る。
このように、外部機器の制御フローにおいては、学習依頼を受けると、まず画像データベースに格納されている画像データから、母集合を設定する(S33)。そして、リクエストを用いて深層学習を行うための入力用の画像を設定し(S37)、深層学習を開始し推論モデルの生成を行う(S39)。膨大な数の画像データの中から、ユーザが設定したリクエスト(付随情報(ターゲットプロフィール、フォロワ―プロフィール、画像のテーマ等))を用いて、推論モデルを生成している。このため、ユーザの狙いとする写真を撮影することが容易となる。
また、深層学習は、母集合の画像データの数、入力用の画像の数や特徴、また深層学習用の入出力モデル化部28の回路規模によって、相当の時間がかかる場合にある。しかし、母集合として設定した全ての画像データについて深層学習ができなくても、再設定した画像データの母集合について深層学習を行えば、ユーザが満足する程度の信頼度の推論モデルを、学習途中モデルとして生成することができる。本実施形態においては、この学習途中モデルが生成できれば、その時点で学習途中モデルを送信することができる。
次に、図4を用いて、深層学習を行う入出力モデル化部28の構成について説明する。この入出力モデル化部28は、入力層Iと出力層Oの間に中間層(ニューロン)が配置されている。この中間層としては、何層かのニューロンN11〜N1n、N21〜N2n、・・・が配置されている。ニューロンの層の数は設計上適宜決められ、また各層におけるニューロンの数も設計上適宜決められる。
入力層Iには、ステップS37において設定されるフォロー画像が入力され、出力層Oには、教師データ(正解)が与えられる。入力層Iに画像データが入力された際に、出力層Oから教師データ(正解)が出力されるように、各ニューロンと各ニューロンの結合の強さ(重み付け)が、それぞれ学習によって決定される。推論モデルとしては、学習によって得られた各ニューロンと各ニューロンの結合の強さ(重み付け)が出力される。なお、入力層Iに入力される画像は、リクエスト(付随情報)を満たす画像データの集団に絞っておき、出力層Oの教師データとしては、第三者から高い評価(「イイネ」評価)を与えるようにしてもよい。
このように、本発明の第1実施形態においては、ユーザは、カメラ10において、ユーザの希望する写真に関するリクエストを設定し、外部機器20内に設けられた学習部25にリクエストを送信する。学習部25は、画像データの母集合を選択し、入出力モデル化部28が深層学習を行い、ユーザのリクエストに応じた推論モデルを生成し、カメラ10に返信する。カメラ10は受信した推論モデルを用いて、画像を評価する。一般に、深層学習では予め学習済みの推論モデルを用意しておくが、本実施形態においては、ユーザのリクエストに応じて、推論モデルを生成している。このため、ユーザの個々の状況に応じた推論モデルを用いて、画像を評価することができる。そして、ユーザは推論モデルによる評価結果を参考することにより、ユーザの意図に合致した撮影を容易に行うことができる。
また、本実施形態においては、リクエストを外部装置から受信する受信部(通信部26)を設けて、そのリクエストに合致し、それぞれのデータごとに主観評価に差異のある評価情報(付随情報)を含むデータをデータベースの中から抽出し、この抽出したデータ群を用いて、深層学習を行っている。本実施形態においては、主観評価に差異のある評価情報として、投稿画像に対する第三者の「イイネ」という意思表示を利用していた。しかし、「イイネ」に限らず、評価者の主観評価を表すような情報(例えば、評価者の気に入った程度を表す情報(レベル1〜nの評価))であれば、本実施形態においても採用することができる。
主観評価は、具体的にここが良い、悪いとロジカルに客観的に判定できないような評価、および/または様々な要因が複雑に影響しあっているために(相乗効果)、部分的にはロジカルに説明できたとしても、その要因だけで全体の評価が出来ないような評価を含んでいる。本実施形態における学習装置は、この主観評価を含む判定結果が予想できるような学習を行うようにしている。このため、学習装置の学習部25は、参照すべき主観情報を含むリクエストを受け付け、このリクエストに合致し、データごとにリクエストに対応する主観評価に差異のある評価情報を含むデータ(ここでは画像)をデータベースの中から抽出している。そして、この抽出したデータ群を用いて、深層学習を行い、主観評価を予想する推論モデルを出力している。この学習部25から出力される推論モデルを、外部装置が受信して利用すると、ユーザが気づき難かった、あるいは予測出来なかった第三者の反応を先取りした写真を撮影することができる。
なお、本実施形態においては、撮影前のスルー画表示の際に推論モデルを用いて推論していた。しかし、これに限らず、撮影済みの画像を再生表示する際に、推論モデルを用いて、リクエストに合致した画像か否かを判定するようにしてもよい。この結果を、外部画像DBに写真を投稿するか否かの参考にすることができる。また、スルー画表示中に推論モデルによる推論結果を常時表示すると、ユーザは被写体に集中できなくなるおそれがある。そこで、ユーザから推論結果表示の要求があった場合に、表示するようにしてもよい。
次に、図5ないし図8Bを用いて、本発明の第2実施形態について説明する。第1実施形態では、ユーザがリクエストを設定すると、学習部25がリクエストに応じて深層学習を行い、この学習結果(推論モデル)をカメラに送り返し、カメラ10は学習結果を用いて、画像の評価を行っていた。これに対して、第2実施形態は、学習部25において複数のテーマおよび/またはフォロワプロフィール等を用いて、予め複数の推論モデルを生成しておく。そして、カメラ10の現在の状況(撮影のテーマ等を含む)および/またはカメラ10に記録されている画像等に基づいて、学習部25は複数の推論モデルの中から最適な推論モデルを選択してカメラ10に送信する。
図5は、第2実施形態に係る学習システムの主として電気的構成を示すブロック図を示す。この学習システムもカメラ10と外部機器20とからなる。外部機器20の詳細を図5に示し、カメラ10の詳細を図6に示す。外部機器20は、各事業者が運営する画像の公表用サーバであってもよい。このサーバは、制限なしに画像を公表してもよく、また会員等のみに公表する場合等、公表範囲を制限するものでもよい。画像記録部140、モデルDB130、および制御部110は、同一の機器内に配置されていなくてもよく、三者は通信によって連携するようにしてもよい。また、画像記録部140は複数設けられていてもよく、制御部110が、複数の外部の画像記録部140に、通信部120を通じてアクセスし、画像データに関する情報を入手することができればよい。
外部機器20は、制御部110、通信部120、モデルデータベース(モデルDB)130、画像記録部140を有する。外部機器20内の各部110〜140は、サーバ30内に全てが設けられていてもよく、また外部機器20内の各部110〜140の内の一部が、サーバ30内に設けられ、他は外部のサーバ等に設けられていてもよい。
制御部110には、アクセス判定部111、表示制御部112、傾向判定部113、イイネモデル学習部114が設けられている。制御部110は、CPU(Central Processing Unit)、周辺回路、メモリ等を有し、CPUはメモリに記憶されたプログラムに従って、外部機器20の各部を制御する。外部機器20内の各部110〜140は、主としてプログラムによって実現されるが、一部または全部をハードウエア回路によって実現するようにしてもよい。
制御部110は、撮影状況および/または撮影画像に基づいて、複数の推論モデルの中から、ユーザに最適な推論モデルを選択する選択部として機能する(例えば、図8BのS143、S145参照)。この選択部は、撮像装置の撮影状況および/または撮影画像から、ユーザの傾向を判定し、この判定結果に基づいて最適な推論モデルを選択する(例えば、傾向判定部113、図8BのS141〜S145参照)。
アクセス判定部111は、ユーザAが使用するパーソナルコンピュータ(PC)200から外部機器20にアクセスが有ったか否かを判定する。表示制御部112は、画像記録部140内に記録された画像をPC200で表示させる際や、イイネモデル学習部114によって学習された結果をPC200で表示させる際等の表示を制御する。
傾向判定部113は、カメラ10(またはPC200)に記録されている画像データを分析し、ユーザAの画像の傾向を判定する。例えば、撮影対象、撮影対象の位置、撮影対象の大きさ、撮影方向(横向きか、正面向きか、見上げての撮影か等)、撮影時の焦点距離、露出制御値等、種々の観点から、撮影画像の傾向を判定する。また、傾向判定部113は、ユーザAの画像の傾向を判定すると、モデルDB130に記憶されている第1イイネモデル〜第nイイネモデルの中から、ユーザAの画像の傾向に最も近いイイネモデルを検索し、この検索されたイイネモデルをPC200に送信する。
イイネモデル学習部114は、図4に示したような入力層I、中間層N11〜N2n、出力層Oを有し、推論モデルを算出する。すなわち、イイネモデル学習部114は、前述の入出力モデル化部28と同様に、深層学習を行って、イイネ画像を得るための推論モデルを生成する。前述したように、イイネ画像は、インターネット等にアップされた画像の中で、第三者が「イイネ」等の高評価を与えた画像である。
また、イイネモデル学習部114は、ガイド情報33を作成する。ガイド情報33は、カメラ10の表示部8に、スルー画表示と共に推論結果が表示される際であって、第三者による評価が高くないと予測される場合、第三者による評価を高くするためのアドバイスである。このガイド情報33は、推論結果とスルー画の差異に応じた指示がなされる。このガイド情報33は、深層学習によって生成するようにしてもよい。また、ガイド情報33は、第三者から高い評価を受けた画像の例(サンプル画像)であってもよい。
イイネモデル学習部114が学習のために入力する大量の画像は、画像毎にどのような評価のものであるかが分かるような情報が関連付けられて取得される。このため、イイネモデル学習部114は、評価の良い画像と悪い画像の画質や構図や表情や色合いなどの差異についても深層学習することができる。もちろん、特定の関係に注目して機械学習するようにしても良い。例えば、同じような画像で評価の良いものと悪いものがあれば、その差異などを提示できるようにすれば簡単なガイドになる。スルー画表示の画像が、悪い評価の画像に近い場合には、類似の対象物で評価の高い画像の例を表示するだけで、ユーザにとって貴重なガイド情報となる。あるいは、評価の良い画像と悪い画像の差異が撮影パラメータの差異に基づいていたり、使用機材の性能の差異であれば、その差異を提示してもガイド表示となる。また、評価の差が構図の違いに基づいているなら評価の低い画像が高い画像に近づき差異がなくなるようなフレーミングのアシスト情報がガイド表示となる。
このようなガイド表示は、以下のような推論エンジンをイイネモデル学習部114に設けることによって得ることができる。例えば、評価が低いということが分かっている特定数の画像を推論エンジンに入力した時に、「何らかの警告が出る」という出力を設定して9割以上が狙い通り「何らかの警告が出る」という結果となるようなガイド用推論エンジンを得るようにしてもよい。また、評価が高いと分かっている特定数の画像を入力した時に、「何らかのOK情報が出る」という出力を設定して8割以上が思い通りの結果(「何らかのOK情報)となるようなガイド用推論エンジンを作成するようにしてもよい。これらのガイド用推論エンジンは、このような理想との差異をLOSS値として、学習を行う。
上述したようなガイド用推論エンジンがガイド情報33を作成する。対象物によって、あるべき理想の撮影が分かっている場合は、その差異をガイド情報としてもよい。この場合は、対象物がどのようなカテゴリであるかを検出する対象物同定用推論エンジンを併用してもよい。対象物同定用推論エンジンを作成する学習は、その特定対象物の画像が100枚ある場合に、この100枚の内、90枚を判定し、一方、該当しない対象物の画像が入力された時、100枚の内、90枚が該当しない対象物と判定するような学習を行う。すなわち、特定の誤差(特定のLOSS値)を狙った学習を行う。この同定用推論エンジンによって対象物を分類し、その対象物の分類結果に従ってデータベース等から検索された理想の撮影と現状の設定との差異を提示してもよい。なお、状況に応じて、これらのガイド用推論エンジンや対象物同定用推論エンジンを使い分けても良い。
イイネモデル学習部114は、第三者から所定の評価がされる画像を画像データベースの中から抽出し、この抽出した画像用いて、深層学習を行い、複数の推論モデルを生成する学習部として機能する(例えば、図8BのS123〜S135参照)。この学習部は、分類分けに係りなく全分野の画像データの画像データベースの中から、第三者から所定の評価がされる画像を抽出して深層学習を行う(例えば、図8BのS123〜S127参照)。この学習部は、特定の分類に属する画像データについて、第三者から評価されることが所定値より多くなると、特定の分類に属する画像を抽出して深層学習を行う(図8BのS129〜S133参照)。なお、所定値は、ユーザのリクエストの対象となる画像のテーマ等によって、第三者から評価される数が大きく変動することから、リクエストの内容等、種々の事情に応じて適宜設定すればよい。
通信部120は、通信回路を有し、ネット400を通じてPC200と通信を行うことができる。なお、カメラ10と直接、通信するようにしても勿論かまわない。通信部120を通じて、PC200から撮影画像31を取得し(撮影画像のアップロード)、またイイネモデル学習部114が生成したモデル情報(推論モデル)32をPC200に送信する。また、モデル情報32に基づく画像を撮影するためのアドバイスを表示するためのガイド情報33もPC200に送信する。モデル情報32及びガイド情報33を受信したPC200は、カメラ10に推論モデルおよびガイド情報を出力することができる。
通信部120は、ユーザの意図する写真を表すリクエストを撮像装置から受信する受信部として機能する。また通信部120は、学習部から出力された推論モデルを撮像装置に送信する送信部として機能する(例えば、図8BのS151参照)。この送信部は、アドバイス情報を撮像装置に送信する(例えば、図8BのS151参照)。通信部120は、撮像装置の撮影状況および/またはユーザの撮影画像を撮像装置から受信する受信部として機能する(例えば、図8BのS141参照)。また、通信部120は、選択部によって選択された最適な推論モデルを撮像装置に送信する送信部として機能する(例えば、図8BのS151参照)。
画像記録部140は、画像データベース(DB)であり、ユーザAに限らず多数のユーザが撮影画像を画像記録部140に格納可能である。図5に示す例では、画像記録部140には画像データ141として、犬の画像141b、猫の画像141cが、分類分けされて、多数記録されている。すなわち、画像データベースに記録されている画像データは、分類分けされている。分類分けは例示であり、これ以外にも種々の分類がある。
それぞれの画像141b、141dの内、「イイネ」が付された画像には、人気情報142が関連付けられている。また、付随情報143として画像の撮影情報(例えば、Exif(Exchangeable Image File Format)情報)等が関連付けられ、また人気情報142が関連付けられている場合には、画像の投稿者情報、「イイネ」を付与した人のプロフィール情報、フォロア情報等、種々の情報が関連付けられている。
モデルデータベース(DB)130には、第1イイネモデル131〜第nイイネモデル13nが記憶されている(図5参照)。このモデルDB130に記憶されているイイネモデルは、イイネモデル学習部114によって既に学習された推論モデルである。
第1イイネモデル131には、画像特徴入力131a、第1特徴抽出131b、第1特徴学習131c、出力131dが記憶されている。この第1イイネモデル131は、図4に示した学習モデルに対応している。第1画像特徴入力131aは、入力層Iに入力される画像の特徴である。第1特徴抽出131bは入力層Iに入力された画像データの内から抽出される画素の位置、輝度、色等の情報である。第1特徴学習131cは、各ニューロン間での結合の強さ(重み付け)である。出力131dは、深層学習の結果が記憶されている。前述したように、傾向判定部113は、ユーザAのカメラ100に記録されている画像の傾向を調べ、ユーザAの好みに近い、またユーザAに推奨するイイネモデルを検索し、PC200に送信する。
次に、図6を用いて、カメラ10の構成について説明する。カメラ10は、画像処理及び制御部1、撮像部2、時計部3、記録部4、アクセサリ情報取得部5、操作判定部6、姿勢センサ7a等のセンサ、表示部8、通信部9等を有する。
画像処理及び制御部1には、表示制御部1a、記録制御部1b、撮影時情報付与部1cが設けられている。画像処理及び制御部1は、CPU(Central Processing Unit)、周辺回路、メモリ等を有し、CPUはメモリに記憶されたプログラムに従って、カメラ10の各部を制御する。また、画像処理及び制御部1内の各部1a〜1cは、主としてプログラムおよび周辺回路によって実現されるが、全部を周辺回路によって実現するようにしてもよい。また、画像処理および制御部1は、画像処理回路を有し、撮像部2から入力した画像データに画像処理を施す。
表示制御部1aは、スルー画表示、再生表示、推論結果の表示、ガイド表示等を表示部8に表示する際に、表示制御を行う。スルー画表示は、撮像部2からの画像データに基づいて行う被写体の動画表示である。再生表示は、記録部4内の撮影画像記録部に記録された画像データを読出して行う表示である。推論結果の表示は、学習結果記録部4bに記録された推論モデルを用いて行った推論の結果の表示である。ガイド表示は、ガイド記録部4cに記録されたガイドの表示である。
記録制御部1bは、記録部4への画像データ等の記録の制御を行う。すなわち、撮影画像を撮影画像記録部4dに記録する。また推論補助部1b1は、外部機器20から送信されてきたモデル情報(推論モデル)32を学習結果記録部4bに記録し、ガイド情報33をガイド記録部4cに記録する。また、カメラ10が推論モデルを用いて推論した際にアドバイスを採用した場合には、これらの情報も記録する(図7のS67参照)。
撮影時情報付与部1cは、状況部1c1、設定部1c2、バージョン情報1c4、推論部1c5を有する。状況部1c1は、カメラ10の撮影情報、例えば、焦点距離、焦点位置、露出制御値(絞り値、シャッタ速度値、ISO感度値等)、被写体の種類、被写体の大きさ、被写体の光線の当たり具合、アクセサリの装着・使用状態等、種々の撮影状況を示す情報を取得する。
設定部1c2は、図2の設定部16と同様に、ユーザAがイイネを取得したいテーマに関連するリクエスト情報を設定する。この設定されたリクエスト情報は、通信部9を通じて外部機器20に送信される。外部機器20のイイネモデル学習部114は、このリクエスト情報に基づいて、深層学習を行い、学習結果の推論モデルはカメラ10に送信される。また、このときの推論の際の画像の特徴等は第nイイネモデルとしてモデルDB130に記録される。バージョン情報1c4は、例えば、交換レンズ等のアクセサリバージョン情報である。
推論部1c5は、図2の推論エンジン12と同様に、外部機器20からの推論モデルを用いて、推論を行う。スルー画表示中になされた推論結果は、表示部8に表示される。ユーザAは、推論結果を参考にすることにより、設定部1c2で設定した意図に応じた撮影が可能となる。推論部1c5は、画像入力部によって入力した画像データが、受信部で受信した推論モデルによって、第三者から評価されるか否かを判定する推論部として機能する(例えば、図7のS57参照)。
撮像部2は、図2の画像入力部11と同様に、撮影レンズ、撮像素子、撮像制御回路、画像データ処理回路等を有し、被写体の画像データを生成する。この画像データは、画像処理及び制御部1において画像処理が施される。また、撮像部2は、撮影レンズの画角情報、距離情報等の情報を画像処理及び制御部1に出力する。これらの情報は、状況部1c1が、撮影状況を判定する際に使用する。なお、カメラ10に装着されている撮影レンズが交換レンズの場合には、交換レンズ情報5bを入力してもよい。
アクセサリ情報取得部5は、交換レンズ情報部5bを有する。交換レンズ情報部5bは、交換レンズの焦点距離情報、焦点位置情報、絞り値情報、バージョン情報等を有する。また、交換レンズ情報以外にも、例えば、装着されたストロボ装置の情報等、カメラのアクセサリ情報であればよい。アクセサリ情報取得部5は、取得した情報を画像処理及び制御部1に送信する。状況部1c1は、取得した情報も用いて状況を判定する。
時計部3は、計時機能およびカレンダー機能を有する。撮像部2から出力される画像データは、日時情報等が関連付けられる。
通信部9は、通信回路を有し、PC200と通信を行う。カメラ10は、通信部9を通じて、直接または間接的に、撮影画像を外部機器20に送信し、モデル情報32、ガイド情報33を受信する。操作判定部6は、レリーズ釦、ダイヤル、操作釦等、種々の操作部材の操作状態を判定し、判定結果を画像処理及び制御部1に出力する。通信部9は、撮影状況および/または画像記録部に記録された画像を、学習装置に送信する送信部として機能する(例えば、図7のS81参照)。通信部9は、撮影状況および/または画像記録部に記録された画像に基づいて、学習装置によって生成された推論モデルの内から選択された最適な推論モデルを受信する受信部として機能する(例えば、図7のS87参照)。
姿勢センサ7aは、加速度センサ、ジャイロ等でもよく、カメラ10の姿勢を検出する。GPS(Global Positioning System)7bは、カメラ10の位置を衛星測位システムによって測定する。方位センサ7cは、方位磁石を有し、カメラ10の撮影レンズが向いている方向を検出する。姿勢センサ7a、GPS7b、および方位センサ7cの出力は、画像処理及び制御部1に出力され、状況部1c1は、これらのセンサの出力に基づいて、カメラ10の状況を判定する。姿勢センサ7a、GPS7b、および方位センサ7cの全てを備えてもよいが、いずれかを省略してもよい。
表示部8は、図2の表示部15と同様に、表示パネル等を有し、撮像部2において取得した画像データに基づく表示を行う。また、表示部8は、推論部1c5における推論結果の表示を行う。また、表示部8は、ガイド記録部4cに記録されているガイド情報に基づく表示を行うようにしてもよい。表示部8は、設定部1c2において設定したリクエストを図1(b)に示すように表示を行うようにしてもよい。タッチパネル8bは、表示部8の前面側に設けられ、ユーザAが表示部8の表示面をタッチしたことを検出する。この検出結果は、画像処理及び制御部1に出力される。
記録部4は、学習結果記録部4b、ガイド記録部4c、撮影画像記録部4dを有する。学習結果記録部4bは、設定部1c2によって設定され、イイネモデル学習部114によって深層学習された結果(推論モデル、または学習途中モデル)を記録する。また、学習結果記録部4bは、状況部1c1によって検出されたカメラ10の状況に応じて、傾向判定部113が推奨した学習結果(推論モデル)も記録する。
ガイド記録部4cは、外部機器20から送信されてきたガイド情報33を記録する。このガイド表示はイイネモデル学習部114で深層学習された生成された推論モデルを実行する際に、ユーザAへの参考となるガイド表示である。ガイド記録部4は、ガイド表示を行うためのデータを記録する。ガイド表示としては、露出制御値、焦点距離等の撮影操作にあたってのアドバイスの他、「イイネ」と評価されるようなサンプル画像であってもよい。
なお、制御部110、画像処理及び制御部1内のCPUの周辺回路の全部または一部をCPU(Central Processing Unit)とプログラムコードによって実現するようにしてもよく、DSP(Digital Signal Processor)等のプログラムコードで実行される回路で実現するようにしてもよく、ヴェリログ(Verilog)によって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またハードウエア回路によって実行するようにしても勿論かまわない。また、CPUの機能の一部をDSP等のプログラムコードで実行される回路で実現するようにしてもよく、ヴェリログによって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またハードウエア回路によって実現するようにしてもよい。
次に、図7ないし図8Bに示すフローチャートを用いて、本実施形態に係る学習システムの動作について説明する。
図7に示すフローチャートはカメラ10における動作を示し、画像処理および制御部1がメモリに記憶されたプログラムに従ってフローチャートを実行する。カメラ制御のフローが開始すると、まず、撮影モードが否かを判定する(S51)。本実施形態においては、撮影モードがデフォルトモードであり、操作部材等によって他のモードが設定されていなければ、画像処理及び制御部1は、撮影モードと判定する。
ステップS51における判定の結果、撮影モードであれば、次に、各種センサを起動し、アクセサリの判定を行う(S53)。ここでは、画像処理及び制御部1は、姿勢センサ7a、GPS7b、および方位センサ7c等のセンサを起動し、センサ検知結果を入力する。また、画像処理及び制御部1は、アクセサリ情報取得部5からの情報に基づいて、カメラ10にアクセサリ(例えば、交換レンズ)が装着されているか否かの判定を行う。交換レンズから焦点距離等の各種情報を取得する。
次に、撮像を行い、スルー画を表示させる(S55)。ここでは、撮像部2は画像データを取得し、画像処理及び制御部1は画像処理を行い、表示部8にスルー画を表示させる。
続いて、推論を行う(S57)。後述するように、外部機器20からイイネモデル学習部114によって生成された推論モデルを受信しているので(S87参照)、このステップでは、推論部1c5が、受信した推論モデルを用いて、推論を行う。ここでの推論は、例えば、スルー画表示されている画像が、ユーザAが設定したリクエスト(条件)の下でで、第三者から高い評価(「イイネ」と評価)を受ける可能性があるか否かについて行われる。
推論を行うと、次に、特定条件に合致するか否かについて判定する(S59)。ここでは、スルー画表示やアクセサリ(例えば、交換レンズ)が、ユーザAが設定した特定条件(リクエスト)と合致しているかを判定する。
ステップS59における判定の結果、特定条件に合致する場合には、対応ガイドUI(User Interface)表示を行う(S61)。ここでは、推論部1c5における推論の結果が、第三者による高い評価(「イイネ」と評価)を受けると予想される場合には、表示部8に、スルー画と共に、「ユーザAが設定した条件に合致し、「イイネ」と評価されそうである」ことを表示する。また、合致とは、完全合致でなくてもよい。この場合には、完全合致されるための撮影について、ガイド表示を行うようにしてもよい。
一方、ステップS59における判定の結果、特定条件に合致しない場合には、特に、その旨を表示しない。しかし、「イイネ」と評価されそうにない場合に、ガイド記録部4cに記録されているガイド情報33に基づいて表示を行うようにしてもよい。この場合のガイド情報としては、このテーマなら、どのように撮影すれば「イイネ」と評価されるかのアドバイスを行う。例えば、イイネと評価される画像と、現在のスルー画の差分をアドバイス表示としてもよい。また、「イイネ」と評価されるサンプル画像を表示するようにしてもよい。
ステップS61において対応ガイドUI表示を行うと、またはステップS59における判定の結果、特定条件に合致しない場合には、次に、撮影するか否かを判定する(S63)。ここでは、カメラ10のレリーズ釦が全押しされたか否かに基づいて判定する。ユーザAは、撮影を行うか否かあたって、ステップS61における対応ガイドUI表示を参考にすることができる。この判定の結果、撮影でない場合には、ステップS51に戻り、前述の動作を実行する。
ステップS63における判定の結果、撮影の場合には、次に、アドバイスを採用して撮影するか否かを判定する(S65)。ユーザAは、ステップS61において表示された対応ガイドUI表示に従って撮影を行う場合には、操作部材またはタッチパネルによってその旨を表示する。または、絞り、シャッタ速度、撮影方向、焦点距離等、対応ガイドUI表示に従ったことを各種センサ出力および/または操作部材等の操作状態に基づいて判定できた場合には、自動的にアドバイスを採用したと判定するようにしてもよい。
ステップS65における判定の結果、アドバイスを採用した場合には、推論補助部1b1は、その時の画像および状況を記録し、また採用ガイド情報を関連付けて記録部4に記録する(S67)。この場合には、画像と撮影状況を記録し、採用したアドバイス(ガイド情報)を画像に関連付けて記録しておく。アドバイスを受け入れるかどうかの結果を蓄積することにより、カメラ10を使用するユーザが好むアドバイスと好まないアドバイスを判定することができる。あえて採用されなかったアドバイスは、ユーザには受け入れがたい内容であると考えられる。このような余計なアドバイスは、そのユーザにとって大きなお世話として、次に同様の状況下においても、同じアドバイスを表示しないようにすればよい。こうしたカスタマイズは、感性的、主観的な要素を判定する推論エンジンに適している。また、採用アドバイスでも、何度も同じアドバイスが表示されることは、ユーザにとって鬱陶しいので、特定の回数以上は表示しないようにしてユーザにストレスを与えないようにしてもよい。例えば、採用情報等を考慮して、ガイド学習時の学習母体の設定を行ってもよい。ガイド用推論エンジンは、ユーザにとって全く受け入れられないアドバイス等を出力しないようなLOSS値を設定して学習を行えば良い。
一方、ステップS65における判定の結果、アドバイスを採用しなかった場合には、画像と状況を記録する(S69)。アドバイスが採用されなかった画像および状況を記録することにより、次の推論の際に参考にすることができる。
ステップS67、またはS69において記録を行うと、次に、所定時間が経過したか否かを判定する(S71)。撮影後、所定時間が経過したか否か、例えば、所謂レックビュー表示時間が経過したか否かについて判定する。この判定の結果、所定時間が経過していない場合には、ステップS63において撮影した画像を表示部8に表示する。一方、判定の結果、所定時間が経過すると、ステップS51に戻り、前述の動作を実行する。
ステップS51に戻り、この判定の結果、撮影モードでない場合には、再生モードであるか否かについて判定する(S75)。再生モードは、記録部4に記録された撮影画像を表示部8に再生表示するモードである。ユーザAが再生釦を操作する等により再生モードを選択することにより、実行される。このステップにおける判定の結果、再生モードが選択された場合には、画像処理及び制御部1は、再生モードで作動する(S77)。再生モードが終了すると、ステップS51に戻る。
ステップS75における判定の結果、再生モードでない場合には、画像送信モードであるか否かについて判定する(S79)。画像送信モードは、カメラ10からPC200を通じて、外部機器20に撮影画像31を送信するモードである。画像送信モードは、ユーザAが画像送信釦を操作する等により設定される。このステップにおける判定の結果、画像送信モードが選択された場合には(図8AのS113参照)、画像処理及び制御部1は送信モードで作動する(S81)。送信モードが終了すると、ステップS51に戻る。
ステップS79における判定の結果、画像送信モードでない場合には、撮影状況データ等を送信する(S83)。画像送信モードでない場合には、残るモード、すなわち推論モデル取得モードとなる。ここでは、状況部1c1が収集した撮影状況、および記録部に記録されている画像に関する情報を、PC200を通じて、外部機器20に送信する。外部機器20は、受信した撮影状況に関する情報に基づいて、ユーザAに最適の推論モデルを検索し、カメラ10に送信する。この最適の推論モデルの検索については、図8Bを用いて後述する。
撮影状況データ等を送信すると、推論モデル等を取得したか否かについて判定する(S85)。前述したように、外部機器20は撮影状況に関する情報に基づいて最適の推論モデルを送り返してくる。
ステップS85における判定の結果、推論エンジン等を取得できない場合には、ステップS51に戻り、前述の動作を実行する。一方、推論エンジン等を取得した場合には、取得した推論モデル等を記録部4に記録する(S87)。
図8Aおよび図8Bに示すフローチャートは、外部機器20における動作を示し、制御部110がメモリに記憶されたプログラムに従ってフローチャートを実行する。画像管理サーバのフローが開始すると、まず、画像鑑賞か否かの判定を行う(S101)。ユーザAがPC200またはカメラ10等において、画像記録部140に記録されている画像を鑑賞したい場合がある。この場合には、PC200等からアクセス判定部111にその旨のアクセスがある。PC200等は、画像管理サーバにアクセスする際に、画像の検索条件等を送信する。
ステップS101における判定の結果、画像鑑賞の場合には、検索条件等でアップされた画像を選択一覧表示する(S103)。この場合には、画像記録部140に記録されている画像の中から、検索条件に従って検索を行う。検索が終わると、表示制御部112は、選択された画像を一覧表示できるようにしてから、PC200等にデータを送信する。
続いて、イイネ画像を選択操作したか否かを判定する(S105)。ユーザAが表示部8に表示された画像の中で、気に入った画像があれば、「イイネ」をクリックし、気に入ったことを送信する。ここでは、ユーザAが「イイネ」と評価したか否かを判定する。
ステップS105における判定の結果、イイネ画像として選択操作した場合には、イイネを選択した人のプロフィールと、画像の関連付けを行う(S107)。ここでは、イイネを選択した人(すなわちユーザA)、イイネと評価された人(すなわち選択された画像の投稿者)、および選択された画像を、関連付ける。特定の人が、特定の人の画像をイイネと評価することが多い場合があることから、イイネを選択した人のプロフィールと、イイネと評価される人のプロフィールの両方を記録しておけば、両者の関係を推測することができる。つまり、投稿した人と評価をした人の関係なども考慮した評価がされることが好ましい。さらに、何にでも高い評価を行うような人や、何があってもなかなか評価しない人もいるので、プロフィール情報は、こうした評価者の性格なども含めるようにしてもよい。例えば、「フランスの若い女性」に評価の高い写真撮影用の推論エンジンと、「フランスのうるさ型の若い女性」に評価の高い写真撮影用の推論エンジンを、備えておき、必要に応じて切り替えてもよい。
こうしたプロフィールは、近年普及のSNSなどでのその人の言動を解析すれば容易に分類できることもある。例えば、老若男女や世代や国籍、出身地域や信仰といった一般的な分類のみならず、趣味や嗜好や、文化的、時代的背景を考慮したもの、サブカルチャー的であって愛好家でしか伝わらないようなカテゴリや、「オタク」の度合いとか、その他の切り口によるプロフィール分析もできる。つまり、こうしたプロフィールを前提としたリクエストも本実施形態によって容易に可能となり、例えば、「日本のアニメファンが好きそうな画像」といったような、「主観的」な言葉で表現した、曖昧な指標に対する要求にも応えられる。
続いて、カテゴライズ等の集計を行う(S109)。ステップS107で各画像と各評価者の関係を判定している。「イイネ」と評価された画像は、様々な人が評価を行っている場合があり、この評価を分析することにより、どのようなプロフィールの人からどのような評価がされているかが分かる。また、評価者と被評価者のプロフィールを分析することにより、どのような分類の画像に高い評価を与えたり、又はどのような分類の画像が高い評価を受けたりするかが判定できる。さらには、このような共通のプロフィールの人は、どのような画像を好む傾向にあるといったカテゴライズ等もできる。ここでのプロフィールに関しては、先に説明したカテゴライズと共に、評価される人と評価される人との、大きな意味での相性とか義理とか縁といった、曖昧な人間関係性も考慮されうる。つまり、「フランスの20歳台の女性が、自分と関係のない人が撮影した画像でもイイネと反応するような画像」といった明確なロジックを欠く、あるいは、その程度なども曖昧な、抽象的ともいえるリクエストであっても、推論ができる。なぜなら、フランスの20歳台の女性の交友範囲などは、SNSの履歴などを用いて分析できるので、関係なさそうな人も判定できる。SNSの話題の変遷や、カリスマ伝道師やファッションリーダ、未来志向の芸術家などの言動などに基づいて、将来の嗜好までを予測したリクエストも可能である。つまり、「来年の夏にイギリスで『イイネ』が増えるであろう服装の画像」というリクエストが出来る。
また、上述の評価ファクタに加えて撮影時の様々な撮影機材情報、アクセサリ情報、日時、位置、仰角、画面明るさ、対象物明るさ、明るさや色の分布、対象物や背景の距離情報なども評価ファクタとなる。本実施形態においては、ネット上で話題になりやすい撮影とか画像を例にして説明している。しかし、撮影や画像に限らず、その他の情報にも応用することができ、例えば、録音機等において、音声周波数レンジ、ダイナミックレンジ、ゲイン、及び/またはデータサイズなどがある。こうして様々な情報が関連付けられた画像はビッグデータとして有効なものとなり、学習用の母体として有効な教師データとなる。もちろん、同様の環境、インフラの下で鑑賞可能でありながら評価されない画像は、評価された画像と同様に分析し、カテゴライズするようにしても良い。
ステップS109において、制御部110は、上述したように、ステップS107において関連付けを行った情報を用いて、分類等を行う。画像の分類としては、画像に添付されている情報(例えば、Exif情報)等に基づいて、撮影時の焦点距離、焦点位置、絞り値、シャッタ速度値、撮影レンズの方向、フラッシュ装置の利用等がある。また画像解析することにより、写真のテーマ、例えば、風景、人物、料理等で分類分けしてもよい。また、画像に投稿者(撮影者)のプロファイルが添付されていれば、投稿者の国籍、性別、年齢層等で分類分けしてもよい。また、画像にコメントが付されていた場合には、このコメントに基づいて分類分けしてもよい。
カテゴライズ等の集計を行うと、次に、終了か否かについて判定する(S111)。ここでは、アクセス判定部111が、ユーザAからのアクセスが終了したか否かを判定する。この判定の結果、終了でない場合には、ステップS103に戻り、前述の動作を実行する。一方、終了の場合には、ステップS101に戻り、前述の動作を実行する。
ステップS101における判定の結果、画像鑑賞でない場合には、カメラ接続か否かについて判定する(S113)。ここでは、カメラ10から直接、またはPC200を介して、画像管理サーバに接続されているか否かを判定する。
ステップS113における判定の結果、カメラ接続の場合には、画像整理か否かについて判定する(S115)。ここでは、画像記録部140に記録されている撮影画像を整理するか、または撮影画像を画像記録部140に記録すると共に整理を行うか否かを判定する。ユーザAは、外部機器20に接続した際に、作業内容を指定することから、この作業内容に基づいて判定する。
ステップS115における判定における判定の結果、画像整理であった場合には、写真整理、フォルダ分け、アルバム作成、投稿等の処理を実行する(S117)。ユーザAが第三者にも画像を鑑賞してもらいたい場合には、画像投稿を行う。このような投稿画像は、SNS等によりコミュニティを作って批評しやすい環境にすることも出来る。前述のように、画像の評価にあたって、評価を行ったり、評価を受けた人同士の人間関係も考慮して評価した方が良いことから、このとき、ユーザAのプロフィールも併せて記録する。プロフィールを記録することにより、単に挨拶がわりの「イイネ」を排除することもできる。しかし、このような「イイネ」を排除しなくても、「イイネ」が多いか又は少ないかが明解な場合は、主観的に評価される画像と評価されない画像を区別することができる。ステップS117における写真整理等を行うと、ステップS101に戻り、前述の動作を実行する。
ステップS113における判定の結果、カメラ接続でない場合には、イイネ画像判定を行う(S121)。ここでは、外部機器20にアクセス可能なユーザのために、推論モデルを生成する作業をステップS121〜S135において実行する。まず、このステップでは、画像記録部140に記録されている画像の中で、第三者から高い評価(「イイネ」と評価)を受けた画像を抽出する。この画像は、イイネモデル学習部114で深層学習する際の入力画像(入力層Iに設定)として使用する。
イイネ画像判定を行うと、次に、全分野深層学習を行う(S123)。ここでは、一般的に、「イイネ」と評価されるための画像の推論モデルを生成するための深層学習を行う。この深層学習は、図4を用いて説明したように、全分野の画像(母集合)を入力層Iに入力した際に、出力層Oからイイネが出力されるように、中間層のニューロンN11〜N2nの結合の強さ、重み付け等を調整する。この調整された中間層のニューロンの結合の強さ、重み付け等が推論モデルである。また、深層学習する際には、撮影状況も推論モデル作成にあたって反映されるようにする。最適な推論モデルを推奨する際に利用するためである(S143参照)。
全分野深層学習を行うと、第1推論モデルを作成する(S125)。深層学習が終了した際の中間層のニューロンの結合の強さ、重み付け等を第1モデルとして、モデルDB部130に記録する。なお、この推論モデルは、汎用性の推論モデルであり、特定カテゴリに適した推論モデルが生成されていない場合には、この汎用性のある推論モデルが外部装置に送信される。
第1推論モデルを作成すると、次に、第1ガイドを作成する(S127)。第1推論モデルを作成すると、この第1推論モデルで写真を撮影できるようにするための第1ガイド情報を作成する。この第1ガイドは、所定の評価される画像と所定の評価されない画像との差異を検出して作成する。この際の検出にあたっては、撮影時や観察時の入力画像を評価するための学習用の推論モデル、また入力画像がいずれのカテゴリに属するかの学習用推論モデルを利用して差異を検出用にしてもよい。いずれにしても、高く評価された画像と高く評価されなかった画像の差異が検出されるような学習を行った推論モデルを作成すればよい。深層学習によって、人間が気づきにくいような特徴まで含めたガイド(アドバイス)を作成することが好ましい。アドバイスとしては、露出制御値(絞り値、シャッタ速度値、ISO感度)、焦点距離、焦点位置、撮影レンズの方向等、種々のアドバイスを含むようにしてもよい。また、第1モデルで撮影できるサンプル写真であってもよい。
ステップS123〜S127において、汎用性の高い一般的な推論モデル(辞書)とガイドが作成できる。しかし、さらに、絞り込まれたリクエストによって、カスタマイズした推論モデルを得るようにしてもよい。つまり、こうしたリクエストを受信する受信部があれば、リクエストから選択されたデータ群を利用した学習で新しい辞書が得られる。これらのデータ群のそれぞれのデータごとに主観評価に差異のある評価情報を含むデータをデータベースの中から収集し、収集されたデータ群を用いて深層学習を行い、新たなリクエストに適合した主観評価予想の推論モデルを作る。こうした学習から出力された推論モデルを外部装置に送信することによって、カスタマイズされた推論モデルが得られる。分かりやすい例で言うと、カメラ10は、第1推論モデルで推論された結果に対して、第nの推論モデルを利用するかどうかを決め、詳細なガイドを出すようにしてもよい。もちろん、汎用的、一般的なガイドと専門的なガイドの両方が出ても良い。ユーザはそれを任意に判断して採用すればよく、その結果はステップS67等でフィードバックするようにすればよい。
第1ガイドを作成すると、次に、特定カテゴリにイイネの数が増加したか否かについて判定する(S129)。例えば、「フランスの20代女性から評価を受ける写真」について、イイネの数が増加するような場合がある。このステップでは、カテゴリごとにイイネの数をウォッチし、この数に基づいて判定する。この判定の結果、特定カテゴリにイイネの数が増加していない場合には、ステップS101戻り、前述の動作を実行する。
ステップS129における判定の結果、特定カテゴリにイイネの数が増加した場合には、特定分野について深層学習を行う(S131)。ここでは、イイネの数が増加した特定カテゴリについて、画像データの母集合を限定し、深層学習を行う。
特定分野の深層学習を行うと、第nモデルを作成する(S133)。深層学習が終了した際の中間層のニューロンの結合の強さ、重み付け等を第nモデルとして、モデルDB部130に記録する。なお、この推論モデルは、複数記録可能であり、第nモデル、第n+1モデル、第n+2モデル、・・・と、順次、追加していく。
第nモデルを作成すると、次に、第nガイドを作成する(S135)。第nモデル(第nの推論モデル)を作成すると、この第nモデルで写真を撮影できるようにするためのアドバイスを作成する。アドバイスとしては、露出制御値、焦点距離、焦点位置、撮影レンズの方向等、種々のアドバイスを含むようにしてもよい。また、第nモデルで撮影できるサンプル写真であってもよい。第nガイドを作成すると、ステップS101に戻り、前述の動作を実行する。
ステップS115に戻り、このステップにおける判定の結果、画像整理でなかった場合には、撮影状況、撮影画像の傾向判定を行う(S141)。ステップS83(図7)において、状況部1c1が収集した撮影状況と、撮影画像記録部4dに記録されている撮影画像が外部機器20に送信されている。このステップでは、傾向判定部113が、カメラ10の撮影状況、およびユーザAの撮影の好みの傾向を判定する。
このステップS115において、現在、ユーザが使用している推論モデルが、撮影者の傾向、嗜好に合っているかどうかを判定することができる。例えば、様々な動物の顔を検出する推論モデルが搭載されていても、昆虫の顔に特化した推論エンジンの方が良い場合がある。ユーザの撮影の傾向(観察用途の場合も含む)を考慮し、嗜好判定をフィードバックし、将来のカスタマイズ用の学習に反映させる場合を考慮して、適宜、撮影した画像を分析できるように記録してもよい。例えば、撮影パラメータと一緒に画像記録してもよいし、撮影に到るまでのカメラの操作や声を出しての撮影補助、フレーミングの分析挙動をスルー画像で分析した結果を画像と関連づけて記録するなど様々なユーザの意図、嗜好情報の取得方法が考えられる。また、画像そのものではなく、撮影した画像のカテゴリの情報を記録したりして、ユーザの嗜好を発信できるような工夫をしてもよい。撮影機器を使用する際に、撮影機器から得られたリアルな利用履歴の情報から、推論モデルを最適化することは実用上好ましい。例えば、カメラであれば、撮影対象が、風景か人物か、動物か、花か、料理か、といった大枠のカテゴリ、さらには、風景は風景でも夜景や花火や夕焼け、日の出等の細分化されたカテゴリがある。また、検査装置であれば、単なる傷や異物の有無の検出か、異物の種別まで検出するか、医療であれば腫瘍の有無と、その腫瘍の病状の判定等のカテゴリがある。このカテゴリ判定は、サーバの大型システムで行えば良い。但し、機器や装置の省エネ設計、それに伴う発熱の問題や携帯性や省スペースを考慮すると、すべての使用状況に対応した推論モデルを無数に持つことは好ましくない。
続いて、最適モデルが有るか否かについて判定する(S143)。傾向判定部113は、ステップS143において傾向判定を行っている。この傾向判定が、第1イイネモデル131、第nモデル13n等のイイネモデルにおける画像特徴入力、特徴抽出、特徴学習等と一致度が高いイイネモデルを検索し、これを最適モデルとする。このステップでは、モデルDB130の中からユーザAに薦める最適モデルが有るか否かについて判定する。
ステップS143における判定の結果、最適モデルが有る場合には、最適モデルを推奨する(S145)。ここでは、ステップS143において抽出したモデルを最適モデルとして設定する。
続いて、ユーザ要求があるか否かを判定する(S147)。ここでは、ユーザAから最適モデルの送信要求があるか否かについて判定する。なお、撮影状況等がユーザAの操作により送信されてきた場合には、自動的にユーザの要求があったと判定してもよい。
ステップS147における判定の結果、ユーザ要求があった場合には、旧モデルとガイドを消去する(S149)。ここでは、前回、送付した旧推論モデルおよび旧ガイドを消去する。旧推論モデル等を消去するのは、省エネ設計、それに伴う発熱の問題や携帯性や省スペースを考慮すると、すべての使用状況に対応した推論モデルを無数に有することは、機器や装置の設計や製造上適切ではないからである。但し、上述の問題点が許される分野の装置であれば消去はしなくてもよい。余計な判断が矛盾する可能性があることから、推論モデルの優先度を下げるような工夫をしてもよい。
続いて、新モデルおよび新ガイドを送信する(S151)。ステップS145において設定した最適モデル(新モデル)と、この最適モデルに基づいて作成したガイドを、カメラ10に送信する。カメラ10では、前述したように、受信した推論モデルおよびガイドを記録する(S87参照)。
新モデルおよび新ガイドを送信すると、またはステップS143における判定の結果、最適モデルがない場合、またはステップS147における判定の結果、ユーザ要求がない場合には、ステップS101に戻り、前述の動作を実行する。
このように、本発明の第2実施形態においては、外部機器20内のイイネモデル学習部114は、画像サーバ等の画像記録部に記録された画像の中で、イイネと評価された画像を用いて、イイネと評価される画像の推論モデルを複数作成している(図8BのS121〜S135参照)。そして、ユーザから撮影状況および撮影画像が外部機器20に送信されると(図7のS83参照)、撮影状況や撮影画像に基づいて最適な推論モデルを探し(図8BのS143、S145参照)、この最適モデルをカメラ10に送信している(図8BのS151参照)。外部機器20は予め複数の推論モデルを用意してあることから、カメラ10から撮影状況等の情報があれば、最適な推論モデルを迅速に返信することができる。
また、特定カテゴリにイイネの数が増加すると、この特定カテゴリについて深層学習を行い、推論モデルを作成している(図8BのS129〜S135)。このため、特定分野に興味を有するユーザに対しても、推論モデルを提供することができる。
以上説明したように、本発明の好ましい実施形態においては、学習装置は、ユーザの意図する写真を表すリクエストを撮像装置から受信し(例えば、図3のS31参照)、リクエストに合致し、第三者から所定の評価がされる画像を画像データベースの中から抽出し、この抽出した画像用いて、深層学習を行い、推論モデルを出力している(例えば、図3のS33〜S39参照)。学習装置は、出力された推論モデルを撮像装置に送信している(例えば、図3のS43参照)。このため、ユーザからの意図を尊重し、かつ第三者から評価される写真を容易に撮影する情報を得ることが可能となる。なお、第三者は、ユーザ自身であっても良い。また、特定の分野の専門家に選択してもらった結果に評価値を付けるようなものでもよい。
また、本発明の好ましい実施形態においては、学習装置は、第三者から所定の評価される画像を画像データベースの中から抽出し、この抽出した画像用いて、深層学習を行い、複数の推論モデルを生成している(例えば、図8BのS121〜S135参照)。また学習装置は、ユーザの意図する写真を表すリクエストおよび/またはユーザの撮影画像を撮像装置から受信し(例えば、図8BのS141参照)、リクエストおよび/または撮影画像に基づいて、複数の推論モデルの中から、ユーザに最適な推論モデルを選択している(例えば、図8BのS143〜S145参照)。そして学習装置は、選択された最適な推論モデルを撮像装置に送信している(例えば、図8BのS151参照)。このため、学習装置は、撮像装置の撮影状況や撮影画像に適合し、かつ第三者から高く評価される写真を容易に撮影する情報を得ることが可能となる。
なお、本発明の好ましい実施形態においては、学習装置における学習は、深層学習を行っていたが、これに限らず、機械学習等の人工知能を利用した学習であれば、よい。また、設定部16(図1)および設定部1c2(図6)は、設定項目を選択し、またテキストを入力することによりリクエストを設定していたが、これに限らず、ユーザが気に入った画像を1つ又は複数指定することによって、深層学習の対象を設定するようにしてもよい。
また、本発明の好ましい実施形態において、学習装置は撮像装置からリクエストを受信していたが、撮像装置に限らず、パーソナルコンピュータ、携帯型情報機器(スマートフォンを含む)等の外部機器から、リクエストを受信するようにしてもよい。この場合、学習装置で機械学習した結果(推論モデル等)は、リクエストを送信した装置に必ずしも送り返す必要はなく、他の外部装置に送信するようにしてもよい。例えば、スマートフォン等の携帯型情報機器において、リクエストを設定して学習装置に送信し、学習装置で機械学習した結果を、カメラ等の撮像装置に送信するようにしてもよい。すなわち、ユーザが携帯型情報機器でリクエストを設定及び送信を行い、カメラが学習装置からリクエストに基づいて生成された推論モデルを受信し、この推論モデルに基づく表示を行うようにしてもよい。
また、本実施形態においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもミラーレスカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォン、携帯情報端末、パーソナルコンピュータ(PC)、タブレット型コンピュータ、ゲーム機器等に内蔵されるカメラ、医療用カメラ、顕微鏡等の科学機器用のカメラ、自動車搭載用カメラ、監視用カメラでも構わない。いずれにしても、画像データを入力可能であり、また外部画像データベースに直接的または間接的にアクセスすることが可能な機器であれば、本発明を適用することができる。
また、本実施形態においては、説明が一般的なコンシューマ市場、さらに「写真」として撮影を行う製品カテゴリ例を主に説明した。しかし、これらに限らず、プロフェッショナル・ユースの撮像とか観察でも応用は可能である。「写真」と書いたところは、こうした言葉に置き換えても何ら問題がない。例えば、工場の作業データなどから不良品を見つける人工知能(AI)においても、作業手順が変わると検知率が低下するので、常に予測モデル(推論モデル)を見直すことが課題となっている。このような不良品検出のための推論モデルも、ユーザ(ここでは工場の品質管理者)の意図する画像を表すリクエストを使用する。また、第三者から所定の評価が画像は、本実施形態における画像の評価を、例えば、専門性の高い検査者が、これは良い、これは悪いと識別した画像群と置き換えるだけで応用が可能となる。この時、良い悪いに重み付けを行えば、実施形態中で説明した、多くの「イイネの数」といった数値化情報を定量化された評価値によって代用できる。ただし、具体的かつ客観的な情報である必要はなく、全体の印象としての主観的判断で良い。
また、本実施形態においては、画像や映像等を例に挙げて説明した。しかし、画像、映像に限らず、良い演奏、良い歌唱についての音声データにも「イイネ」と評価することはできるので、カラオケ等にも適用できる。いわば、人間の五感に関して、「イイネ」に代表される客観的、主観的な善し悪し、あるいは許可、不許可の判定が付けられたデータには、本発明の実施形態は広く適用可能である。つまり、本発明の実施形態における「写真」といった表現を「音声」とか、「五感に働きかける情報」等に拡張する技術も、本願の発明は包含している。こうした画像の「イイネ」は、その写真や動画としての「イイネ」にとどまらず、写っているものや写っているものから感じられる背景を含めての雰囲気をも含めての感想や評価、あるいは得られた効果であるから、写されたものの評価の分析にもなりうる。つまり、表情やポースなど挙動であったり、服装やアクセサリなどの評価であったり、ペットなど動物などの仕草や、天気から街並みなどに到るまで評価することができる。本発明は、特定のターゲットに向けてキャッチーなコンテンツを発信する宣伝・広告分野は言うに及ばず、都市設計、建築からファッション、化粧分野から、教育、医療、科学、産業分野にまで応用を広げることができる。音声などを教育に応用すると、特定のターゲットに好感をもたれる話し方が分かるマイクとか録音機といった新商品も開発が可能となるし、化粧がどの国のどの文化的背景の人に好まれるかがアドバイスできる鏡などを設計することも可能となる。
また、近年は、様々な判断基準を一括して判定できるような人工知能が用いられる事が多く、ここで示したフローチャートの各分岐などを一括して行うような改良もまた、本発明の範疇に入るものであることは言うまでもない。そうした制御に対して、ユーザが善し悪しを入力可能であれば、ユーザの嗜好を学習して、そのユーザにふさわしい方向に、本願で示した実施形態はカスタマイズすることが可能である。
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
また、本発明の一実施形態においては、フローチャートを用いて、本実施形態における動作を説明したが、処理手順は、順番を変えてもよく、また、いずれかのステップを省略してもよく、ステップを追加してもよく、さらに各ステップ内における具体的な処理内容を変更してもよい。
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。