特開2019-211969(P2019-211969A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オリンパス株式会社の特許一覧
特開2019-211969学習管理装置、学習管理サーバ、および学習管理方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2019-211969(P2019-211969A)
(43)【公開日】2019年12月12日
(54)【発明の名称】学習管理装置、学習管理サーバ、および学習管理方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20191115BHJP
   G06N 20/00 20190101ALI20191115BHJP
【FI】
   G06T7/00 350C
   G06N99/00 150
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【全頁数】45
(21)【出願番号】特願2018-106988(P2018-106988)
(22)【出願日】2018年6月4日
(71)【出願人】
【識別番号】000000376
【氏名又は名称】オリンパス株式会社
(74)【代理人】
【識別番号】100109209
【弁理士】
【氏名又は名称】小林 一任
(72)【発明者】
【氏名】羽田 和寛
(72)【発明者】
【氏名】伊藤 大
(72)【発明者】
【氏名】李 禎
(72)【発明者】
【氏名】長 和彦
(72)【発明者】
【氏名】野中 修
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096CA02
5L096HA11
5L096KA04
(57)【要約】
【課題】状況等が変化した場合であっても、推論モデルが適切であるか否かを確認するようにした学習管理装置、学習管理サーバ、および学習管理方法を提供する。
【解決手段】推論モデルを推論エンジンに設定し(S81)、画像データを入力し、推論モデルを用いて、ユーザにガイド表示を行うための出力を得て(S55)、推論エンジンの出力に基づいてガイド表示を行い(S57)、推論モデルの更新について判定し、この判定の結果に基づいて、外部の学習装置に推論モデルの更新を依頼、もしくは推論モデルの更新が必要か否かの判定を依頼する(S63、S69)。
【選択図】 図6
【特許請求の範囲】
【請求項1】
推論モデルを入力する入力部と、
画像データを入力し、上記推論モデルを用いて、ユーザにガイド表示を行うための出力を得る推論部と、
上記推論部の出力に基づいて上記ガイド表示を行う表示部と、
上記推論モデルの更新について確認し、この確認の結果に基づいて、外部の学習装置に上記推論モデルの更新を依頼し、もしくは上記推論モデルの更新が必要か否かの判定を依頼する更新確認部と、
を有することを特徴とする学習管理装置。
【請求項2】
上記更新確認部は、最新の教師データを取得し、この最新の教師データを用いて、現在使用している推論モデルの信頼性を検出し、この信頼性が低い場合には、上記外部の学習装置に上記推論モデルの更新を依頼することを特徴とする請求項1に記載の学習管理装置。
【請求項3】
上記更新確認部は、上記外部の学習装置に上記推論モデルの更新を依頼してから所定の時間が経過すると、外部の学習装置に上記推論モデルの更新を依頼し、もしくは上記推論モデルの更新が必要か否かの判定を依頼することを特徴とする請求項1に記載の学習管理装置。
【請求項4】
上記更新確認部は、現状の変化を監視し、現状が変化した場合に、上記外部の学習装置に上記推論モデルの更新を依頼することを特徴とする請求項1に記載の学習管理装置。
【請求項5】
上記更新確認部は、ユーザが上記ガイド表示を採用せず、操作に反映していな場合に、現状が変化したと判定することを特徴とする請求項4に記載の学習管理装置。
【請求項6】
上記更新確認部は、常時、上記推論モデルの更新が必要か否かについて確認を行うことを特徴とする請求項1に記載の学習管理装置。
【請求項7】
外部装置が、上記推論モデルの更新が必要か否かについて確認を行っており、上記更新確認部は上記外部装置から確認結果に基づいて、判定することを特徴とする請求項1に記載の学習管理装置。
【請求項8】
推論モデルの確認の依頼を入力したか否か、もしくは前回の推論モデルの更新から所定時間が経過したことか否かについて判定する判定部と、
上記判定部によって、上記推論モデルの確認の依頼を入力し、もしくは前回の推論モデルの更新から所定時間が経過したと判定された場合には、データベースから学習母集合を設定する母集合作成部と、
上記母集合作成部で作成した学習母集合を用いて、依頼を受けた推論モデルの信頼性に基づいて、更新の必要性について判定する更新確認部と、
を有することを特徴とする学習管理サーバ。
【請求項9】
上記母集合作成部は、前回の推論モデルを生成した際に使用された条件に基づいて、上記データベースから学習母集合を設定することを特徴とする請求項8に記載の学習管理サーバ。
【請求項10】
推論モデルを学習によって生成する際に、使用可能なデータを蓄積するデータベースと、
上記推論モデルを生成するための学習をおこなってから所定時間が経過したか否かを判定する時間判定部と、
上記時間判定部によって、上記所定時間が経過したと判定された場合に、前回の推論モデルを生成した際に使用された条件に基づいて、上記データベースを検索し、上位データが変動しているか否かを判定する判定部と、
上記判定部によって、上位データが変動していると判定された場合に、上記推論モデルの更新を推奨する推奨部と、
を有すること特徴とする学習管理サーバ。
【請求項11】
推論モデルを学習によって生成する際に、使用可能であり、かつ第三者の評価を含むデータを蓄積するデータベースと、
上記第三者の評価に変化があった否かを判定する判定部と、
上記判定部によって、上記第三者の評価に変化があった場合に、上記推論モデルの更新を推奨する推奨部と、
を有すること特徴とする学習管理サーバ。
【請求項12】
推論モデルを推論部に設定し、
画像データを入力し、上記推論モデルを用いて、ユーザにガイド表示を行うための出力を得て、
上記推論部の出力に基づいて上記ガイド表示を行い、
上記推論モデルの更新について判定し、この判定の結果に基づいて、外部の学習装置に上記推論モデルの更新を依頼、もしくは上記推論モデルの更新が必要か否かの判定を依頼する、
ことを特徴とする学習管理方法。
【請求項13】
最新の教師データを取得し、この最新の教師データを用いて、現在使用している推論モデルの信頼性を検出し、この信頼性が低い場合には、上記外部の学習装置に上記推論モデルの更新を依頼することを特徴とする請求項12に記載の学習管理方法。
【請求項14】
上記外部の学習装置に上記推論モデルの更新を依頼してから所定の時間が経過すると、外部の学習装置に上記推論モデルの更新を依頼、もしくは上記推論モデルの更新が必要か否かの判定を依頼することを特徴とする請求項12に記載の学習管理方法。
【請求項15】
現状の変化を監視し、現状が変化した場合に、上記外部の学習装置に上記推論モデルの更新を依頼することを特徴とする請求項12に記載の学習管理方法。
【請求項16】
ユーザが上記ガイド表示を採用せず、操作に反映していな場合に、現状が変化したと判定することを特徴とする請求項15に記載の学習管理方法。
【請求項17】
常時、上記推論モデルの更新が必要か否かについて確認を行うことを特徴とする請求項12に記載の学習管理方法。
【請求項18】
ソーシャル・ネットワーク・システムと連携可能なコンピュータ組み込み方法であって、
上記ソーシャル・ネットワーク・システムは、コンテンツ・アイテムが随時掲載可能であり、上記掲載されたコンテンツ・アイテムが随時、上記ソーシャル・ネットワーク・システムのユーザから品質評価されることが可能であり、
上記コンピュータ組み込み方法は、上記掲載されたコンテンツ・アイテムのうち、上記品質評価の情報が付随した特定のコンテンツ・アイテムを教師データとしたコンテンツ・アイテムの特徴から上記品質評価を推論する推論モデルが、上記時間的な推移によって追加されたコンテンツ・アイテムの変化やコンテンツ・アイテムの評価傾向の時間的変化によって当初の狙いの推論結果が出力できなくなったことを判定することを特徴とする。
【請求項19】
上記コンテンツ・アイテムを教師データとして使用して機械学習した時の条件を履歴として記録するステップを有し、この記録された履歴に従って、新たな教師データを生成することを推奨することを特徴とする請求項18に記載のコンピュータ組み込み方法。
【請求項20】
特定のユーザが、上記コンテンツ・アイテムを教師データとして使用して機械学習した時の条件を履歴として記録するステップを有することを特徴とする請求項18に記載のコンピュータ組み込み方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置において生成した推論モデルを用いて、推論を行う推論装置において、推論モデルが適切であるかについて確認する学習管理装置、学習管理サーバ、および学習管理方法に関する。
【背景技術】
【0002】
近年、深層学習の利用が進み、画像を深層学習の推論モデルを用いて解析することが提案されている(特許文献1参照)。すなわち、画像データを母集合(教師データ)とし、深層学習を利用して推論モデルを生成し、この推論モデルを用いて、入力画像等を解析してガイド等を行うことが種々提案されている。また、画像データを状況に応じて、変更することについても提案されている(特許文献2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017−091525号公報
【特許文献2】特開2017−173307号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述したように、画像を入力し、推論モデルを用いた推論を行って、ガイド等を行うことは種々提案されている。しかし、推論モデルを生成した後に、状況等が変化し、適切なガイド等を行うことができない場合がある。しかし、従来は、推論モデル生成後の状況変化については考慮されていなかった。
【0005】
本発明は、このような事情を鑑みてなされたものであり、状況等が変化した場合であっても、推論モデルが適切であるか否かを確認するようにした学習管理装置、学習管理サーバ、および学習管理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため第1の発明に係る学習管理装置は、推論モデルを入力する入力部と、画像データを入力し、上記推論モデルを用いて、ユーザにガイド表示を行うための出力を得る推論部と、上記推論部の出力に基づいて上記ガイド表示を行う表示部と、上記推論モデルの更新について確認し、この確認の結果に基づいて、外部の学習装置に上記推論モデルの更新を依頼し、もしくは上記推論モデルの更新が必要か否かの判定を依頼する更新確認部と、を有する。
【0007】
第2の発明に係る学習管理装置は、上記第1の発明において、上記更新確認部は、最新の教師データを取得し、この最新の教師データを用いて、現在使用している推論モデルの信頼性を検出し、この信頼性が低い場合には、上記外部の学習装置に上記推論モデルの更新を依頼する。
第3の発明に係る学習管理装置は、上記第1の発明において、上記更新確認部は、上記外部の学習装置に上記推論モデルの更新を依頼してから所定の時間が経過すると、外部の学習装置に上記推論モデルの更新を依頼し、もしくは上記推論モデルの更新が必要か否かの判定を依頼する。
【0008】
第4の発明に係る学習管理装置は、上記第1の発明において、上記更新確認部は、現状の変化を監視し、現状が変化した場合に、上記外部の学習装置に上記推論モデルの更新を依頼する。
第5の発明に係る学習管理装置は、上記第4の発明において、上記更新確認部は、ユーザが上記ガイド表示を採用せず、操作に反映していな場合に、現状が変化したと判定する。
【0009】
第6の発明に係る学習管理装置は、上記第1の発明において、上記更新確認部は、常時、上記推論モデルの更新が必要か否かについて確認を行う。
第7の発明に係る学習管理装置は、上記第1の発明において、外部装置が、上記推論モデルの更新が必要か否かについて確認を行っており、上記更新確認部は上記外部装置から確認結果に基づいて、判定する。
【0010】
第8の発明に係る学習管理サーバは、推論モデルの確認の依頼を入力したか否か、もしくは前回の推論モデルの更新から所定時間が経過したことか否かについて判定する判定部と、上記判定部によって、上記推論モデルの確認の依頼を入力し、もしくは前回の推論モデルの更新から所定時間が経過したと判定された場合には、データベースから学習母集合を設定する母集合作成部と、上記母集合作成部で作成した学習母集合を用いて、依頼を受けた推論モデルの信頼性に基づいて、更新の必要性について判定する更新確認部と、を有する。
第9の発明に係る学習管理サーバは、上記第8の発明において、上記母集合作成部は、前回の推論モデルを生成した際に使用された条件に基づいて、上記データベースから学習母集合を設定する。
【0011】
第10の発明に係る学習管理サーバは、推論モデルを学習によって生成する際に、使用可能なデータを蓄積するデータベースと、上記推論モデルを生成するための学習をおこなってから所定時間が経過したか否かを判定する時間判定部と、上記時間判定部によって、上記所定時間が経過したと判定された場合に、前回の推論モデルを生成した際に使用された条件に基づいて、上記データベースを検索し、上位データが変動しているか否かを判定する判定部と、上記判定部によって、上位データが変動していると判定された場合に、上記推論モデルの更新を推奨する推奨部と、を有する。
【0012】
第11の発明に係る学習管理サーバは、推論モデルを学習によって生成する際に、使用可能であり、かつ第三者の評価を含むデータを蓄積するデータベースと、上記第三者の評価に変化があった否かを判定する判定部と、上記判定部によって、上記第三者の評価に変化があった場合に、上記推論モデルの更新を推奨する推奨部と、を有する。
【0013】
第12の発明に係る学習管理方法は、推論モデルを推論部に設定し、画像データを入力し、上記推論モデルを用いて、ユーザにガイド表示を行うための出力を得て、上記推論部の出力に基づいて上記ガイド表示を行い、上記推論モデルの更新について判定し、この判定の結果に基づいて、外部の学習装置に上記推論モデルの更新を依頼、もしくは上記推論モデルの更新が必要か否かの判定を依頼する。
【0014】
第13の発明に係る学習管理方法は、上記第12の発明において、最新の教師データを取得し、この最新の教師データを用いて、現在使用している推論モデルの信頼性を検出し、この信頼性が低い場合には、上記外部の学習装置に上記推論モデルの更新を依頼する。
第14の発明に係る学習管理方法は、上記第12の発明において、上記外部の学習装置に上記推論モデルの更新を依頼してから所定の時間が経過すると、外部の学習装置に上記推論モデルの更新を依頼、もしくは上記推論モデルの更新が必要か否かの判定を依頼する。
【0015】
第15の発明に係る学習管理方法は、上記第12の発明において、現状の変化を監視し、現状が変化した場合に、上記外部の学習装置に上記推論モデルの更新を依頼する。
第16の発明に係る学習管理方法は、上記第15の発明において、ユーザが上記ガイド表示を採用せず、操作に反映していな場合に、現状が変化したと判定する。
第17の発明に係る学習管理方法は、上記第12の発明において、常時、上記推論モデルの更新が必要か否かについて確認を行う。
【0016】
第18の発明に係るコンピュータ組み込み方法は、ソーシャル・ネットワーク・システムと連携可能なコンピュータ組み込み方法であって、上記ソーシャル・ネットワーク・システムは、コンテンツ・アイテムが随時掲載可能であり、上記掲載されたコンテンツ・アイテムが随時、上記ソーシャル・ネットワーク・システムのユーザから品質評価されることが可能であり、上記コンピュータ組み込み方法は、上記掲載されたコンテンツ・アイテムのうち、上記品質評価の情報が付随した特定のコンテンツ・アイテムを教師データとしたコンテンツ・アイテムの特徴から上記品質評価を推論する推論モデルが、上記時間的な推移によって追加されたコンテンツ・アイテムの変化やコンテンツ・アイテムの評価傾向の時間的変化によって当初の狙いの推論結果が出力できなくなったことを判定する。
【0017】
第19の発明に係るコンピュータ組み込み方法は、上記第18の発明において、上記コンテンツ・アイテムを教師データとして使用して機械学習した時の条件を履歴として記録するステップを有し、この記録された履歴に従って、新たな教師データを生成することを推奨する。
第20の発明に係るコンピュータ組み込み方法は、上記第18の発明において、特定のユーザが、上記コンテンツ・アイテムを教師データとして使用して機械学習した時の条件を履歴として記録するステップを有する。
【発明の効果】
【0018】
本発明によれば、状況等が変化した場合であっても、推論モデルが適切であるか否かを確認するようにした学習管理装置、学習管理サーバ、および学習管理方法を提供することができる。
【図面の簡単な説明】
【0019】
図1A】本発明の第1実施形態に係る学習管理システムの全体構成および学習管理方法を示すブロック図である。
図1B】本発明の第1実施形態に係る学習システムにおける推論モデル形成のための構成を示すブロック図である。
図2】本発明の第1実施形態に係る学習管理システムを、工業用内視鏡に適用した場合において、工業用内視鏡を検査対象物に挿入する際の画像変化を示す図である。
図3】本発明の第1実施形態に係る学習管理システムにおいて、画像取得装置の制御動作を示すフローチャートである。
図4】本発明の第1実施形態に係る学習管理システムにおいて、推論モデルの取得動作を示すフローチャートである。
図5】本発明の第2実施形態に係る学習システムの主として電気的構成を示すブロック図である。
図6】本発明の第2実施形態に係る学習システムにおけるカメラの動作を示すフローチャートである。
図7】本発明の第2実施形態に係る学習システムにおける外部機器の動作を示すフローチャートである。
図8】本発明の第2実施形態に係る学習システムにおける画像管理の動作を示すフローチャートである。
図9】本発明の第3実施形態に係る学習システムの主として電気的構成を示すブロック図である。
図10】本発明の第3実施形態に係る学習システムにおけるカメラの主として電気的構成を示すブロック図である。
図11A】本発明の第3実施形態に係る学習システムにおけるカメラの動作を示すフローチャートである。
図11B】本発明の第3実施形態に係る学習システムにおけるカメラの動作を示すフローチャートである。
図12A】本発明の第2実施形態に係る学習システムにおける画像管理サーバの動作を示すフローチャートである。
図12B】本発明の第3実施形態に係る学習システムにおける画像管理サーバの動作を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、本発明の第1実施形態として、学習管理システムに適用した例について、図1Aないし図4を用いて、説明する。
【0021】
図1Aは、学習装置において、推論モデルを生成するための構成を示す。この学習装置は、例えば、ソーシャル・ネットワーク・システムと連携し、ソーシャル・ネット・ワーク上に掲載されたコンテンツ・アイテム(ユーザ投稿の写真やブログなど)に、第三者が「イイネ!」などの品質評価(主観評価に限る必要はない)が書き込めるような環境を想定している。このような環境下では、掲載されたコンテンツ・アイテムのうち、品質評価の情報が付随した特定のコンテンツ・アイテムは、どのようなコンテンツ・アイテムがどのような評価を得るかを推論するときの教師データとして使用するために、ソーシャル・ネット・ワークからコンテンツ・アイテムとその評価結果を取得することが可能となる。したがって、取得した教師データを用いて、コンテンツ・アイテムの特徴と、品質評価の関係を推論するための機械学習を、コンピュータなどによって行うことが可能である。この学習結果で得られた推論エンジンを用いることによって、これから投稿されるコンテンツ・アイテムがどのような評価を得るかの予想が可能となる。
【0022】
上述のソーシャル・ネットワーク・システムは、コンテンツ・アイテムが随時、投稿や掲載可能であり、また掲載されたコンテンツ・アイテムは、随時、ソーシャル・ネットワーク・システムのユーザから(好みを含めて)品質評価されることが可能である。このため、新しい革新的なコンテンツ・アイテムの登場や、新しい評価者の加入や、その他、オピニオンリーダーの加入によってフォロワの傾向が変化する場合がある。このように状況が時間と共に変化するので、推論エンジンは時代遅れとなっていく。例えば、状況が変わっているのに、古いデータで学習してしまう場合もある。この場合は、教師データは、すでに時代遅れのデータセット(旧データセット)となっていたりする。
【0023】
図1Aにおいて、学習装置200Aには、データセットA、Bからからなる旧データセット201Aを教師データとして、推論エンジン203A(ネットワークのデザイン(層数))が学習を行い、推論モデルを生成する。すなわち、旧データセット201Aは、入力データ(画像データ等)と、出力結果の組合せからなる教師データである。学習開始部204Aは、教師データの入力データ(画像データ等)を推論エンジン203Aに入力した際に、教師データの出力結果と一致するように、推論エンジン203Aに学習を実行させる。推論モデルは、学習を実行した結果であり、推論エンジン203A内のニューロンの結合の強さや重み付けである。なお、推論エンジン203Aの構成については、図1Bを用いて後述する。
【0024】
推論モデルが生成された後、推論エンジン203Aは、入力部205Aから、画像データ等の入力データを入力し、出力部206Aからの推論結果を出力する。学習管理制御部207Aは、推論結果の信頼性を判定する。この推論結果の信頼性は、図1Aに右下のグラフに示すように、時間が経過するにつれて、増々低下する。時代遅れが始まると、この低下スピードは予想外に大きくなる場合がある。
【0025】
例えば、旧データセット201Aとして、「イイネ」と評価された画像データを用いて、推論モデルを生成したとする。この場合には、推論エンジン203Aは、入力部205Aに画像データが入力されると、「イイネ」と評価されるような画像を撮影できるようなガイドを行うことができる。しかし、推論モデルを生成した後、インターネットにアップロードされた画像の評価者の好みが変化した場合には、旧データセット201Aによって生成された推論モデルでは、評価されるような画像を撮影することができなくなる場合がある。この場合には、最新の「イイネ」画像A’を入力しても、「イイネ」と評価されず、信頼性B’が低下してしまう。
【0026】
学習管理部207Aは、信頼性が低下すると、学習装置200B(図1では、200Bと200Aは同じでもよいが、分かりやすくするために、200Bで示す)に対して、学習用データを新しいデータセット201Bに変更する。推論エンジン203Bは、このデータセット201Bを教師用データとして、学習を行い、推論モデルを再生成する。この再生成された推論モデルは、外部出力部205Bから出力され、外部にある画像取得装置210等内の推論エンジン203に入力される。再生成された推論モデルを使用することにより、推論結果の信頼性は、一定のレベルを保つことができる。
【0027】
次に、図1Bを用いて、先に触れた深層学習を行う推論エンジン203A、203B、203の構成について説明する。この推論エンジン203は、入力層Iと出力層Oの間に中間層(ニューロン)が配置されている。この中間層としては、何層かのニューロンN11〜N1n、N21〜N2n、・・・が配置されている。ニューロンの層の数は設計上適宜決められ、また各層におけるニューロンの数も設計上適宜決められる。なお、推論エンジン203A、203B、203は、ハードウエア回路で構成されたチップでもよく、また、ソフトウエアによって実現するようにしてもよい。
【0028】
深層学習を行う際には、入力層Iには、教師用データの内の画像データ等の入力データが入力され、出力層Oには、教師用データの内の正解が与えられる。入力層Iに画像データが入力された際に、出力層Oから正解が出力されるように、各ニューロンと各ニューロンの結合の強さ(重み付け)が、それぞれ学習によって決定される。推論モデルとしては、学習によって得られた各ニューロンと各ニューロンの結合の強さ(重み付け)が出力される。なお、入力層Iに入力される画像データは、所定の条件に従って画像データの集団に絞っておき、出力層Oの正解データとしては、第三者から高い評価(「イイネ」評価)を与えるようにしてもよい。
【0029】
次に、図2を用いて、画像取得装置として、工業用内視鏡で画像を取得する場合の動作について、説明する。先に、ソーシャル・ネットワーク・システムにおいて評価を付する環境の例を説明した。しかし、本願の発明は、このシステムにとどまるものではないので、ここではあえて、その環境下でなくとも本願の発明が実施できる例をあげる。時間とともに、推論エンジンが時代遅れとなることは、第三者の評価、という点のみならず、検査する対象物が時代によって設計や材質が変わる場合がある。検査を実施する機械も、機種変更があったり、マイナーチェンジがあったり、利用できるアクセサリが変わったり、また使用する人の癖などが世代によって変わったりするからである。
【0030】
図2は、本実施形態を管311の中を観察する工業用内視鏡301に応用した場合の教師画像の例を示す。図2(a)は、管311の中に、工業用内視鏡301が挿入され、管壁に衝突した状態を示し、図2(b)は、管311の中を工業用内視鏡301が挿入され、直進していく状態を示す。
【0031】
工業用内視鏡301の挿入部302は、可撓性を有して管状である。挿入部302は、先端側から順に、先端部302a、湾曲部302b、可撓管部302cを有している。湾曲部302bは、例えば、図示しない複数の湾曲駒を有している。湾曲部302bは、湾曲自在であり、ユーザの手元操作によって、任意の方向に曲げることができる。先端部302aには、図示しないCCD(Charge Coupled Device)イメージセンサ、又はCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の撮像素子、および図示しない照明部を有する撮像部303が設けられている。
【0032】
管311は、管311aと管311bの2つの管から構成され、管311aと管311bが継ぎ目312において継ぎ合わされている。図12に示す例においては、継ぎ目312の内側にリング状の錆313が発生し、内側に隆起している。
【0033】
図2(a)(b)は、錆313の状態を観察するために、工業用内視鏡301の挿入部302を管311に挿入した様子を示す。図2(a)は、挿入部302の先端部302aを錆313の観察位置に上手く移動させることができず、管壁に衝突した場合を示す。一方、図2(b)は、挿入部302の先端部302aを管の中で直進させ、上手く移動させることができた場合を示す。
【0034】
図2(a)の下部に示した画像P1〜P8は、工業用内視鏡301の撮像部303において取得した画像を示す。画像P1〜P3は、管311の入り口部付近における画像であり、管311の遠方が暗くなっている(黒丸参照)。画像P4は、時刻T=0において取得した画像であり、遠方を示す黒丸の外側に錆313が見える。
【0035】
時刻T1において、挿入部302の先端部302aを下方に向けて移動し、そのまま進むと(時刻T1〜T3、画像P5〜P7)、最後には、先端部が錆313に衝突してしまう(時刻T4、画像P8)。この場合には、錆313を上方から観察することができない。
【0036】
図2(b)においては、時刻T0以前に取得される画像は、図2(a)の場合と同じである。時刻T1において、先端部302aは、管311の中を直進し、錆313の真上付近を通過することから、画像の中心が暗くなっており、その外側に錆313が円周状に見える。さらに、時刻T2において、先端部302aは、錆313の上を通過することから、錆313は見えなくなり、画像の中心が暗くなっているだけである。
【0037】
このように、工業用内視鏡301を管311に挿入し、内部を観察する場合には、適切に操作しないと、図2(a)に示すように、管壁に衝突等を起こし、内部を観察することができない。しかし、図1で説明したように、教師用の画像データを用いて、推論エンジンの推論モデルを生成することにより、ガイド表示を行うことが可能となる。
【0038】
しかし、管311の内部は変化し、また工業用内視鏡301の撮像部や挿入部等は更新されることがあり、推論モデルを用いたガイド表示の信頼性が低下することがある。そこで、本実施形態においては、学習管理制御部207Aが、信頼性が低下した場合等において、新たな教師データを用いて、学習装置に推論モデルの更新を依頼するようにしている。
【0039】
次に、図3および図4に示すフローチャートを用いて、第1実施形態に係る学習管理システムの動作について説明する。図3に示すフローチャートは、画像取得装置210の制御動作を示す。このフローチャートに示す画像取得装置210は、図2に示すような工業用内視鏡301に適用した例である。
【0040】
図3に示すフローが開始すると、まず、必要に応じて、推論モデルを取得し、履歴を記録する(S1)。ここでは、画像取得装置210の推論エンジンが使用する推論モデルを、必要に応じて取得する(図4のS47参照)。既に取得済みであれば、または取得済みで、かつ更新の必要がなければ、取得処理は行わない。また、履歴としては、推論モデルを取得した場合には、取得日、使用機器の種別、推論モデルのバージョン、推論モデルの用途、推論モデルの対象物、推論モデルが有効な条件等の履歴を記録する。
【0041】
続いて、画像を入力し、表示し、推論を行う(S3)。ここでは、撮像部303によって、画像データを入力し、この画像データに基づいて、表示部に表示を行う。ユーザは、この表示によって管311内の様子を観察することができる。また、推論エンジン203によって、ガイド表示のための推論を行う。
【0042】
次に、画像を仮記録する(S5)。ここでは、ステップS3において取得した画像を工業内視鏡301内のメモリに仮記録する。後述するステップS7、S9等においては、ここで仮記録した画像の変化に基づいて、推論を行う。
【0043】
画像の仮記録を行うと、次に、画像を比較し、変化を検出したか否かを判定する(S7)。ここでは、仮記録された直近と、その前に仮記録された画像を比較する。そして、比較結果に基づいて、画像が変化しているか否かを判定する。例えば、図2(a)における画像P1〜P3の間には変化がなく、一方、画像P3とP4の間には変化があり、同様に、P4とP5、P5とP6、・・・の間でも画像が変化している。
【0044】
ステップS7における判定の結果、変化を検出した場合には、変化前後の画像変化を用いて推論を行う(S9)。ここでは、変化前と、変化後の画像の変化分を、推論エンジン203に入力し、推論結果を得る。例えば、図2(a)に示されるように、挿入部302の先端部302aが移動している場合に、画像がP4〜P5、P5〜P6のように変化していくと、管壁に衝突してしまうと推論することができる。一方、図2(b)に示されるように、挿入部302の先端部302aが移動している場合に、画像がP14〜P15、P15〜P16のように変化していくと、管壁に衝突することなく、直進していくと推論することができる。画像変化に基づいて推論を行うと、推論結果に基づくガイドを表示する。
【0045】
続いて、変化が順調か否かを判定する(S11)。このステップでは、ステップS9における推論結果に基づいて、順調に変化しているか否かを判定する。例えば、図2(a)の画像P4〜P8に示されるような場合には、管壁に衝突すると推論され、このような場合には順調とは判断されない。一方、一方、図2(b)の画像P11〜P16に示されるように、管内を直進すると推論される場合には、順調と判断される。
【0046】
ステップS11における判定の結果、順調に変化していない場合には、警告表示を行う(S13)ここでは、順調に変化していないことから、ユーザに操作を慎重にするように、警告表示を行う。警告表示を行うと、次に、警告の動作を継続しているか否かを判定する(S15)。このステップでは、警告表示していたにも関わらず、ユーザが行っていた操作をそのまま継続し、何かトラブル(例えば、衝突等)があったか否かを判定する。
【0047】
ステップS15における判定の結果、動作を継続していた場合には、撮影を行い、警告を無視したことを記録する(S17)。警告表示を行ったにも関わらず、ユーザが無理に動作を続けたことにより、機器や対象物を破損してしまうことがある。そこで、このステップでは、その責任の所在を証拠として記録するために、撮影を行い、警告を無視したことを記録する。
【0048】
一方、ステップS15における判定の結果、動作を継続しなかった場合には再学習を依頼する(S19)。警告が無視されることなく、ユーザが動作を変更した場合には、推論モデルが、現状に一致しなくなってきた可能性がある。例えば、工業用内視鏡の撮像部303が取り替えられた場合、挿入部302の材質が異なっている場合、または管311の内部状況が大きく変わった等、種々の事情がありうる。このような場合には、推論モデルを更新するために、学習装置200に再学習を依頼する(図4の31参照)。
【0049】
ステップS17において警告を無視したことを記録すると、またはステップS19において再学習を依頼すると、またはステップS7における判定の結果、画像が変化しなかった場合、または画像が順調に変化していた場合には、次に、撮影操作がなされたか否かを判定する(S21)。ここでは、撮像部303によって静止画像(または動画像)を取得するための操作がなされたか否かを判定する。この判定の結果、撮影操作がなされていない場合には、ステップS3に戻る。
【0050】
ステップS21における判定の結果、撮影操作が行われた場合には、撮影を行い、記録する(S23)。ここでは、撮像部303によって画像データを取得し、この画像データに画像処理を施し後に、記録媒体等に画像データを記録する。画像データを記録すると、ステップS3に戻る。
【0051】
次に、図4に示すフローチャートを用いて、推論モデル取得の動作について説明する。この推論モデル取得は、学習装置200の学習管理制御部207A内のCPU(Central Processing Unit)等のプロセッサが、記憶部に記憶されたプログラムに従って、学習装置内の各部を制御することによって実現される。
【0052】
図4に示す推論モデル取得のフローが開始すると、まず、再学習依頼か否かについて判定する(S31)。前述したように、画像取得装置210は、推論モデルの信頼性が低下するような状況になると、学習装置200に再学習を行って新たな推論モデルを作成することを、通信部を通じて依頼してくる。このステップでは、画像取得装置から、再学習の依頼があったか否かについて判定する。
【0053】
ステップS31における判定の結果、再学習の依頼がない場合には、挿入時画像変化を母集合とする(S33)。ここでは、画像取得装置210(工業用内視鏡301)が、ステップS5またはステップS19において、取得した画像データの中から、管311への挿入時の画像の変化、すなわち画像の差分データを抽出し、この差分データを母集合とする。
【0054】
一方、再学習依頼があった場合には、学習履歴に従い母集合を刷新する(S35)。このステップでは、ステップS1において記録した学習履歴を参照し、母集合を刷新する。すなわち、前回、推論モデルを生成した後において、推論結果の信頼性が低下した時点以降等の画像を母集合にする等によって、母集合を新たに生成し直す。この母集合の刷新にあたっては、学習履歴に基づいて、現在、観察した画像に類似しているかに基づいて母集合を作成する。すなわち、前回の学習時よりも後の画像であって、現在の画像に類似する画像を母集合とすることによって、信頼性の高い推論モデルを生成することができるからである。また、履歴情報を見て、現在の状況からかけ離されていない場合や、教師データが足りない場合は、一部の母集合を入れ替えるだけでもよい。
【0055】
ステップS33またはS35において、母集合を生成すると、次に、挿入OK時の画像変化を教師画像化する(S37)。このステップでは、母集合の画像の中から、図2(b)に示すように、工業用内視鏡301を管311に挿入した際に、順調に移動させることができた場合の画像の変化を抽出し、この画像と挿入OKを関連付け、教師用データとする。
【0056】
次に、挿入NG時の画像変化を区別して教師画像化する(S39)。このステップでは、母集合の画像の中から、図2(a)に示すように、工業用内視鏡301を管311に挿入した際に、順調に移動させることができなかった場合の画像の変化を抽出し、この画像と挿入NGを関連付け、教師用データとする。
【0057】
続いて、推論モデルを生成する(S41)。ここでは、ステップS37およびS39において抽出した画像を教師用データとし、学習装置200が推論モデルを生成する。すなわち、推論エンジン203は、結果がOKであった場合、NGであった場合のそれぞれの入力画像に対して、結果が一致するように、中間層の各ニューロンの結合の強さ(重み付け)を算出し、算出結果を推論モデルとして出力する。
【0058】
推論モデルを生成すると、依頼データがあれば、推論を行う(S43)。ここでは、ステップS37、S39における教師画像以外の依頼データがあれば、この依頼データを用いて、推論を行う。すなわち、外部データベース等に記録され、結果が分かっている依頼データがあれば、そのデータを入力し、ステップS41において生成した推論モデルを用いて、推論を行う。また、依頼データとしては、外部データに記録されているデータに限らず、新規に取得し結果が分かっているデータでもよく、また依頼状況下での試行錯誤の結果、上手くいった場合等のデータも教師用データとして使用できる。ステップS41において生成した推論モデルは、これらの依頼データを用いて、正しく推論されなければならないので、実際に即した画像群データ(依頼データ)を用いるのがよい。この推論を行うことによって、ステップS41において生成した推論モデルの信頼性を予測することができる。
【0059】
続いて、推論の信頼性が所定の値以上か否かを判定する(S45)。ここでは、ステップS41において生成した推論モデルの信頼性を判定する。信頼性の判定は、例えば、LOSS値等を算出し行う。LOSS値は、予め解答(例えば、挿入時OKまたはNG)が分かっている練習問題で深層学習を行った場合に、深層学習で生成された推論モデルでの推論結果と、予め分かっている解答との差異である。予め解答が分かっている練習問題としては、ステップS43における依頼データを用いてもよく、また記録されている挿入時の画像(教師画像以外の画像)を用いてもよい。これ以外にも、先の依頼データを使って検証し、うまく行く場合のデータでは、OKを表示し、うまく行かなかった場合のデータでは、必ずNGを表示するようになれば、推論モデルの信頼性が良いといった判定もできる。
【0060】
ステップS45における判定の結果、信頼性が所定の値以上ない場合には、学習母集合の再設定を行う(S49)。信頼性が低いのは、ステップS41において推論モデルを生成した際に使用した画像データの母集合が適当でなかった可能性がある。そこで、このステップでは、母集合を変えてみる。この場合には、学習履歴に基づいて、適切な時期の画像データに変更する等の処理を行えばよい。
【0061】
一方、ステップS45における判定の結果、推論モデルの信頼性が高い場合には、推論モデルを送信する(S47)。画像取得装置210(工業用内視鏡301)は、初期段階では推論モデルがインストールされている。このステップでは、新たに推論モデルを生成した際に、依頼元の画像取得装置210に、通信部を通じて、新たな推論モデルを送信する。推論モデルを送信すると、このフローを終了する。
【0062】
このように、本発明の第1実施形態においては、画像取得装置210において、画像変化が順調ではなく、警告表示がなされ、ユーザが警告表示を無視する状態が継続すると、学習装置200に対して、再学習を依頼する。再学習によって、信頼性の高い推論モデルを常に維持することが可能となる。
【0063】
なお、本実施形態においては、警告表示がなされた際のユーザの行動や、その後に生じたトラブル等に基づいて、再学習を依頼するようにしている。しかし、再学習を依頼するタイミングは、これに限られない。例えば、推論モデルを機器に設定してから所定時間経過して、対象物が以前のものとは変わってしまった場合や、作業者が変わってしまった場合等、先に設定された推論モデルが想定していた環境から変わってしまったと考えられる場合には、再学習を依頼してもよい。また、推論モデルを使用しても、時間が掛かり過ぎる等、上手く作業ができない場合にも、再学習を依頼してもよい。こられの場合には、教師データを新たに集め(装置自らが作成したものでもよいし、外部から取得したものでもよい)再学習を依頼してもよい。また、例えば、この教師データ(依頼データでも良い)を使用して、画像取得装置において、LOSS値を所定のタイミングで算出し、この結果に基づいて、再学習依頼を行うようにしてもよい。
【0064】
また、図2に示すような工業用内視鏡の場合には、例えば、管壁への衝突時に先立つ画像群を推論エンジンに入力した場合は、衝突前のタイミングにて警告が表示されることが求められる。一方、衝突することなく所定の観察ができた場合には、その作業時の画像群を推論エンジンに入力した場合に、画像群の表示とともにOK表示が出ることが求められる。これが、正しく依頼データをもとにして、正しい学習モデルができたかどうかの信頼性判断となる(S45における判断)。
【0065】
次に、図5ないし図8を用いて、本発明の第2実施形態を説明する。本実施形態は学習システムを構成する画像取得装置として、カメラを採用した例である。このカメラは、ソーシャル・ネットワーク・システムと連携し、ソーシャル・ネット・ワーク上に掲載されたコンテンツ・アイテム(ユーザ投稿の写真やブログなど)に、第三者が「イイネ!」などの品質評価(主観評価に限る必要はない)が書き込めるような環境で使用することを想定している。このような環境下では、掲載されたコンテンツ・アイテムのうち、品質評価の情報が付随した特定のコンテンツ・アイテムは、どのようなコンテンツ・アイテムがどのような評価を得るかを推論するときの教師データとして使用するために、ソーシャル・ネット・ワークからコンテンツ・アイテムとその評価結果を取得することが可能となる。したがって、取得した教師データを用いて、コンテンツ・アイテムの特徴と、品質評価の関係を推論するための機械学習を、コンピュータなどによって行うことが可能である。この学習結果で得られた推論エンジンを用いることによって、これから投稿されるコンテンツ・アイテムがどのような評価を得るかの予想が可能となる。
【0066】
上述した推論エンジンを搭載したカメラは、外部データベースに記録された画像に対して、第三者が「イイネ」と評価するような画像を撮影するように、ガイドを表示する。このガイドは、外部データベースに記録されている画像と評価を用いて、学習部によって推論された推論モデルを用いて行う。
【0067】
図5(a)は、第2実施形態に係る学習システムの主として電気的構成を示すブロック図を示す。この学習システムは、カメラ10と外部機器20を有する。カメラ10は、図1における画像取得装置207に相当し、外部機器20は学習装置200に相当する。
【0068】
カメラ10は、画像入力部11、推論エンジン12、通信部14、表示部15、設定部16、制御部17を有する。このカメラ10は、推論モデルを受信する撮像装置として機能する。画像入力部11は、撮影レンズ、撮像素子、撮像制御回路、画像データ処理回路等を有し、被写体の画像データを生成する。
【0069】
推論エンジン12は、後述する外部機器20内の入出力モデル化部28によって生成された推論モデルを入力し、これを学習成果物13aとして記憶部13に記憶する。推論エンジン13は、記憶部13に記憶された推論モデルを用いて、画像入力部11によって入力された画像データが、設定部16によって設定されたリクエストに合致した画像であるか否かを推論する。推論エンジン13は、図1Bと同様、入力層、中間層、出力層を有し、これらの間のニューロンの結合の強さや重み付けは、記憶部13に記憶された推論モデル(学習成果物)に従って設定される。推論エンジン12は、画像データを入力し、推論モデルを用いて、ユーザにガイド表示を行うための出力を得る推論部(推論エンジン)として機能する。
【0070】
通信部14は、通信回路を有し、外部機器20の通信部26と、ネットを通じて、無線通信または有線通信を行う。この通信部14は、設定部16において設定されたリクエストを学習部25に送信し、また入出力モデル化部28で生成された推論モデルを入力する。また、通信部14は、推論モデルを入力する入力部(入力インターフェース)として機能する。
【0071】
なお、カメラ10が直接、外部機器20にアクセスできない場合に、スマートフォン等の携帯型通信装置等を通じて、外部機器20に通信するようにしてもよい。また、カメラ10自体がスマートフォン等の携帯型通信装置に内蔵されている場合には、この携帯型通信装置を通じて、外部機器20に通信するようにすればよい。
【0072】
表示部15は、表示パネル等を有し、画像入力部11において取得した画像データに基づく表示を行う。また、推論エンジン12における推論結果の表示を行う。また、設定部16において設定する項目は、図5(b)に示すように表示される。表示部15は、前回学習した日付15bを表示し、またユーザが手動で再学習依頼を行うための更新アイコン15cも表示する。なお、再学習の指示は、更新アイコン15cに限らず、スイッチ、ダイヤル等の操作部材を操作することによって、行ってもよい。表示部15は、推論部の出力に基づいてガイド表示を行う表示部として機能する。
【0073】
設定部16は、インターフェース回路を含み、ユーザが推論モデルを依頼する際の要望(リクエスト)を設定する。例えば、第三者から評価され(例えば、第三者から「イイネ」と評価される)、かつユーザが希望する写真が撮影できるような撮影ガイドを設定することができる。図5(b)に示す例では、ユーザの要望に合致するように、評価者(ターゲットフォロア)の国籍、性別、テーマ等の付随情報を設定できるようにしている。ただし、注意すべきは、こうしたソーシャル・ネットワーク・システムを代表とするネット環境下では、コンテンツ・アイテムが随時、投稿や掲載可能であり、また掲載されたコンテンツ・アイテムが、随時、ソーシャル・ネットワーク・システムなどのユーザから(好みを含めて)品質評価される可能性がある。このため、このような環境下では、はやりすたりが激しく変化する可能性があり、特に、新しい革新的なコンテンツ・アイテムの登場や、新しい評価者の加入や、その他、オピニオンリーダーの加入によってフォロワの傾向が変化する場合がある。このような状況の時間的変化に対しては、推論エンジンは時代遅れとなるというおそれがあった。
【0074】
制御部17は、CPU(Central Processing Unit)、周辺回路、メモリ等を有するプロセッサであり、CPUはメモリに記憶されたプログラムに従って、カメラ10内の各部を制御する。
【0075】
制御部17は、学習管理部17bを有する。学習管理部17bは、図1Aを用いて説明したように(図1Aでは学習管理制御部207A)、推論モデルを用いた推論の信頼性等の確認を行うか判断し、信頼性が低下している場合等には、学習装置に再学習の依頼を行う。また、ユーザが、更新アイコン15cをタッチする等によって、再学習を指示した場合にも、学習装置に再学習の依頼を行う(図6のS63〜S73、S81参照)。
【0076】
学習管理部17bは、推論モデルの更新について判定し、この判定の結果に基づいて、外部の学習装置に推論モデルの更新を依頼、もしくは推論モデルの更新が必要か否かの判定を依頼する更新確認部として機能する(例えば、図3のS15、S19、図6のS63、図11AのS183、S185等参照)。更新確認部は、最新の教師データを取得し、この最新の教師データを用いて、現在使用している推論モデルの信頼性を検出し、この信頼性が低い場合には、外部の学習装置に推論モデルの更新を依頼する(例えば、図6のS65、S67、S69参照)。
【0077】
また更新確認部は、外部の学習装置に推論モデルの更新を依頼してから所定の時間が経過すると、外部の学習装置に上記推論モデルの更新を依頼、もしくは推論モデルの更新が必要か否かの判定を依頼する(例えば、図6のS65参照)。更新確認部は、現状の変化を監視し、現状が変化した場合に、外部の学習装置に推論モデルの更新を依頼する(例えば、図3のS7〜S19、図6のS63、図12BのS271等参照)。更新確認部は、ユーザが上記ガイド表示を採用せず、操作に反映していな場合に、現状が変化したと判定する(例えば、図3のS15、S19、図11AのS183、S185参照)。
【0078】
また、更新確認部は、常時、上記推論モデルの更新が必要か否かについて確認を行う(例えば、図6のS63参照)。また、外部装置が、推論モデルの更新が必要か否かについて確認を行っており、更新確認部は外部装置から確認結果に基づいて判定する(図6のS63、図8のS157、S165参照)。
【0079】
外部機器20は、外部画像データベース(DB)21と、学習部25を有する。外部画像DB21と学習部25は、同一の機器内に配置されていなくてもよく、両者は通信によって連携することができればよい。また、外部画像DB21は複数設けられていてもよく、学習部25から複数の外部画像DBに通信部25および通信部26を通じて、画像データにアクセスし、画像データに関する情報を取得することができればよい。
【0080】
外部画像DB21は、通信部22、画像分類部23、制御部24を有する。外部画像DB21は、第三者からアクセス可能であり、例えば、第三者が気に入ると、「イイネ」等、第三者の好みに合ったことが意思表示される。この意思表示は、ネットを通じて、評価された画像に関連付けて外部画像データベースに記録され、またネットを通じて公表される。外部画像DB21は、推論モデルを学習によって生成する際に、使用可能なデータを蓄積するデータベースとして機能する。外部DB21は、推論モデルを学習によって生成する際に、使用可能であり、かつ第三者の評価を含むデータを蓄積するデータベースとして機能する
【0081】
通信部22は、通信回路を有し、学習部25の通信部26と、データの送受信を行う。画像分類部23は、外部画像DB21内に蓄積され、または外部画像DB21と外部にある画像DBに蓄積された画像データの画像分類を行う。画像分類部23には、フォロワプロフィール23aとテーマ23bが記憶されている。一般に画像DBには、画像データが、その画像に関する第三者の評価、例えば、第三者が「イイネ」と評価した数等と共に記録されている。フォロワプロフィール23aは、「イイネ」と評価した人(フォロワ)に関する情報(フォロワプロフィール、例えば、フォロワの住んでいる地域、性別、年齢等)を記録している。テーマ23bは、画像のテーマ、例えば、撮影対象(例えば、風景、人物、料理等)等の情報を画像に関連付けて記録している。
【0082】
制御部24は、CPU(Central Processing Unit)、周辺回路、メモリ等を有するプロセッサであり、CPUはメモリに記憶されたプログラムに従って、外部画像DB21内の各部を制御する。制御部24は、DB管理部24bを有する。
【0083】
DB管理部24bは、外部画像DB内に蓄積される画像データを管理する。DB管理部24bは、推論モデルを生成するための学習をおこなってから所定時間が経過したか否かを判定する時間判定部として機能する(例えば、図8のS151参照)。DB管理部24bは、時間判定部によって、所定時間が経過したと判定された場合に、前回の推論モデルを生成した際に使用された条件に基づいて、データベースを検索し、上位データが変動しているか否かを判定する判定部として機能する(例えば、図8のS153、S155参照)。DB管理部24bは、判定部によって、上位データが変動していると判定された場合に、推論モデルの更新を推奨する推奨部として機能する(例えば、図8のS157参照)。
【0084】
DB管理部24bは、第三者の評価に変化があった否かを判定する判定部として機能する(例えば、図8のS161参照)。またDB管理部24bは、判定部によって、第三者の評価に変化があった場合に、推論モデルの更新を推奨する推奨部として機能する(例えば、図8のS165参照)。
【0085】
学習部25は、通信部26、母集合作成部27、入出力モデル化部28、制御部29を有する。学習部25は、外部画像DB21に蓄積された画像データの中から、カメラ10のユーザのリクエストに基づいた撮影ができる推論モデルを生成する。リクエストは、画像に対する品質や量比を撮影前に判断する時の判断基準となるものである。例えば、学習部25は、カメラ10から送信されてきたリクエストに合致し、第三者から評価されることが所定値より多い画像を画像データベースの中から抽出し、この抽出した画像用いて、深層学習を行い、推論モデルを出力する(例えば、図7のS91〜S99参照)。この推論モデルを設定した推論エンジンに、撮影前、または撮影時に、画像を入力することにより、所望の品質レベルの画像かどうかを判定することができる。
【0086】
また、この学習部25は、深層学習が決められた画像データの範囲において、信頼性のある推論モデルが生成された場合には、学習途中モデルとして出力する(例えば、図9のS101、S105〜S109参照)。
【0087】
通信部26は、通信回路を有し、外部画像DB21の通信部22とデータの送受信を行う。また通信部26は、カメラ10の通信部14ともデータの送受信を行う。
【0088】
母集合作成部27は、後述するカメラの設定部16によって設定されたリクエストに基づいて、最適な母集合を作成する。最適な母集合としては、全ての画像データをそのまま全部使用してもよい。しかし、母集合が大きすぎると、処理に時間が掛かってしまう。また母集合が大きすぎると、過学習となり信頼性が低下してしまう場合がある。そこで、付随情報として送信されてきた国籍、性別等の情報を用いて、全画像データから適当なサイズの母集合を抽出する。
【0089】
母集合作成部27は、判定部によって、推論モデルの確認の依頼を入力し、もしくは前回の推論モデルの更新から所定時間が経過したと判定された場合には、データベースから学習母集合を設定する母集合作成部として機能する(例えば、図7のS115等参照)。この母集合作成部は、前回の推論モデルを生成した際に使用された条件に基づいて、データベースから学習母集合を設定する(例えば、図7のS115参照)。
【0090】
入出力モデル化部28は、所謂人工知能(AI)を用いて深層学習(機械学習)を行う。具体的には、入出力モデル化部28は、母集合作成部27によって作成された画像データの母集合を用い、設定部16によって設定されたリクエストを満たす画像の推論モデルを、深層学習によって生成する。出力モデル化部28は、図1Bに示すような構成を有している。入力層Iに母集合作成部27に作成された画像データを入力する。また、出力層Oに、画像の評価結果、例えば、「フランスの20代女性が高い評価を与えた(イイネと評価)」という教師データ(正解)を与える。入力と出力が一致するように、各ニューロンN11〜N2nの結合の強さ(重み付け)を算出することによって推論モデルを生成する。
【0091】
なお、画像データの母集合が大きいと、深層学習によって推論モデルが完成するまでに相当の時間(母集合の大きさおよび設定部16によって設定されたリクエスト(条件)によっては、何カ月、何年)がかかる。そこで、母集合の画像データの全てについて推論が終了しない場合であっても、一定レベルの信頼性が期待できる場合には、このときの推論モデルを学習途中モデルとしてカメラに出力するようにしてもよい。
【0092】
制御部29は、CPU(Central Processing Unit)、周辺回路、メモリ等を有するプロセッサであり、CPUはメモリに記憶されたプログラムに従って、学習部25内の各部を制御する。
【0093】
制御部29は、学習管理部29bを有する。学習管理部29bは、カメラ10から再学習の依頼を受けると、母集合作成部27に母集合を作成させ、この母集合を用いて、入出力モデル化部28に再学習を行って推論モデルを生成させる。また、カメラ10の学習管理部17bが行う推論モデルを確認する機能を、学習管理部29bが代行するようにしてもよい。この場合の処理については、図8を用いて後述する。
【0094】
学習管理部29bは、推論モデルの確認の依頼を入力したか否か、もしくは前回の推論モデルの更新から所定時間が経過したことか否かについて判定する判定部として機能する(例えば、図7のS111参照)。学習管理部29bは、母集合作成部で作成した学習母集合を用いて、依頼を受けた推論モデルの信頼性に基づいて、更新の必要性について判定する更新確認部として機能する(図7のS121参照)。
【0095】
なお、制御部17、24、29内のCPUの周辺回路の全部または一部をCPU(Central Processing Unit)とプログラムコードによって実現するようにしてもよく、DSP(Digital Signal Processor)等のプログラムコードで実行される回路で実現するようにしてもよく、ヴェリログ(Verilog)によって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またハードウエア回路によって実行するようにしても勿論かまわない。また、CPUの機能の一部をDSP等のプログラムコードで実行される回路で実現するようにしてもよく、ヴェリログによって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またハードウエア回路によって実現するようにしてもよい。
【0096】
次に、図6ないし図8に示すフローチャートを用いて、本実施形態における動作を説明する。
【0097】
図6はカメラ10における動作を示し、制御部17がメモリに記憶されたプログラムに従って、図6に示すフローチャートを実行する。カメラ制御のフローが開始すると、まず、撮影モードか否かを判定する(S51)。本フローにおいては、カメラ10は、撮影モードと学習モードの2種類のみを記載する。しかし、これらのモード以外にも、再生モード等、他のモードを実行できるようにしてもよい。操作部材(不図示)によって学習モードが設定されていなければ、撮影モードと判定される。なお、学習モードは、ユーザが設定部16によって、学習部25に推論モデルの生成を依頼するモードである。
【0098】
ステップS51における判定の結果、撮影モードであった場合には、画像入力を行う(S53)。このステップでは、画像入力部11によって画像データを取得する。この取得された画像データに基づいて、表示部15にスルー画像が表示される。
【0099】
画像を入力すると、次に、推論を行う(S55)。ここでは、推論エンジン12が、入力した画像データに対して、入出力モデル化部28が生成した推論モデル(後述するS81で取得)を用いて、推論を行う。推論エンジン15は、図1Bに示すような構成をしている。この推論エンジンの入力層Iに画像入力部11で入力した画像データを入力し、各ニューロンN11〜N2n間の結合の強さ(重み付け)として、記憶部13に記憶されている推論モデルを設定する。この推論エンジン15の出力層Oからの出力が、推論結果となる。
【0100】
推論を行うと、次に、推論結果を表示する(S57)。ここでは、ステップS5で行った推論結果を表示する。例えば、学習部25に対するリクエストが、「フランスの20代女性から評価を受ける写真」に応じた付随情報を含んでいれば、ステップS53で入力した画像が、このリクエストに合致するか否か、即ちある一定数以上の第三者の評価(「イイネ」)を得られるか否かが、表示部15に表示される。
【0101】
なお、入出力モデル化部28において、最初に学習用母集合として設定した画像データについて深層学習が終了せず、再設定した画像データの母集合について学習途中モデルが生成されて送信され、推論エンジン12が学習途中モデルを用いて推論した場合には、学習途中モデルを用いたことが分かるように表示を行う。また、推論モデルが現在のスルー画表示されている画像に適していない場合には、推論ができないこと等の警告表示を行うようにしてもよい。また、推論の結果、第三者からの評価が得られない場合には、評価が得られるような写真撮影を行うためのアドバイス表示を行うようにしてもよい。
【0102】
推論結果の表示を行うと、次に、撮影するか否かを判定する(S59)。ここでは、カメラ10のレリーズ釦が全押しされたか否かに基づいて判定する。ユーザは、撮影を行うか否かあたって、ステップS57における推論結果の表示が参考にすることができる。また、アドバイス表示を参考にして撮影を行うようにしてもよい。このステップでの判定の結果、撮影でない場合には、ステップS51に戻り、前述の動作を実行する。
【0103】
ステップS59における判定の結果、撮影であった場合には、撮影を実行する(S61)。ここでは、適正露出となるように露出制御を行い、画像入力部11で入力した画像データに、記録用の画像処理を施し、画像処理された画像データを記録媒体に記録する。
【0104】
撮影を行うと、次に、推論モデルを更新(再学習)する否かについて確認する(S63)。図1Aを用いて説明したように、最適な推論モデルを生成しても、その後、状況が変化すると、推論モデルの信頼性が低下してくる。すなわち、ステップS61における撮影結果が、正しい判断で推論されているかを確認できるようにしている。つまり、ユーザのリクエストに従った良否判定、品質レベル判定が、今現在の状況においても有効か否かを確認できるようにしている。このため、推論モデルを更新(再学習)する否かについて不安がある場合は、ユーザがこのことを確認することができるような分岐を設けている。例えば、上述したような「イイネ」を撮影できるような撮影ガイドを表示する場合であっても、閲覧者の好みの変化等によって、「イイネ」と評価されなく場合がある。そこで、このステップでは、最適な推論モデルに更新できるように、再学習が必要か否かを確認するかどうかの判定を行う。このステップでの判定の結果、再学習の必要性を確認できなかった場合には、ステップS51に戻り、前述の動作を実行する。
【0105】
ステップS63において、更新の確認をするかどうかについては、ユーザがマニュアル操作で行うだけではなく、カメラが特定の条件で判断するようにしてもよく、また外部機器に依頼して、その結果を反映するようにしてもよい。例えば、常時オンライン学習を行うために、常に確認するようにしてもよい。また、ステップS69において、再学習を依頼した時点から所定時間が経過すると、自動的に更新の確認を行うようにしてもよい。この場合には、後述するステップS65、S67を省略して、S69において再学習を依頼するようにしてもよい。また、外部データベース側で、画像等を監視して推論モデルの更新が必要と判断した場合に、カメラ側に確認を要求してくる場合がある(例えば、図8のS157、S165等参照)。この場合には、後述するステップS65、S67を実行してもよいが、省略して、S69において再学習を依頼するようにしてもよい。さらに、前述のように撮影画像を利用して、画像を評価依頼してもよい。また最新の人気画像などを取得して、カメラ10内に設定されている現状の推論モデルに入力し、高い評価が出るかどうかで判断してもよい。
【0106】
更に、ステップS63における更新の確認方法としては、カメラ10で撮影した画像を外部データベースにアップし、「イイネ」と評価される等、外部の評価に基づいて判定してもよい。カメラ10の推論モデルは、「イイネ」と評価されるように撮影ガイドを行っており、外部データベースにアップした場合に「イイネ」と評価されないのは、推論モデルが不適切になったと考えられる。また、ユーザが、カメラ10を使用していて、再学習が必要と感じた場合には、更新アイコン15cを操作する。この操作は、このステップで判定する。
【0107】
ステップS63における判定の結果、再学習するか否かの確認を行うことになった場合には、次に、最新サンプルを取得し、推論結果を確認する(S65)。推論エンジンによる推論は、入力データを入力した際の推論結果(出力)である。最新サンプルは、入力データと、この入力データに対する品詞圧や良否などの評価結果であり、学習部25に要求することにより、その条件を満たす画像を取得することができる(図8のS117、S119参照)。最新サンプルの入手方法としては、学習部25から取得する以外にも、カメラ10が取得した画像をアップロードする等によって第三者から評価結果を得た画像でもよく、学習部25または外部画像DB21において、定期的に第三者の評価を収集する等によって最新サンプルを取得してもよい。外部データベースにアップロードし、このときの評価結果と合わせて、最新サンプルとしてもよい。ここでは、カメラが主体となって要求している例を示したが、外部機器から送信/受信した情報によって、カメラが最新サンプル取得の必要性を判定してもよい。その情報がサンプルそのものでもよい。なお、教師データは推論モデルを生成するための多数のデータであるのに対して、サンプルデータは、推論モデルの信頼性を確認できる程度のデータ数であればよい。
【0108】
続いて、信頼性が低下しているか否かを判定する(S67)。このステップでは、ステップS65で取得した複数の最新サンプルを教師データとして使用し、推論エンジン12において推論を行い、この推論結果の信頼性が低下しているか否かを判定する。すなわち、入力データに対する結果が一致しないケースの割合が、所定値より大きい場合には、信頼性が低下していると判定する。なお、信頼性低下の確認は、必ずしもこのタイミングで行う必要はなく、ステップS71の推論モデル取得の時に参照できるようにしても良い。
【0109】
ステップS67における判定の結果、信頼性が低下していた場合には、教師データを刷新した学習を依頼する(S69)。ここでは、カメラ10が通信部14、26を通じて、学習管理29bに対して、再学習を依頼する。学習管理部29bは、再学習の依頼を受けると、母集合作成部27に学習の履歴等を参照して新しい教師データを生成させ、この教師データを用いて入出力モデル化部28に推論モデルを生成させる(図7参照)。ステップS69において教師データを刷新した学習を依頼すると、またはステップS67における判定の結果、信頼性が低下していない場合には、ステップS51に戻り、前述の動作を実行する。
【0110】
ステップS51に戻り、このステップにおける判定の結果、撮影モードでない場合には、推論モデル等を取得か否かについて判定する(S71)。ユーザは、撮影ガイドを取得したい場合(手動判定であっても、また自動判定であっても良い)には、撮影ガイドの用途をリクエストして、学習部25に送信する。例えば、第三者が高い評価(「イイネ」)を与える写真等を撮影したい場合には、ユーザは外部機器20の学習部25にユーザが設定部16で設定したリクエストを送信する。リクエストは、例えば、「フランスの20代の女性から評価を受ける写真」のように、評価者(ターゲットフォロア)の国籍、性別、テーマ等の付随情報を設定する(詳しくは、ステップS75参照)。そして、学習部25から推論モデルを返信してもらい、カメラ10はこの推論モデルを用いて撮影を行う。このタイミングで、すでに推論モデルを取得していた場合に、何らかの修正やバージョンアップを行うことも可能である。したがって、ステップS67のような信頼性判定をここで行ってもよい。
【0111】
ステップS71では、ユーザがこの推論モデルを取得したいか否かについて判定する。ユーザはタッチパネルや操作部材等によって学習モードを設定するので、これらの操作状態に基づいて判定する。この判定の結果、推論モデル等の取得ではない場合には、ステップS51に戻り、前述の動作を行う。
【0112】
次に、受信か否かを判定する(S73)。後述するステップS79において、学習部25にリクエストを送信した場合、またはステップS69において再学習を学習部25に要求した場合には、学習部25から推論モデルが送信されてくる(図8のS103参照)。このステップでは、学習部25からの送信されてくる推論モデルを受信するか否かを判定する。
【0113】
ステップS73における判定の結果、受信の場合には、特定用途の推論モデルの取得または刷新(更新)を行う(S81)。ここでは、推論モデルを受信し、また推論モデルを既に受信している場合には、新たに受信した推論モデルに刷新する(置き換える)。この推論モデルの刷新(更新)は、リクエストに応じたものである事を想定しており、このリクエストが既になされている場合は再度、行う必要がないので、新しいバージョンの推論モデルが取得される。また、リクエスト情報がなくても、汎用的に使える推論モデルがある場合、その汎用モデルを取得してもよい。このステップでの処理を行うと、ステップS51に戻る。
【0114】
ステップS73における判定の結果、受信でないばあいには、リクエストの設定を行う(S75)。ユーザは、学習部25に、深層学習を依頼する場合には、設定部16において、ユーザの意図に応じた撮影を行うために、リクエストを設定する。このステップでは、これらのリクエストの設定を行う。リクエストは、例えば、第三者から高い評価を受けるために設定する項目(付随項目)がある。この付随項目は、評価する第三者の国籍、性別、年齢層等の評価者のプロフィール(「フォロワプロフィール」ともいう)や、風景、人物、料理等、写真のテーマである(これらを総称して「ターゲットプロフィール」ともいう)。なお、リクエストは、フォロワプロフィールやテーマに限らず、ユーザの意図する写真を表すものであれば、ユーザの意図を表す条件であれば、これらの条件を適宜含めてもよい。また、リクエストは、ユーザの意図する画像そのものであってもよい。既にリクエストが設定されている場合には、それに準拠してもよい。また、リクエストが必ずしも有効ではない場合がありうる。例えば、ユーザが想定しているような種別の画像や、評価者が不在または少数の場合は、深層学習することができないという表示を行ってもよい。
【0115】
続いて、学習を依頼するか否かを判定する(S77)。このステップでは、ステップS75において設定したリクエスト、例えば、国籍、性別、テーマ等の付随情報で設定されるリクエストを、通信部14を通じて、外部機器20の学習部25に送信するか否かを判定する。この判定の結果、依頼しない場合には、ステップS51に戻る。
【0116】
ステップS79における判定の結果、学習を依頼する場合には、条件を送信し、また刷新する(S79)。ここでは、ステップS75において設定したリクエストを、学習部25に通信部14,26と通じて送信する。
【0117】
このように、本実施形態におけるカメラ制御では、撮影ガイド等に使用する推論モデルを更新する否かについて確認し(S63参照)、更新の必要性を確認する場合には、最新のサンプル(教師データ等)を入手して、カメラ10の推論エンジン12を用いて推論し、この推論結果の信頼性に基づいて判定する(S65〜S69参照)。このため、オフラインで深層学習を用いた推論モデルを使用する装置であっても、最適な推論モデルを保持することが可能となる。
【0118】
次に、図7に示すフローチャートを用いて、外部機器20の動作を説明する。この動作は、外部機器20内の学習管理部29bおよびDB管理部24bがメモリに記憶されたプログラムに従って外部機器20内の各部を制御することにより実現する。
【0119】
図7に示す外部機器の制御フローが開始すると、まず、学習依頼か否かについて判定する(S91)。前述したように、ステップS69、S79において、カメラ10は通信部14を通じて、外部機器20の学習部25に学習を依頼する。この判定の結果、学習依頼がない場合には、待機状態となる。
【0120】
ステップS91における判定の結果、学習の依頼があった場合には、学習母集合の設定を行う(S93)。外部画像DB21および使用可能な外部画像DBの全画像データを学習用の母集合としてもよい。しかし、ここでは、効率よく学習するために、ユーザからのリクエストに基づいて、外部の画像データベースの中から深層学習の対象とする画像データを抽出して学習母集合を設定する。
【0121】
続いて、フォロワプロフィールから母集合の絞り込みを行う(S95)。設定部16において設定されたリクエストには、深層学習の際にターゲットとする画像を「イイネ」と評価したフォロワのプロフィールが含まれている場合がある。この場合には、フォロワプロフィールを用いて母集合の絞り込みを行ってもよい。また、リクエストにフォロワのプロフィールが含まれていない場合には、リクエストに含まれる付随情報に基づいて評価の高い画像を抽出し、この画像のフォロワのプロフィールを取得する。フォロワのプロフィールが分かれば、このステップで、この情報を用いて学習用の母集合の絞り込みを行う。
【0122】
次に、フォロー画像の判定を行う(S97)。ここでは、母集合の画像データの中からユーザが設定部で設定したリクエストに合致する画像、すなわち第三者の評価が高い画像(「イイネ」と評価された画像)であるか否かを判定する。この判定でテーマに合致すると判定された画像(フォロー画像)を、入力モデル化部28における深層学習の際の入力画像とする。
【0123】
次に、深層学習を行い、推論モデルを生成する(S99)。ここでは、入出力モデル化部28が、設定された母集合に対して、フォロー画像を用いて深層学習を行い、推論モデルを生成する。
【0124】
推論モデルの生成を開始すると、フォロー画像の特徴判定が特定規模の演算で可能か否かについて判定する(S101)。母集合の大きさ、またフォロー画像の数および特徴、また深層学習を行うための回路規模によっては、深層学習を行うための時間が相当長くなる場合がある。ここでは、ユーザが推論モデルの生成時間として通常、許容できる時間内に演算が終了するか否かを判定する。
【0125】
ステップS101における判定の結果、特定規模の演算で可能であれば、推論モデルを送信する(S103)。ここでは、入出力モデル化部28が深層学習によって推論モデルの生成を完了すると、この生成された推論モデルをカメラ10に送信する(図6のS81参照)。
【0126】
一方、ステップS101における判定の結果、特定規模の演算で可能でない場合には、学習母集合の再設定を行う(S105)。学習母集合となる画像データが多すぎることから、再度、リクエスト(付随情報等)を用いて、深層学習の対象となる母集合を変更し、再設定する。
【0127】
学習母集合を再設定すると、次に、学習途中でも送信可の要求があるか否かを判定する(S107)。前述したように、深層学習には時間がかかることが多い。そこで、前述したように、ユーザは、ある程度の高い信頼度で推論モデルが生成されれば、この学習途中モデルを送信することを要求している場合がある。このステップでは、この要求がなされているか否かを判定する。このステップでの判定の結果、送信要求がない場合には、ステップS99に戻る。
【0128】
なお、ある程度の高い信頼度での推論モデルであるか否かは、LOSS値が閾値より低いか否かで判定してもよい。LOSS値は、予め解答が分かっている練習問題で深層学習を行った場合に、深層学習で生成された推論モデルでの推論結果と、予め分かっている解答との差異である。深層学習による推論モデルをどのような評価方法を採用するかは、学習装置の信頼性に影響を与える。本実施形態においては、LOSS値を用いて、学習装置を評価する。
【0129】
一方、ステップS107における判定の結果、送信要求が有る場合には、学習途中モデルをカメラ10に送信する(S109)。ここでは、学習母集合を再設定し、この範囲である程度の高い信頼度での推論モデルが生成されたことから、この学習途中モデルをカメラ10に送信する。学習途中モデルを送信した後も推論モデル生成のための深層学習を行い、推論モデルが生成されると、カメラ10に送信する(S103)。なお、学習途中モデルを送信した場合には、推論モデルの生成を終了しても構わない。この場合には、ステップS103をスキップして、ステップS91に戻る。
【0130】
ステップS39に戻り、このステップでの判定の結果が学習依頼でない場合には、推論確認依頼、または時間経過等で更新か否かを判定する(S111)。前述したように、カメラ10において、推論モデルの更新を確認し、推論モデルの再学習を依頼する場合がある(図6のS69)。また、確認機能を外部機器20において行ってもよく、この場合には、ステップ111において、推論モデルを更新する必要があるか否かを確認する。例えば、学習を行ってから所定の時間が経過すると、更新するようにしてもよい。その他、ステップS63において行った確認のための方法を、このステップで行ってもよい。この判定の結果、推論確認依頼でもなく、かつ時間経過等での更新でない場合には、画像管理を行う(S113)。この画像管理については、図8を用いて後述する。
【0131】
ステップS111における判定の結果、推論確認依頼、または時間経過等で更新の場合には、前回の条件に合致の最新のサンプルを検索する(S115)。このステップでは、前回の深層学習で推論モデルを生成した際の条件(リクエスト)に合致するような最新のサンプル(母集合、教師データ)を検索する。
【0132】
続いて、サンプル依頼があるか否かについて判定する(S117)。前述したように、ステップS65(図6参照)において、カメラ10は最新サンプルを学習部25に要求する場合がある。このステップでは、カメラ10から最新サンプルが要求されているか否等に基づいて判定する。
【0133】
ステップS117における判定の結果、サンプル送信の依頼がある場合には、サンプル送信を行う(S119)。ここでは、ステップS115において検索した最新のサンプルを、カメラ10に送信する。一方、サンプル送信の依頼がない場合には、信頼性を確認して結果を送信する(S121)。ここでは、ステップS115において検索したサンプルを用い、推論エンジンで推論を行い、この推論結果の信頼性を確認し、この結果をカメラ10に送信する。ステップS119のサンプル送信、またはステップS121の信頼性の結果を送信すると、ステップS91に戻り、前述の動作を実行する。
【0134】
このように、外部機器20の制御フローでは、学習依頼を受けると(S91Yes)、学習母集合を設定し(S93)、推論モデルを生成し(S99)、この生成された推論モデルを送信する(S103)。また、推論の確認を依頼されると、最新のサンプルを検索し(S115)、サンプル依頼があればカメラ10に送信する(S115、S117、S119)。サンプル依頼がなければ、推論モデルの信頼性を確認して、カメラに信頼性の結果を送信する(S121)。カメラ10は、外部機器から推論モデルの信頼性が低いとの結果を受信すると、再学習を依頼する(図6のS69、S71参照)。
【0135】
次に、ステップS113の画像管理について、図8に示すフローチャートを用いて説明する。この画像管理のフローは、主として、外部画像DB21に設けられたDB管理部24b内のCPUによって実行される。
【0136】
図8に示す画像管理のフローが始まると、まず、画像取得か否かを判定する(S121)。ユーザがカメラ10で撮影した画像を、外部画像DB21にアップロードしてくることがある。このステップでは、画像がアップロード(画像取得)されてきたか否かを判定する。ステップS121における判定の結果、画像取得の場合には、画像を記録する(S123)。ここでは、アップロードされた画像を、外部画像DB21のデータベースに記録する。
【0137】
画像を記録すると、次に、コメント等が有るか否かについて判定する(S125)。画像には、コメント等の情報が関連付けられている場合がある。このステップでは、コメント等の情報が有るか否かを判定する。この判定の結果、コメント等がある場合には、そのコメントを記録する(S127)。ここでは、が部画像DB21のデータベースに、画像に関連付けてコメントを記録する。ステップS127においてコメントを記録すると、またはステップS125における判定の結果、コメントがない場合には、ステップS91に戻り、前述の動作を実行する。
【0138】
ステップS121に戻り、このステップにおける判定の結果、画像取得でない場合には、次に、画像表示か否かを判定する(S131)。第三者が、外部画像DB21にアクセスし、この画像データベースに記録されている画像を閲覧する場合がある。このステップでは、画像閲覧の要求か否かを判定する。ステップS131における判定の結果、画像表示の場合には、特定条件画像表示を行う(S131)。このステップでは、第三者が指定した等の画像を、第三者に送信し、表示させる。
【0139】
次に、コメントやイイネを受信したか否かを判定する(S135)。ステップS133において、画像を受信したユーザは、受信した画像に対して、コメントを送信したり、イイネと評価する場合がある。このステップでは、コメントやイイネ表示があったか否かについて判定する。このステップS135における判定の結果、イイネやコメントあった場合には、記録を行う(S139)。ここでは、表示した画像に関連付けて、イイネやコメントを記録する。ステップS139においてコメントやイイネを記録すると、またはステップS135における判定の結果、コメントやイイネがない場合には、ステップS91に戻り、前述の動作を実行する。
【0140】
ステップS131に戻り、このステップにおける判定の結果、画像表示がない場合には、次に、教師データの依頼か否かを判定する(S141)。入出力モデル化28が推論を行う場合の教師データとして、外部画像DB21に記録されている画像の中から抽出する場合がある(S115参照)。また、学習管理部29bは、ステップS115において最新のサンプルを検索する。最新サンプルは、評価結果が付随している新たな画像や新たに評価された昔の画像等である。深層学習するに十分な数のサンプルデータ(依頼データ)があれば教師データになる。この検索にあたって、外部画像DB21に記録されている画像の中から検索する場合がある。このステップでは、これらの教師データの検索の依頼か否かを判定する。
【0141】
ステップS141における判定の結果、教師データの依頼の場合には、特定条件の画像を検索する(S141)。ここでは、教師データの検索の依頼の際に、付与されている条件(特定条件)に基づいて、画像DB21に記録されている画像の中から検索する。画像の検索が終わると、送信等、学習時の日付、履歴管理を行う(S145)。ここでは、検索された画像を学習部25等の依頼元に送信する。また、この検索を行い学習した日時情報を取得し、日時情報等の情報を履歴として記録する。ステップS145において、履歴管理等を行うと、ステップS91に戻り、前述の動作を実行する。
【0142】
ステップS141に戻り、このステップにおける判定の結果、教師データの検索依頼でない場合には、次に、前回学習から所定時間が経過しているか否かを判定する(S151)。前述したように、深層学習によって推論モデルを生成してから時間が経過すると、状況が変わり、推論モデルの信頼性が低下する場合がある。そこで、このステップでは、ステップS145において記録された履歴等に基づいて、深層学習を行ってからの経過時間に基づいて判定する。
【0143】
ステップS151における判定の結果、前回学習してから所定時間が経過しているばあいには、前回の(リクエスト)条件で再検索を行う(S153)。ここでは、前回、特定の条件を満たす推論モデルを得た時の深層学習を行った際の条件で母集合を生成する。したがって、このシステムでは、前回のリクエストがどのようなもので、どのようなタイミングのものであるかを記憶しておくことが好ましい。このために、画像管理装置の記録部にユーザ毎に記録しておいてもよい。また、ユーザ側に記録してあるものを受信して判定できるようにしておいてもよい。
【0144】
再検索を行うと、次に、上位データが変動しているか否かを判定する(S155)。ここでは、ステップS153において検索した母集合の上位データが変動しているか否かを判定する。
【0145】
ステップS155における判定の結果、上位データが変動している場合には、更新を推奨する(S157)。この場合には、母集合の内容が大きく変わっていることから、推論モデルが最適でなくなっている可能性が高く、また推論結果の信頼性も低くなっているおそれがある。そこで、カメラ10のユーザに更新を推奨する。この更新の推奨は、図6のS73、S81において受信し、推奨をレコメンド表示してもよく、また、S63において、確認するように自動判定を行うようにしてもよい。ステップS157において更新を推奨すると、またはステップS155における判定の結果、上位データに変動がない場合には、ステップS91に戻り、前述の動作を実行する。
【0146】
ステップS151に戻り、このステップにおける判定の結果、前回学習から時間が経過していない場合には、次に、イイネ数が急上昇したか否かについて判定する(S161)。カメラ10のユーザがイイネと評価される画像を撮影するに適した推論モデルを使用している場合には、イイネの数が推論モデルの生成に影響する。すなわち、第三者の好みが変化すると、イイネ数が急上昇する画像が出てくる。
【0147】
ステップS161における判定の結果、イイネ数が急上昇した場合には、次に、類似フォロワの学習履歴があるか否かを判定する(S163)。イイネ数が急上昇したとしても、推論モデルがイイネ数の急上昇した画像をターゲットして作成されている場合もあれば、ユーザに全然興味がないような画像の場合がある。これは、鑑賞者の嗜好が時代の流れで急変したとか、新たな嗜好を持つ鑑賞者がSNSで急増したとか、非常に時代の求める(多くの人の嗜好にマッチした)新しい画像がアップされ、評価された場合であるから、昔の学習は古くなったことに相当する。例えば、リクエストが、「フランスの20代女性から評価を受ける写真」の場合、イイネ数が急上昇したとしても、フランス人女性が反応した画像であれば、考慮すべきである。しかし、日本人男性が局地的にイイネと評価しても、このユーザのリクエストの対象とすべきコンテンツではない。そこで、イイネ数が急上昇した画像に類似する画像について、学習した履歴があるか否かを判定する。
【0148】
ステップS163における判定の結果、類似フォロワの学習履歴が有る場合には、更新を推奨する(S165)。類似フォロワについて、過去に学習していることから、更新を推奨する。ステップS165において更新を推奨すると、またはステップS161、S163における判定の結果がいずれもNoの場合には、ステップS91に戻り、前述の動作を実行する。
【0149】
このように、画像管理のフローにおいては、画像のアップロードがあった場合(S121)、画像の閲覧要求があった場合(S131)には、それぞれ画像を記録し、また表示している。また、教師データの検索要求があった場合には(S141)、要求に応じた検索を行う。さらに、前回からの学習時間に応じて、更新することを推奨するか否かについて判定している(S155)。また、イイネ数の変化に応じて、更新することを推奨するか否かについて判定している(S163)。
【0150】
なお、画像管理のステップS151〜S165のように、外部画像DB21のDB管理部24bが、更新を推奨するか否かについて判定している。しかし、このフローは、学習部25の学習管理部29bが判定するようにしてもよい。
【0151】
以上、説明したように、第2実施形態においては、画像取得装置としてカメラを採用し、カメラ10内および外部機器20内に学習管理部を配置している。このため、推論モデルの更新が必要か否かについて、所定のタイミング・条件で確認しているので、最適な推論モデルを保持することができる。
【0152】
次に、図9ないし図12Bを用いて、本発明の第3実施形態を説明する。本実施形態においても、学習システムを構成する画像取得装置として、カメラを採用した例である。第1実施形態においては、管311内に工業用内視鏡301を挿入する際のガイドを、推論モデルを用いて行っていた。第1実施形態においては、ガイドが表示した警告をユーザが無視することが続くと、推論モデルを再学習によって更新していた。第2実施形態においては、ユーザが第3者によって評価される画像を撮影するための撮影ガイドを、推論モデルによって行っていた。この推論モデルを更新するか否かを所定のタイミング(または所定の条件)で確認し、推論モデルの信頼性が低下した場合には再学習を学習装置に依頼し、この学習の結果、得られた新しい推論モデルに更新していた。第3実施形態においても、推論モデルを更新するか否かを所定のタイミング(または所定の条件)で確認し、推論モデルの信頼性が低下した場合には再学習を学習装置に依頼し、この学習の結果、得られた新しい推論モデルに更新する。第2実施形態と比較すると、第3実施形態では、予め複数の推論モデルを用意している点で相違している。
【0153】
図9は、第3実施形態に係る学習システムの主として電気的構成を示すブロック図を示す。この学習システムもカメラ10と外部機器20とからなる。外部機器20の詳細を図9に示し、カメラ10の詳細を図10に示す。外部機器20は、各事業者が運営する画像の公表用サーバであってもよい。このサーバは、制限なしに画像を公表してもよく、また会員等のみに公表する等、公表範囲を制限するものでもよい(公表の範囲については、第2実施形態も同様である)。画像記録部140、モデルDB130、および制御部110は、同一の機器内に配置されていなくてもよく、これらの三者は通信によって連携するようにしてもよい。また、画像記録部140は複数設けられていてもよく、制御部110から通信部を通じて、複数の外部の画像記録部140内の画像データにアクセスし、画像データに関する情報を入手できればよい。
【0154】
外部機器20は、制御部110、通信部120、モデルデータベース(モデルDB)130、画像記録部140を有する。外部機器20内の各部110〜140は、サーバ30内に全てが設けられていてもよく、また外部機器20内の各部110〜140の内の一部が、サーバ30内に設けられ、他は外部のサーバ等に設けられていてもよい。
【0155】
制御部110には、アクセス判定部111、表示制御部112、傾向判定部113、イイネモデル学習部114、データベース(DB)管理部115が設けられている。制御部110は、CPU(Central Processing Unit)、周辺回路、メモリ等を有するプロセッサであり、CPUはメモリに記憶されたプログラムに従って、外部機器20の各部を制御する。外部機器20内の各部110〜140は、主としてプログラムによって実現されるが、一部または全部をハードウエア回路によって実現するようにしてもよい。
【0156】
アクセス判定部111は、ユーザAが使用するパーソナルコンピュータ(PC)250から外部機器20にアクセスが有ったか否かを判定する。表示制御部112は、画像記録部140内に記録された画像をPC250で表示させる際や、イイネモデル学習部114によって学習された結果をPC250で表示させる際等の表示を制御する。
【0157】
傾向判定部113は、カメラ10(またはPC250)に記録されている画像データを分析し、ユーザAの画像の傾向を判定する。例えば、撮影対象、撮影対象の位置、撮影対象の大きさ、撮影方向(横向きか、正面向きか、見上げての撮影か等)、撮影時の焦点距離、露出制御値等、種々の観点から、撮影画像の傾向を判定する。また、傾向判定部113は、ユーザAの画像の傾向を判定すると、モデルDB130に記憶されている第1イイネモデル〜第nイイネモデルの中から、ユーザAの画像の傾向に最も近いイイネモデルを検索し、この検索されたイイネモデルをPC250に送信する。
【0158】
イイネモデル学習部114は、図1Bに示したような入力層I、中間層N11〜N2n、出力層Oを有し、推論モデルを算出する。すなわち、イイネモデル学習部114は、前述の入出力モデル化部28と同様に、深層学習を行って、イイネ画像を得るための推論モデルを生成する。前述したように、イイネ画像は、インターネット等にアップされた画像に対して、第三者の「イイネ」等の高評価を得ている画像である。
【0159】
また、イイネモデル学習部114は、ガイド情報33を作成する。ガイド情報33は、カメラ10の表示部8に、スルー画表示と共に推論結果が表示される際であって、スルー画が第三者による評価が高くないと予測される場合、第三者による評価が高い画像とするためのアドバイスである。このガイド表示33は、推論結果とスルー画の差異に応じた指示がなされる。例えば、推論の結果、焦点距離を望遠側が望ましいのに対して、スルー画では広角側になっている場合には、この焦点距離の差が撮影ガイド情報となる。また、推論結果が、絞りを開放側にして被写界深度を浅くするのが望ましいのに対して、スルー画では絞りを絞り込み被写界深度が深くなっている場合には、この絞り値の差が撮影ガイド情報となる。このガイド表示33は、深層学習によって生成するようにしてもよい。また、ガイド表示33は、第三者から高い評価を受けた画像の例(サンプル画像)であってもよい。
【0160】
イイネモデル学習部114が学習のために入力する大量の画像は、画像毎にどのような評価のものであるかが分かるような情報が紐付けられて取得される。このため、イイネモデル学習部は、評価の良い画像と悪い画像の画質や構図や表情や色合いなどの差異についても深層学習することができる。もちろん、特定の関係を見極めて機械学習するようにしても良い。
【0161】
DB管理部115は、カメラ10から再学習の依頼を受けると、モデルDB130に記憶されている画像データの中から母集合を作成し、イイネモデル学習部114に再学習を行って推論モデルを生成させる。また、カメラ10の学習管理部1d、または外部機器20のイイネモデル学習部114によって行われる、推論を行うか否かを確認する機能を、DB管理部115が代行するようにしてもよい。
【0162】
通信部120は、通信回路を有し、ネット400を通じてPC250と通信を行うことができる。なお、カメラ10と直接、通信するようにしても勿論かまわない。通信部120を通じて、PC250から撮影画像31を取得し(撮影画像UP)、またイイネモデル学習部114が生成したモデル情報(推論モデル)32をPC250に送信する。また、モデル情報32に基づく画像を撮影するためのアドバイスを表示するためのガイド情報33もPC250に送信する。モデル情報32及びガイド情報33を受信したPC250は、カメラ10に推論モデルおよびガイド情報を出力することができる。
【0163】
画像記録部140は、画像データベース(DB)であり、ユーザAに限らず多数のユーザが撮影画像を画像記録部140に格納可能である。図9に示す例では、画像記録部140には画像データ141として、犬の画像141b、猫の画像141cが、分類分けされて、多数記録されている。すなわち、画像データベースに記録されている画像データは、分類分けされている。分類分けは例示であり、これ以外にも種々の分類がある。
【0164】
それぞれの画像141b、141dの内、「イイネ」が付された画像には、人気情報142が関連付けられている。また、付随情報143として画像の撮影情報(例えば、Exif情報)等が関連付けられ、また人気情報142が関連付けられている場合には、画像の投稿者情報、「イイネ」を付与した人のプロフィール情報、フォロア情報等、種々の情報が関連付けられている。
【0165】
モデルデータベース(DB)130には、第1イイネモデル131〜第nイイネモデル13nが記憶されている。このモデルDB130に記憶されているイイネモデルは、イイネモデル114によって既に学習された推論モデルである。
【0166】
第1イイネモデル131には、画像特徴入力131a、第1特徴抽出131b、第1特徴学習131c、出力131dが記憶されている。この第1イイネモデル131は、図1Bに示した学習モデルに対応している。第1画像特徴入力131aは、入力層Iに入力される画像の特徴である。第1特徴抽出131bは入力層Iに入力された画像データの内から抽出される画素の位置、輝度、色等の情報である。第1特徴学習131dは、各ニューロン間での結合の強さ(重み付け)である。出力131dは、深層学習の結果が記憶されている。前述したように、傾向判定部113は、ユーザAのカメラ100に記録されている画像の傾向を調べ、ユーザAの好みに近い、またユーザAに推奨するイイネモデルを検索し、PC250に送信する。
【0167】
次に、図10を用いて、カメラ10の構成について説明する。カメラ10は、画像処理及び制御部1、撮像部2、時計部3、記録部4、アクセサリ情報取得部5、操作判定部6、姿勢センサ7a等のセンサ、表示部8、通信部9等を有する。
【0168】
画像処理及び制御部1には、表示制御部1a、記録制御部1b、撮影時情報付与部1cが設けられている。制御部1は、CPU(Central Processing Unit)、周辺回路、メモリ等を有するプロセッサであり、CPUはメモリに記憶されたプログラムに従って、カメラ10の各部を制御する。また、画像処理及び制御部1内の各部1a〜1cは、主としてプログラムおよび周辺回路によって実現されるが、全部を周辺回路によって実現するようにしてもよい。また、画像処理および制御部1は、画像処理回路を有し、撮像部2から入力した画像データに画像処理を施す。
【0169】
表示制御部1aは、表示制御回路を有し、撮像部2からの画像データに基づくスルー画表示、記録部4内の撮影画像記録部の再生表示、学習結果記録部4bに記録された推論モデルを用いての推論の結果表示、ガイド記録部4cに記録されたガイド表示等、表示部8に種々の画像表示を行う際の表示制御を行う。
【0170】
記録制御部1bは、記録制御回路を有し、記録部4への画像データ等の記録の制御を行う。すなわち、撮影画像を撮影画像記録部4dに記録する。また推論補助部1b1は、外部機器20から送信されてきたモデル情報(推論モデル)32を学習結果記録部4bに、ガイド情報33をガイド記録部4cに記録する。また、カメラ10が推論モデルを用いて推論した際にアドバイスを採用した場合には、これらの情報も記録する(図11AのS191参照)。
【0171】
撮影時情報付与部1cは、状況部1c1、設定部1c2、バージョン情報1c4、推論部1c5を有する。状況部1c1は、カメラ10の撮影情報、例えば、焦点距離、焦点位置、露出制御値(絞り値、シャッタ速度値、ISO感度値等)、被写体の種類、被写体の大きさ、被写体の光線の当たり具合、アクセサリの装着・使用状態等、種々の撮影状況を示す情報を取得する。
【0172】
設定部1c2は、図5の設定部16と同様に、ユーザAがイイネを取得したいテーマに関連するリクエスト情報を設定する。この設定されたリクエスト情報は、通信部9を通じて外部機器20に送信される。外部機器20のイイネモデル学習部114は、このリクエスト情報に基づいて、深層学習を行い、学習結果としての推論モデルはカメラ10に送信される(図11BのS211、S231参照)。また、このときの推論の際の画像の特徴等は第nイイネモデルとしてモデルDB130に記録される。バージョン情報1c4は、例えば、交換レンズ等のアクセサリバージョン情報である。
【0173】
推論部1c5は、図5の推論エンジン13と同様に、外部機器20からの推論モデルを用いて、推論を行う。スルー画表示中になされた推論結果は、表示部8に表示される。ユーザAは、推論結果を参考にすることにより、設定部1c2で設定した意図に応じた撮影が可能となる。推論部1c5は、画像入力部によって入力した画像データが、受信部で受信した推論モデルによって、第三者から評価されるか否かを判定する推論部として機能する。
【0174】
学習管理部1dは、学習管理部17b(図5(a)参照)と同様、推論モデルを用いた推論結果を監視し、学習装置に再学習の依頼を行う。また、ユーザが、手動で再学習が必要かどうかの確認を指示した場合にも、この確認動作を行う(図11AのS183、S185参照)。
【0175】
撮像部2は、図5(a)の画像入力部11と同様に、撮影レンズ、撮像素子、撮像制御回路、画像データ処理回路等を有し、被写体の画像データを生成する。この画像データは、画像処理及び制御部1において画像処理が施される。また、撮像部2は、撮影レンズの画角情報、距離情報等の情報を画像処理及び制御部1に出力する。これらの情報は、状況部1c1が、撮影状況を判定する際に使用する。なお、カメラ10に装着されている撮影レンズが交換レンズの場合には、交換レンズ情報5bを入力すればよい。
【0176】
アクセサリ情報取得部5は、交換レンズ情報部5bを有する。交換レンズ情報部5bは、交換レンズの焦点距離情報、焦点位置情報、絞り値情報、バージョン情報等を有する。また、交換レンズ情報以外にも、例えば、装着されたストロボ装置の情報等、カメラのアクセサリ情報であればよい。アクセサリ情報取得部5は、取得した情報を画像処理及び制御部1に送信する。状況部1c1は、取得した情報も用いて状況を判定する。
【0177】
時計部3は、計時機能およびカレンダー機能を有する。撮像部2から出力される画像データは、日時情報等が関連付けられる。
【0178】
通信部9は、通信回路を有し、PC250と通信を行う。カメラ10から通信部9を通じて、直接または間接的に、撮影画像が外部機器20に送信され、モデル情報32、ガイド情報33を受信する。操作判定部6は、レリーズ釦、ダイヤル、操作釦等、種々の操作部材の操作状態を判定し、判定結果を画像処理及び制御部1に出力する。通信部9は、撮影状況および/または画像記録部に記録された画像を、学習装置に送信する送信部として機能する。通信部9は、撮影状況および/または画像記録部に記録された画像に基づいて、学習装置によって生成された推論モデルの内から選択された最適な推論モデルを受信する受信部として機能する。
【0179】
姿勢センサ7aは、加速度センサ、ジャイロ等でもよく、カメラ10の姿勢を検出する。GPS(Global Positioning System)7bは、カメラ10の位置を衛星測位システムによって測定する。方位センサ7cは、方位磁石を有し、カメラ10の撮影レンズが向いている方向を検出する。姿勢センサ7a、GPS7b、および方位センサ7cの出力は、画像処理及び制御部1に出力され、状況部1c1は、これらのセンサの出力に基づいて、カメラ10の状況を判定する。姿勢センサ7a、GPS7b、および方位センサ7cの全てを備えてもよいが、いずれかを省略してもよい。
【0180】
表示部8は、図5(a)の表示部15と同様に、表示パネル等を有し、撮像部2において取得した画像データに基づく表示を行う。また、推論部1c5における推論結果の表示を行う。また、ガイド記録部4cに記録されているガイド情報に基づく表示を行うようにしてもよい。設定部1c2において設定したリクエストを図5(b)に示すように表示を行うようにしてもよい。タッチパネル8bは、表示部8の前面側に設けられ、ユーザAが表示部8の表示面をタッチしたことを検出する。この検出結果は、画像処理及び制御部1に出力される。
【0181】
記録部4には、学習結果記録部4b、ガイド記録部4c、撮影画像記録部4dを有する。学習結果記録部4bは、設定部1c2によって設定され、イイネモデル学習部114によって深層学習された結果(推論モデル、または学習途中モデル)が記録される。また、状況部1c1によって検出されたカメラ10の状況に応じて、傾向判定部113が推奨した学習結果(推論モデル)も記録される。
【0182】
ガイド記録部4cは、外部機器20から送信されてきたガイド表示33を記録する。このガイド表示はイイネモデル学習部114で深層学習された生成された推論モデルを実行する際に、ユーザAへの参考となるガイド表示を行うためのデータが記録される。ガイド表示としては、露出制御値、焦点距離等の撮影操作にあたってのアドバイスの他、「イイネ」と評価されるようなサンプル画像であってもよい。
【0183】
なお、制御部110、画像処理及び制御部1内のCPUの周辺回路の全部または一部をCPU(Central Processing Unit)とプログラムコードによって実現するようにしてもよく、DSP(Digital Signal Processor)等のプログラムコードで実行される回路で実現するようにしてもよく、ヴェリログ(Verilog)によって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またハードウエア回路によって実行するようにしても勿論かまわない。また、CPUの機能の一部をDSP等のプログラムコードで実行される回路で実現するようにしてもよく、ヴェリログによって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またハードウエア回路によって実現するようにしてもよい。
【0184】
次に、図11Aないし図12Bに示すフローチャートを用いて、本実施形態に係る学習システムの動作について説明する。
【0185】
図11Aおよび図11Bに示すフローチャートはカメラ10における動作を示し、画像処理および制御部1がメモリに記憶されたプログラムに従ってフローチャートを実行する。カメラ制御のフローが開始すると、まず、撮影モードが否かを判定する(S171)。本実施形態においては、撮影モードがデフォルトモードであり、操作部材等によって他のモードが設定されていなければ、撮影モードと判定される。
【0186】
ステップS171における判定の結果、撮影モードであれば、次に、各種センサを起動し、アクセサリの判定を行う(S173)。ここでは、姿勢センサ7a、GPS7b、および方位センサ7c等のセンサを起動し、センサ検知結果を入力する。また、アクセサリ情報取得部5から、カメラ10にアクセサリ(例えば、交換レンズ)が装着されているか否かの判定を行う。交換レンズから焦点距離等の各種情報を取得する。
【0187】
次に、撮像を行い、スルー画を表示させる(S175)。ここでは、撮像部2によって画像データを取得し、画像処理及び制御部1は画像処理を行い、表示部8にスルー画を表示させる。
【0188】
続いて、推論を行う(S177)。後述するように、外部機器20からイイネモデル学習部114によって生成された推論モデルを受信しているので(S213参照)、このステップでは、推論部1c5が、受信した推論モデルを用いて、推論を行う。ここでの推論は、例えば、スルー画表示されている画像が、ユーザAが設定したリクエスト(条件)の下でで、第三者から高い評価(「イイネ」と評価)を受ける可能性があるか否かについて行われる。
【0189】
推論を行うと、次に、特定条件に合致するか否かについて判定する(S179)。ここでは、スルー画表示やアクセサリ(例えば、交換レンズ)が、ユーザAが設定した特定条件(リクエスト)と合致しているかを判定する。
【0190】
ステップS179における判定の結果、特定条件に合致する場合には、対応ガイドUI(User Interface)表示を行う(S181)。ここでは、推論部1c5における推論の結果が、第三者による高い評価(「イイネ」と評価)を受けると予想される場合には、表示部8に、スルー画と共に、「ユーザAが設定した条件に合致し、「イイネ」と評価されそうであることを表示する。また、合致とは、完全合致でなくてもよい。この場合には、完全合致されるための撮影について、ガイド表示を行うようにしてもよい。
【0191】
一方、ステップS179における判定の結果、特定条件に合致しない場合には、特に、その旨を表示しない。しかし、「イイネ」と評価されそうにない場合に、ガイド記録部4cに記録されているガイド情報33に基づいて表示を行うようにしてもよい。この場合のガイド情報としては、このテーマなら、どのよう撮影すれば「イイネ」と評価されるかのアドバイスを行う。例えば、イイネと評価される画像と、現在のスルー画の差分をアドバイス表示としてもよい。すなわち、イイネと評価される画像と同様の画像を撮影するための、絞り値、シャッタ速度値、撮影方向、焦点距離等を表示する。また、「イイネ」と評価されるサンプル画像を表示するようにしてもよい。
【0192】
ステップS181において対応ガイドUI表示を行うと、またはステップS179における判定の結果、特定条件に合致しない場合には、次に、ユーザガイドを採用したか否かを判定する(S183)。前述したように、ステップS177における推論結果に基づいて、表示部8にユーザガイドが表示される。特定条件に不完全に合致している場合、または合致しない場合にも、第三者に評価されるような撮影のガイドがなされる。しかし、このような場合に、ユーザがガイドを無視し、ガイドとは異なる撮影を行う場合がある。このステップでは、ユーザが表示部8に表示されたガイドを採用したか否かについて判定する。
【0193】
ステップS183における判定の結果、ユーザガイドを採用していなかった場合には、教師データを刷新した学習を依頼する(S185)。ユーザがガイドを採用しなかったのは、推論が現状に合致していないことが推測される。そこで、外部機器20のDB管理部115に新しい教師データを作成し、イイネモデル学習部114にて再学習を行うことを依頼する。なお、外部機器20は、予め刷新した教師データを用いて、深層学習を行い、この生成した推論モデルを、モデルDB部130に記憶している場合がある。この場合には、再学習を行うことなく、モデルDB130に記憶されている推論モデルを選択して、カメラに送信する。
【0194】
ステップS185において教師データを刷新した学習を依頼すると、またはステップS183における判定の結果、ユーザガイドを採用した場合には、次に、撮影するか否かを判定する(S187)。ここでは、カメラ10のレリーズ釦が全押しされたか否かに基づいて判定する。ユーザAは、撮影を行うか否かあたって、ステップS61における対応ガイドUI表示を参考にすることができる。この判定の結果、撮影でない場合には、ステップS171に戻り、前述の動作を実行する。
【0195】
ステップS187における判定の結果、撮影の場合には、次に、アドバイスを採用して撮影するか否かを判定する(S189)。ユーザAは、ステップS181において表示された対応ガイドUI表示に従って撮影を行う場合には、操作部材またはタッチパネルによってその旨を表示する。または、絞り、シャッタ速度、撮影方向、焦点距離等、対応ガイドUI表示に従ったことを各種センサ出力および/または操作部材等の操作状態に基づいて判定できた場合には、自動的にアドバイスを採用したと判定するようにしてもよい。
【0196】
ステップS189における判定の結果、アドバイスを採用した場合には、推論補助部1b1は、その時の画像および状況を記録し、また採用ガイド情報を関連付けて記録部4に記録する(S191)。この場合には、画像と撮影状況を記録し、採用したアドバイス(ガイド情報)を画像に関連付けて記録しておく。アドバイスを受け入れるかどうかの結果を蓄積することにより、カメラ10を使用するユーザが好むアドバイスと好まないアドバイスを判定することができる。あえて採用されなかったアドバイスは、ユーザには受け入れがたい内容であると考えられる。このような余計なアドバイスは、そのユーザにとって煩わしい場合が多く、次に同様の状況になった際に、同じアドバイスを表示しないようにすればよい。
【0197】
また、ステップS191において、どのような推論モデルを使用したかを記録しておけば、その画像が自らの良否判定のみによって取得したものか、ガイドによるものかを証拠として記録しておくことができる。この結果、ガイドに即して撮影したのにもかかわらず、評価が低くなった場合などは、新たな学習を行うのが好ましい。これによって、本実施形態の特徴である学習の刷新のトリガとすることができる。具体的には、このような画像を多数投稿しても、イイネと評価されない場合は、この推論モデルが時代遅れになっていると考えてもよいし、そもそも、良い教師データが過去にはなかったとも考えられる。
【0198】
一方、ステップS189における判定の結果、アドバイスを採用しなかった場合には、画像と状況を記録する(S193)。アドバイスが採用されなかった画像および状況を記録することにより、次の推論の際に参考にすることができる。なお、ステップS185における再学習の依頼を、このステップS193において実行するようにしてもよい。このような状況を記録しておくことによって、ユーザが必要とする推論モデルの判定、あるいは、必要とする教師データの母集合の作り方に反映することができる。また、このような画像をアップした場合、イイネと評価されない場合は、ユーザの責任であり、推論エンジンを使った方が良いという判断を、カメラまたは外部装置が行う時の参考データとなる。
【0199】
ステップS191、またはS193において記録を行うと、次に、所定時間が経過したか否かを判定する(S195)。撮影後、所定時間が経過したか否か、例えば、所謂レックビュー表示時間が経過したか否かについて判定する。この判定の結果、所定時間が経過していない場合には、ステップS187において撮影した画像を表示部8に表示する。一方、判定の結果、所定時間が経過すると、ステップS171に戻り、前述の動作を実行する。
【0200】
ステップS171に戻り、この判定の結果、撮影モードでない場合には、再生モードであるか否かについて判定する(S201)。再生モードは、記録部4に記録された撮影画像を表示部8に再生表示するモードである。ユーザAが再生釦を操作する等により再生モードを選択することにより、実行される。このステップにおける判定の結果、再生モードが選択された場合には、再生モードで作動する(S203)。再生モードが終了すると、ステップS171に戻る。
【0201】
ステップS201における判定の結果、再生モードでない場合には、画像送信モードであるか否かについて判定する(S205)。画像送信モードは、カメラ10からPC250を通じて、外部機器20に撮影画像31を送信するモードである。画像モードは、ユーザAが画像送信釦を操作する等により画像送信モードが設定される。このステップにおける判定の結果、画像送信モードが選択された場合には(図12AのS233参照)、送信モードで作動する(S207)。送信モードが終了すると、ステップS171に戻る。
【0202】
ステップS205における判定の結果、画像送信モードでない場合には、撮影状況データ等を送信する(S209)。画像送信モードでない場合には、残るモード、すなわち推論モデル取得モードとなる。ここでは、状況部1c1が収集した撮影状況、および記録部に記録されている画像に関する情報を、PC250を通じて、外部機器20に送信する。外部機器20は、受信した撮影状況に関する情報に基づいて、ユーザAに最適の推論モデルを検索し、カメラ10に送信する。この最適の推論モデルの検索については、図12Bを用いて後述する。なお、第2実施形態と同様に、ユーザがリクエストを作成し、外部機器20に学習を依頼してもよい。
【0203】
撮影状況データ等を送信すると、推論モデル等を取得したか否かについて判定する(S211)。前述したように、外部機器20は撮影状況に関する情報に基づいて最適の推論モデルを送り返してくる。
【0204】
ステップS211における判定の結果、推論モデル等を取得できない場合には、ステップS171に戻り、前述の動作を実行する。一方、推論モデル等を取得した場合には、取得した推論モデル等を記録部4に記録する(S213)。
【0205】
図12Aおよび図12Bに示すフローチャートは、外部機器20における動作を示し、制御部110がメモリに記憶されたプログラムに従ってフローチャートを実行する。画像管理サーバのフローが開始すると、まず、画像鑑賞か否かの判定を行う(S221)。ユーザAがPC250またはカメラ10等において、画像記録部140に記録されている画像を鑑賞したい場合がある。この場合には、PC250等からアクセス判定部111にその旨のアクセスがある。PC250等は、画像管理サーバにアクセスする際に、画像の検索条件等を送信する。
【0206】
ステップS221における判定の結果、画像鑑賞の場合には、検索条件等でアップされた画像を選択一覧表示する(S223)。この場合には、画像記録部140に記録されている画像の中から、検索条件に従って検索を行う。検索が終わると、表示制御部112は、選択された画像を一覧表示できるようにしてから、PC250等にデータを送信する。
【0207】
続いて、イイネ画像を選択操作したか否かを判定する(S225)。ユーザAが表示部8に表示された画像の中で、気に入った画像があれば、「イイネ」をクリックし、気に入ったことを送信する。ここでは、ユーザAが「イイネ」と評価したか否かを判定する。
【0208】
ステップS225における判定の結果、イイネ画像として選択操作した場合には、イイネを選択した人のプロフィールと、画像の関連付けを行う(S227)。ここでは、イイネを選択した人(すなわちユーザA)、イイネと評価された人(すなわち選択された画像の投稿者)、および選択された画像を、関連付ける。特定の人が、特定の人の画像をイイネと評価することが多い場合があることから、イイネを選択した人のプロフィールと、イイネと評価される人のプロフィールの両方を記録しておけば、両者の関係を推測することができる。つまり、投稿した人と評価をした人の関係なども考慮した評価がされることが好ましい。さらに、どんな画像であっても高い評価を付ける人や、なかなか高い評価を付けない人もいるので、プロフィール情報は、こうした評価者の性格なども含めるようにしてもよい。
【0209】
続いて、カテゴライズ等の集計を行う(S229)。ステップS227で各画像と各評価者の関係を判定している。「イイネ」と評価された画像は、様々な人が入れ替わり立ち替わり評価を行っている場合があり、この評価を分析することにより、どのようなプロフィールの人からどのような評価がされているかが分かる。また、評価者と被評価者のプロフィールを分析することにより、どのような分類の画像が評価を与えたり又は受けたりするかが判定できる。さらには、このような共通のプロフィールの人は、このような画像を好む傾向にあるといったカテゴライズ等も可能となる。
【0210】
また、ステップS229において、制御部110は、上述したように、ステップS227における関連付け行った情報を用いて、分類等を行う。画像に添付されている情報(例えば、Exif情報)等にから、撮影時の焦点距離、焦点位置、絞り値、シャッタ速度値、撮影レンズの方向、フラッシュ装置の利用等の情報を取得し、この情報に基づいて分類する。また画像解析することにより、写真のテーマ、例えば、風景、人物、料理等で分類分けしてもよい。また、画像に投稿者(撮影者)のプロファイルが添付されていれば、投稿者の国籍、性別、年齢層等で分類分けしてもよい。また、画像にコメントが付されていた場合には、このコメントに基づいて分類分けしてもよい。
【0211】
カテゴライズ等の集計を行うと、次に、終了か否かについて判定する(S231)。ここでは、アクセス判定部111が、ユーザAからのアクセスが終了したか否かを判定する。この判定の結果、終了でない場合には、ステップS223に戻り、前述の動作を実行する。一方、終了の場合には、ステップS221に戻り、前述の動作を実行する。
【0212】
ステップS221における判定の結果、画像鑑賞でない場合には、カメラ接続か否かについて判定する(S233)。ここでは、カメラ10から直接、またはPC250を介して、画像管理サーバに接続されているか否かを判定する。
【0213】
ステップS233における判定の結果、カメラ接続の場合には、画像整理か否かについて判定する(S235)。ここでは、画像記録部140に記録されている撮影画像を整理するか、または撮影画像を画像記録部140に記録すると共に整理を行うか否かを判定する。ユーザAは、外部機器20に接続した際に、作業内容を指定することから、この作業内容に基づいて判定する。
【0214】
ステップS235における判定における判定の結果、画像整理であった場合には、写真整理、フォルダ分け、アルバム化、投稿等の処理を実行する(S237)。ユーザAが第三者にも画像を鑑賞してもらいたい場合には、画像投稿を行う。このような投稿画像は、SNS等によりコミュニティを作って批評しやすい環境にすることも出来る。前述のように、画像の評価にあたって、評価者や被評価者の間の人間関係も考慮した方が良いことから、このとき、ユーザAのプロフィールも併せて記録する。プロフィールを記録することにより、単に知り合いというだけで「イイネ」と評価した場合を排除することも可能となる。しかし、このような「イイネ」を排除しなくても、「イイネ」が多いか又は少ないかが明解な場合は、トータルで学習させても、主観的に評価される画像とされない画像を区別することができる。ステップS237における写真整理等を行うと、ステップS221に戻り、前述の動作を実行する。
【0215】
ステップS233における判定の結果、カメラ接続でない場合には、依頼または更新か否かを判定する(S241)。カメラ10において、推論モデルの送信を依頼する場合があり(S211、S213)、また推論モデル生成用の母集合を刷新して再学習することによって推論モデルを更新することが要求してくる場合がある(S185)。このステップでは、このような依頼または更新の要求があったか否かについて判定する。この判定の結果、要求がない場合には、ステップS221に戻り、前述の動作を実行する。
【0216】
ステップS241における判定の結果、依頼または更新の要求が有った場合には、イイネ画像判定を行う(S243)。ここでは、外部機器20にアクセス可能なユーザのために、推論モデルを生成する作業をステップS143〜S261において実行する。まず、このステップでは、画像記録部140に記録されている画像の中で、第三者から高い評価(「イイネ」と評価)を受けた画像を抽出する。この画像は、イイネモデル学習部114で深層学習する際の入力画像(入力層Iに設定)として使用する。
【0217】
イイネ画像判定を行うと、次に、全分野深層学習を行う(S245)。ここでは、一般的に、「イイネ」と評価されるための画像の推論モデルを生成するための深層学習を行う。この深層学習は、図1Bを用いて説明したように、全分野の画像(母集合)を入力層Iに入力した際に、出力層Oからイイネが出力されるように、中間層のニュートラルN11〜N2nの結合の強さ、重み付け等を調整する。この調整された中間層のニュートラルの結合の強さ、重み付け等が推論モデルである。また、深層学習する際には、撮影状況も推論モデル作成にあたって反映されるようにする。最適な推論モデルを推奨する際に利用するためである(S275参照)。
【0218】
全分野深層学習を行うと、第1推論モデルを作成する(S247)。深層学習が終了した際の中間層のニュートラルの結合の強さ、重み付け等を第1モデルとして、モデルDB部130に記録する。なお、この推論モデルは、汎用性の推論モデルであり、特定カテゴリに適した推論モデルが生成されていない場合には、この汎用性のある推論モデルが外部装置に送信される。
【0219】
第1推論モデルを作成すると、次に、第1ガイドを作成する(S249)。第1推論モデルを作成すると、この第1推論モデルで写真を撮影できるようにするための第1ガイド情報を作成する。この第1ガイドは、評価される画像と評価されない画像との差異を検出して作成する。この際の検出にあたっては、撮影時や観察時の入力画像を評価するための学習用の推論モデル、また入力画像がいずれのカテゴリに属するかの学習用推論モデルを利用して差異を検出するようにしてもよい。いずれにしても、評価された画像と評価されなかった画像の差異が検出されるような学習を行った推論モデルを作成すればよい。
【0220】
ステップS243〜S249において、汎用性の高い一般的な推論モデル(辞書)とガイドが作成できる。しかし、さらに、絞り込まれたリクエストによって、カスタマイズした推論モデルを得るようにしてもよい。例えば、教師データを刷新して再学習によって、推論モデルを生成し、第1推論モデルを更新するようにしてもよい。
【0221】
第1ガイドを作成すると、次に、送信等を行い、学習時の日付を記録し、履歴の管理を行う(S251)。ここでは、ステップS249で作成された第1ガイドをカメラ等に送信する。また、この推論モデルを作成するために深層学習を行った日付(日時情報)をモデルDB部130またはDB管理部115に記録する。さらに、過去の推論モデルの生成を行った際に使用した、推論用母集合の作成条件等、母集合に関する条件、教師用データに関する情報、推論モデルの送信先等、種々の情報を、履歴として、モデルDB部130またはDB管理部115に記録する。履歴を管理することによって、次回の刷新や再学習のタイミングなどの条件を決めることができる。
【0222】
ステップS251において履歴管理等を行うと、次に、特定カテゴリにイイネの数が増加したか否かについて判定する(S253)。例えば、「フランスの20代女性から評価を受ける写真」について、イイネの数が増加するような場合がある。このステップでは、カテゴリごとにイイネの数をウォッチし、この数に基づいて判定する。この判定の結果、特定カテゴリにイイネの数が増加していない場合には、ステップS221に戻り、前述の動作を実行する。
【0223】
ステップS253における判定の結果、特定カテゴリにイイネの数が増加した場合には、特定分野について深層学習を行う(S255)。ここでは、イイネの数が増加した特定カテゴリについて、画像データの母集合を限定し、深層学習を行う。
【0224】
特定分野の深層学習を行うと、第n推論モデルを作成する(S255)。深層学習が終了した際の中間層のニュートラルの結合の強さ、重み付け等を第nモデルとして、モデルDB部130に記録する。なお、この推論モデルは、複数記録可能であり、第n推論モデル、第n+1推論モデル、第n+2推論モデル、・・・と、順次、追加していく。
【0225】
第nモデルを作成すると、次に、第nガイドを作成する(S259)。第nの推論モデルを作成すると、この第n推論モデルで写真を撮影できるようにするためのアドバイスを作成する。アドバイスとしては、露出制御値、焦点距離、焦点位置、撮影レンズの方向等、種々のアドバイスを含むようにしてもよい。また、第nモデルで撮影できるサンプル写真であってもよい。
【0226】
第nガイドを作成すると、次に、ステップS251と同様に、送信等を行い、学習時の日付を記録し、履歴の管理を行う(S261)。ここでは、ステップS259で作成された第nガイドをカメラ等に送信する。また、この推論モデルを作成するために深層学習を行った日付(日時情報)をモデルDB部130またはDB管理部115に記録する。さらに、過去の推論モデルの生成を行った際に使用した、推論用母集合の作成条件等、母集合に関する条件、教師用データに関する情報、推論モデルの送信先等、種々の情報を、履歴として、モデルDB部130またはDB管理部115に記録する。
【0227】
ステップS261における履歴管理は、特定カテゴリ対象の推論モデルに関しており、この推論モデルは、リクエスト条件に特定のシーン限定などが入った条件で募集合を作られた教師データで学習したものであるから、シーンの情報などは厳密に特定することが好ましい。この特定は、カメラが行っていても、外部機器側でその特定の切り分けで画像を分類していない可能性があるので、汎用モデルと違って、より母集合の作成方法に工夫が必要である。したがって、ここでの履歴管理は母集合を正しく作成できるような情報であることが好ましい。例えば、星空のようなシーンを特定したくても、外部機器には夜景しかない場合があり、このような不整合を解消するために、夜景からさらに画像の特徴や仰角情報や付けられたコメントなどで絞り込みを行う必要がるので、履歴管理が重要となる。また、母集合設定の困難さから、前回の学習が失敗している可能性が高いので、ユーザにより頻繁に更新を推奨した方が良いとも考えられる。ステップS261において履歴管理等を行うと、ステップS221に戻り、前述の動作を実行する。
【0228】
ステップS235に戻り、このステップにおける判定の結果、画像整理でなかった場合には、撮影状況、撮影画像の傾向判定を行う(S271)。ステップS209(図11B)において、状況部1c1が収集した撮影状況と、撮影画像記録部4dに記録されている撮影画像が外部機器20に送信されている。このステップでは、傾向判定部113が、カメラ10の撮影状況、およびユーザAの撮影の好みの傾向を判定する。
【0229】
次に、教師データを刷新する(S273)。ここでは、ステップS271において判定された、撮影状況の変化や撮影画像の傾向に応じて、教師データを刷新する。すなわち、深層学習用に教師データとして抽出する画像データの条件を変更する。
【0230】
教師データを刷新すると、次に、最適モデルが有るか否かについて判定する(S277)。傾向判定部113は、ステップS271において行った傾向判定を行っている。この傾向判定が、第1イイネモデル131等のイイネモデルにおける画像特徴入力、特徴抽出、特徴学習等と一致度が高いイイネモデルを検索し、これを最適モデルとする。このステップでは、モデルDB130の中からユーザAに薦める最適モデルが有るか否かについて判定する。
【0231】
ステップS275における判定の結果、最適モデルが有る場合には、最適モデルを推奨する(S277)。ここでは、ステップS275において抽出したモデルを最適モデルとして設定する。
【0232】
続いて、ユーザ要求があるか否かを判定する(S279)。ここでは、ユーザAから最適モデルの送信要求があるか否かについて判定する。なお、撮影状況等がユーザAの操作により送信されてきた場合には、自動的にユーザの要求があったと判定してもよい。
【0233】
ステップS279における判定の結果、ユーザ要求があった場合には、旧モデルとガイドを消去する(S281)。ここでは、前回、送付した旧推論モデルおよび旧ガイドを消去する。旧推論モデル等を消去するのは、省エネ設計、それに伴う発熱の問題や携帯性や省スペースを考慮すると、すべての使用シーンに対応した推論モデルを無数に有することは、機器、装置の設計や製造上適切ではないからである。上述の問題点が許される分野の装置であれば消去はしなくてもよい。余計な判断が矛盾する可能性から、推論モデルの優先度を下げるような工夫をしてもよい。
【0234】
続いて、新モデルおよび新ガイドを送信する(S285)。ステップS277において設定した最適モデル(新モデル)と、この最適モデルに基づいて作成したガイドを、カメラ10に送信する。カメラ10では、前述したように、受信した推論モデルおよびガイドを記録する(S213参照)。
【0235】
新モデルおよび新ガイドを送信すると、またはステップS275における判定の結果、最適モデルがない場合、またはステップS279における判定の結果、ユーザ要求がない場合には、ステップS221に戻り、前述の動作を実行する。
【0236】
このように、本発明の第3実施形態においては、ユーザが推論モデルを用いて推論したガイドやアドバイスを採用しなかった場合には、推論モデルを再生成するように、外部機器20に依頼する(S183、S185、S193)。このため、撮影状況や、撮影の好み等が変化した場合に、推論モデルを更新し、ユーザの好みに適合した推論モデルに基づくガイドやアドバイスを行うことができる。
【0237】
以上説明したように、本発明の各実施形態においては、推論モデルを推論部に設定し(例えば、図3のS1、図6のS81、図11BのS213参照)、画像データを入力し、推論モデルを用いて、ユーザにガイド表示を行うための出力を得て(例えば、図3のS3、図6のS55、図11AのS177参照)、推論部の出力に基づいてガイド表示を行っている(例えば、図3のS9、図6のS57、図11AのS181参照)。また、推論モデルの更新について判定し、この判定の結果に基づいて、外部の学習装置に推論モデルの更新を依頼、もしくは推論モデルの更新が必要か否かの判定を依頼する(例えば、図3のS15、S19、図6のS63、図11AのS183、S185参照)。このため、状況等が変化しても適切なガイド等を行うことができるように、推論モデルを更新することができる。
【0238】
また、本発明の各実施形態においては、カメラ10や工業用内視鏡301等の機器内の制御部、および制御部に組み込まれたプログラム等は、ソーシャル・ネットワーク・システムと連携可能なコンピュータ組み込み方法を実行する。コンピュータ組み込みソフトウエアは、組み込み機器に搭載されて動作するソフトウエアであり、コンピュータ組み込み方法は、このソフトウエアによって実現する方法を意味する。また、ソーシャル・ネットワーク・システムは、コンテンツ・アイテムが時間的に随時掲載(投稿)可能であり、接続されたユーザが追加可能であり、掲載されたコンテンツ・アイテムが随時、ソーシャル・ネットワーク・システムのユーザから品質評価(好みを含めてもよい)されることが可能である。例えば、上述したように、画像をソーシャル・ネットワークにアップロードすると、第三者の閲覧が可能になり、第三者から「イイネ」等、品質評価を受け、アップロードした画像と品質評価を関連付けることができる。また、本実施形態におけるコンピュータ組み込み方法は、掲載されたコンテンツ・アイテムのうち、品質評価の情報が付随した特定のコンテンツ・アイテムを教師データとしたコンテンツ・アイテムの特徴から品質評価を推論する推論モデルが、時間的な推移によって追加されたコンテンツ・アイテムの変化やコンテンツ・アイテムの評価傾向の時間的変化によって当初の狙いの推論結果が出力できなくなったことを判定することができる(例えば、図6のS63〜S69、図7のS111〜S121、図8のS151〜S165、図11AのS185、図12BのS241〜S261等参照)。
【0239】
また、上述のソーシャル・ネットワーク・システムと連携可能なコンピュータ組み込み方法であって、このコンピュータ組み込み方法は、コンテンツ・アイテムを教師データとして使用して機械学習した時の条件を履歴として記録するステップを有し、この記録された履歴に従って、新たな教師データを生成する(例えば、図8のS153参照)。例えば、前回、深層学習した際のリクエスト等の条件に従って、母集合を生成し、この母集合を用いて推論モデルを生成してもよい。
【0240】
また、上述のソーシャル・ネットワーク・システムと連携可能なコンピュータ組み込み方法であって、このコンピュータ組み込み方法は、特定のユーザが、コンテンツ・アイテムを教師データとして使用して機械学習した時の条件を履歴として記録するステップを有する(例えば、図12BのS251、S261等参照)。例えば、推論モデルを生成した際には、生成に当たって使用した条件の履歴、例えば、日時、リクエスト(シーン、評価者等)、母集合情報等、として記録しておく。この履歴を管理することにより、次回、推論モデルを生成する際に使用することができる。
【0241】
また、ソーシャル・ネットワーク・システムと連携可能なコンピュータ組み込み方法であって、ソーシャル・ネットワーク・システムは、コンテンツ・アイテムが時間的に随時掲載(投稿)可能であり、接続されたユーザが追加可能であり、掲載されたコンテンツ・アイテムが随時、ソーシャル・ネットワーク・システムのユーザから品質評価(好みを含めてもよい)されることが可能である。また、コンピュータ組み込み方法は、特定のユーザが、コンテンツ・アイテムを教師データとして使って機械学習した時の条件(例えば、カメラと外部機器とのカテゴリの不整合を解消するような)履歴として記録するステップを有する(例えば、図12BのS261参照)。
【0242】
なお、本発明の各実施形態においては、学習装置における学習は、深層学習を行っていたが、これに限らず、機械学習等の人工知能を利用した学習であれば、よい。また、推論モデルは、学習装置がカメラ等から推論モデルの生成の依頼を受けて行っていた。しかし、カメラ等において、学習装置を内蔵し、外部のデータベース等と連携しながら、推論モデルを生成するようにしてもよい。更に、カメラ等に推論エンジンを設け、推論を行っていた。しかし、これに限らず、クラウド内に設けた外部サーバに推論エンジンを配置し、インターネット等によって常時接続し、クラウド内の推論エンジンによる推論結果に基づいて、表示等を行ってもよい。
【0243】
また、本発明の各実施形態においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもミラーレスカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォン、携帯情報端末、パーソナルコンピュータ(PC)、タブレット型コンピュータ、ゲーム機器等に内蔵されるカメラ、医療用カメラ、顕微鏡等の科学機器用のカメラ、自動車搭載用カメラ、監視用カメラでも構わない。いずれにしても、画像データを入力可能であり、また外部画像データベースに直接的または間接的にアクセスすることが可能な機器であれば、本発明を適用することができる。
【0244】
また、近年は、様々な判断基準を一括して判定できるような人工知能が用いられる事が多く、ここで示したフローチャートの各分岐などを一括して行うような改良もまた、本発明の範疇に入るものであることは言うまでもない。そうした制御に対して、ユーザが善し悪しを入力可能であれば、ユーザの嗜好を学習して、そのユーザにふさわしい方向に、本願で示した実施形態はカスタマイズすることが可能である。
【0245】
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
【0246】
また、本発明の一実施形態においては、フローチャートを用いて、本実施形態における動作を説明したが、処理手順は、順番を変えてもよく、また、いずれかのステップを省略してもよく、ステップを追加してもよく、さらに各ステップ内における具体的な処理内容を変更してもよい。
【0247】
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
【0248】
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0249】
1・・・画像処理及び制御部、1a・・・表示制御部、1b・・・記録制御部、1b1・・・推論補助部、1c・・・撮影時情報付与部、1c1・・・状況部、1c2・・・設定部、1c4・・・バージョン情報、1c5・・・推論部、1d・・・学習管理部、2・・・撮像部、3・・・時計部、4・・・記録部、4b・・・学習結果記録部、4c・・・ガイド記録部、4d・・・撮影画像記録部、5・・・アクセサリ情報取得部、5b・・・交換レンズ情報部、6・・・操作判定部、7a・・・姿勢センサ、7b・・・GPS、7c・・・方位センサ、8・・・表示部、8b・・・タッチパネル、9・・・通信部、10・・・カメラ、11・・・画像入力部、12・・・推論エンジン、13・・・記憶部、13a・・・学習成果物、14・・・通信部、15・・・表示部、16・・・設定部、17・・・制御部、20・・・外部機器、21・・・外部画像DB、22・・・通信部、23・・・画像分類部、23a・・・フォロワプロフィール、23b・・・テーマ、25・・・学習部、26・・・通信部、27・・・母集合作成部、28・・・入出力モデル化部、29・・・制御部、30・・・サーバ、31・・・撮影画像、32・・・モデル情報、33・・・ガイド情報、110・・・制御部、111・・・アクセス判定部、112・・・表示制御部、113・・・傾向判定部、114・・・イイネモデル学習部、120・・・通信部、130・・・モデルDB部、131・・・第1イイネモデル、131a・・・画像特徴入力、131b・・・第1特徴抽出、131c・・・第1特徴学習、131d・・・出力、140・・・画像記録部、141・・・画像データ、141b・・・犬の画像データ、141c・・・猫の画像データ、142・・・人気情報、143・・・付随情報、200・・・学習装置、200A・・・学習装置、200B・・・学習装置、201A・・・旧データセット、201B・・・新データセット、203・・・推論エンジン、203A・・・推論エンジン、203B・・・推論エンジン、204A・・・学習開始部、205A・・・入力部、205B・・・外部出力部、206A・・・出力部、207A・・・学習管理制御部、210・・・外部装置、250・・・PC、301・・・工業用内視鏡、302・・・挿入部、302a・・・先端部、302b・・・湾曲部、302c・・・可撓管部、303・・・撮像部、311・・・管、311a・・・管、311b・・・管、312・・・継ぎ目、313・・・錆、 400・・・ネット
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図12A
図12B