被写体認識機能付きカメラ
【課題】 被写体認識手段をカメラに搭載することを容易すると共に、被写体情報の認識精度や認識スピードを向上させ、操作性の良好なものにする。
【解決手段】 カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報を認識する被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードに応じて被写体情報を認識する為の認識アルゴリズムを変更(#108〜#111)する。
【解決手段】 カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報を認識する被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードに応じて被写体情報を認識する為の認識アルゴリズムを変更(#108〜#111)する。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の画素からなるエリアセンサの出力を用いて撮影する被写体を認識する被写体認識手段を有する被写体認識機能付きカメラの改良に関するものである
【0002】
【従来の技術】最近のカメラは機能の自動化が進み、例えば図2に示すような撮影モードダイヤル43に設定可能な複数の撮影モードを持たせ、撮影者が撮影したいシーンに応じてそれに対応した絵表示の位置に該撮影モードダイヤル43を設定すれば、あらかじめプログラミングしていた制御方法でカメラを動作させることができるようになっている。したがって、ユーザーは特にカメラの機能の知識がなくとも、撮りたい撮影シーンや状況に応じて絵表示の中から一つを選べば、後はシャッタを押すだけという簡便なものであった。
【0003】しかし、撮影シーンは設定できても、被写体がどのようなもので、どこにあるのか、具体的には画面内での被写体の位置,大きさ,数などは判らないため、撮影したい被写体に最適な露出制御やオートフォーカスを行うことは正確にはできなかった。従って、ピント合わせも失敗のないようにある程度の被写界深度を持たせた絞りを固定して設定にしたりというように、あらかじめ決められたプログラム線図に沿ったAE露出や、適していると思われるAFモードを選択するだけであった。また、逆光のシーンなどの背景と被写体に明るさの差がある場合には、被写体だけに露出を合わせることは難しかった。さらに別の面では、動きのある被写体を常に追尾して露出やオートフォーカスを合わせることも難しいものであった。
【0004】そこで、撮影する被写体を認識する被写体認識手段を備えたカメラが望まれていた。例えば特開平6−160944号では、撮影モードの中で動体を撮影するのに適した撮影モードが選択されると、被写体追尾装置を自動的に作動させる制御手段を設けたカメラが提案されており、指定されたエリア内の被写界の色差信号を検出して、この変化によって主要被写体がどの位置に動いたかを検出するようになっている。
【0005】
【発明が解決しようとする課題】しかしながら、このような色差信号による追尾方法だけでは被写体を正確に把握することはできず、特に被写体の多くを占める人物写真においては有効とならないと言う問題があった。一方では、顔を認識する技術はかなり多くの研究がみられ、カラー画像の中から顔を抽出する方法として、特開平8−63597号など多くの提案がなされているが、いずれにおいても認識するまでの演算量が相当のものとなり、カメラという限られたスペース、マイコン能力、コストにおいてはこれらを実現することは難しいものがあった。特に認識スピードにおいてはシャッタを切るまでの僅かな時間の間に処理しなければならず、高速処理することがぜひとも必要であった。
【0006】(発明の目的)本発明の第1の目的は、被写体認識手段をカメラに搭載することを容易すると共に、被写体情報の認識精度や認識スピードを向上させ、操作性の良好な被写体認識機能付きカメラを提供しようとするものである。
【0007】本発明の第2の目的は、被写体情報の認識アルゴリズムを複雑にする事なく、撮影モードに応じて精度良く被写体情報の認識を行うことのできる被写体認識機能付きカメラを提供しようとするものである。
【0008】本発明の第3の目的は、被写体情報の認識の為の負荷を軽減し、被写体認識手段をカメラに搭載することをより容易なものにすることのできる被写体認識機能付きカメラを提供しようとするものである。
【0009】
【課題を解決するための手段】上記第1の目的を達成するために、請求項1に記載の発明は、カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報を認識する被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードに応じて、被写体情報を認識する為の認識アルゴリズムを変更する被写体認識機能付きカメラとするものである。
【0010】また、上記第2の目的を達成するために、請求項2に記載の発明は、カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報を認識する被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードに応じて、被写体情報を認識する認識アルゴリズム及び該認識アルゴリズムを構成するパラメータを変更する被写体認識機能付きカメラとするものである。
【0011】また、上記第3の目的を達成するために、請求項5に記載の発明は、カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報のうち少なくとも顔を認識する顔認識アルゴリズムを備えた被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードによっては前記顔認識アルゴリズムの動作を行わない被写体認識機能付きカメラとするものである。
【0012】
【発明の実施の形態】以下、本発明を図示の実施の形態に基づいて詳細に説明する。
【0013】図1は本発明を一眼レフカメラに適用した際の要部構成図である。同図において、1は撮影レンズ(簡略して4枚のみで図示)で、その構成レンズの一部1aは焦点位置を調節するフォーカスレンズ、1bはぶれ補正用レンズである。ぶれ補正用レンズ1bは光軸Kと直交する平面において移動することが可能となっており、それによって該撮影レンズ1の結像面内で結像位置を変化させることによって公知の手ぶれ補正を行えるようになっている。2は主ミラーであり、ファインダ系による被写体像の観察状態と被写体像の撮影状態に応じて撮影光路へ斜設されあるいは待避される。3はサブミラーであり、主ミラー2を透過した光束をカメラボディの下方の後述する焦点検出装置6へ向けて反射する。4はシャッタ、5は撮影レンズ1の焦点面に位置するフィルムないし固体撮像素子である画像記録部材である。
【0014】6は焦点検出装置であり、結像面近傍に配置された視野マスク61、フィールドレンズ62、反射ミラー63,66、二次結像レンズ65、絞り64、公知の位相差検出方式の焦点検出用ラインセンサ67等から構成されている。焦点検出装置6は最近では画面の中央だけでなくその周辺においても複数の焦点検出点(スディフォーカス情報を検出する為の領域)を設けたものが実現されている。この実施の形態においても、このような複数の焦点検出点を備えた焦点検出装置を想定しているが、この点については既に公知な技術であり詳細な説明は省略する。7は撮影レンズ1の予定結像面に配置されたピント板、8はペンタプリズムである。9と10はそれぞれファインダ観察面内の被写体輝度を測定するための結像レンズと測光センサであり、測光センサ10は画面内の複数の領域を測光できるように複数のフォトダイオードから構成されている。11はファインダ光路内に設けられた半透過ミラーであり、ファインダ光の一部は図1の上方に反射され、結像レンズ12によって公知のエリアセンサ13にピント板7に結像している被写体像を再結像する。一方、半透過ミラー11を透過したファインダ光は接眼レンズ14に導かれ、撮影者が被写体像を拡大して観察できるようになっている。15はペンタプリズム8の前面に配置されたストロボユニットであり、発光時にはポップアップするリトラクタブル機構を備えている。16は撮影者の手ぶれを検出するために光軸Kに対してピッチ方向とヨー方向の角速度を検出するように配置された振動ジャイロなどのぶれ検出センサである。
【0015】31は撮影レンズ1内に設けられた絞り、32は絞り駆動装置、33はフォーカスレンズ駆動用モータ、34は駆動ギヤ等からなるフォーカスレンズ駆動装置である。35はフォトカプラとフォーカスレンズ駆動装置34に取り付けられたパルス板からなるエンコーダであり、フォーカスレンズ駆動装置34の駆動量を検知してレンズ制御回路104に伝えており、該レンズ制御回路104はこの情報とカメラからフォーカスレンズ駆動量の情報に基づいてフォーカスレンズ駆動用モータ33を所定量駆動させ、フォーカスレンズ1aを合焦位置に移動させるようになっている。
【0016】36は撮影レンズ1の絶対位置を検出しカメラから被写体までの距離を得るための被写体距離検出装置であり、例えば至近位置から無限遠までを4bit 程度のコードパターンからなり、不図示のブラシ接点を用いて合焦位置での被写体距離が検出できるようになっている。37は撮影レンズ1の焦点距離を検知する焦点距離検出装置であり、不図示のブラシ接点を用いてズーミングするレンズに応じた焦点距離情報が検出できるようになっている。38はぶれ補正用レンズ1bを光軸Kに直交する平面において移動すさせるシフトレンズ駆動装置である。39は公知のカメラとレンズとの電気的インターフェイスとなるマウント接点である。
【0017】図2は、上記構成より成る一眼レフカメラの上面図である。
【0018】同図において、41はレリーズボタン、42は外部モニター用LCD、43はカメラのメインスイッチと撮影モードの選択を行う撮影モードダイヤル、44はセルフタイマ設定釦である。
【0019】前記撮影モードダイヤル43には設定可能な撮影モードが記されており、その中で、43aは絵文字で示されたようなシーンに適した撮影モードが設定されたイメージゾーンで、人物撮影に適したポートレイトモード,風景撮影に適した風景モード,接写撮影に適したクローズアップモード,動体写真に適したスポーツモードの4種類が揃えられている。本実施の形態においては、このイメージゾーンの何れかの撮影モードを撮影者が設定した時の動作を説明するものである。43bはグリーンモードと言われる一般的な撮影を想定してカメラがあらかじめ所定の撮影機能を設定する撮影モードである。
【0020】図3は、上記構成の一眼レフカメラに内蔵された電気回路の構成を示すブロック図であり、図1と同じ部材には同一の符号を付してある。
【0021】カメラ本体に内蔵されたマイクロコンピュータの、カメラ制御用中央処理装置(以下、CPUと記す)101は、その内部において認識情報処理部101aとEEPROM101bを備えている。そして、該CPU101には、カメラの諸機能を制御するために各種制御回路が接続されている。
【0022】測光回路102は、測光センサ10からの信号を増幅後、対数圧縮,A/D変換し、画面内の複数の領域に対応する各センサの輝度情報としてCPU101に送信する。焦点検出回路103は、画面内の複数の位置で位相差方式の焦点検出が行えるように複数組から成るラインセンサ67からの出力をA/D変換し、CPU101に送信する。レンズ1に配置されたレンズ制御回路104は、マウント接点39を介してCPU101からの制御情報をもとにフォーカスレンズ駆動用モータ33を制御すること、絞り駆動装置31を制御すること、シフトレンズ駆動装置38を制御することを司っている。
【0023】ストロボ制御回路105は、CPU101からのストロボ発光の信号を受けると内蔵ストロボ15をポップアップさせるとともに、レリーズに同期して内蔵ストロボ15を発光させ、調光センサ55からの信号を受けてストロボ発光量を制御する。SW1はレリーズ釦41の第一ストロークでONし、測光,AF及び本発明の特徴の一つである被写体認識動作を開始させるためのスイッチ、SW2はレリーズ釦41の第二ストロークでONするカメラのレリーズスイッチである。SW-DIAL は撮影モードダイヤル43内に設けられたダイヤルスイッチである。上記各スイッチ及び図示はしていないがカメラの各所に配置された各種スイッチの状態信号がSW信号入力回路106に入力され、データバスによってCPU101に送信される。
【0024】LCD駆動回路107は、LCD(液晶表示器)を表示駆動させるための公知の構成より成るもので、CPU101からの信号に従い、絞り値,シャッタ秒時、設定した撮影モード等の表示を、モニター用LCD42や図示しないファインダ内表示用LCDに表示させる。シャッタ制御回路108は、通電すると先幕を走行させるシャッタマグネットMg-1と後幕を走行させるシャッタマグネットMg-2を制御し、感光部材に所定光量を露光させる。モータ制御回路109は、フィルムの巻き上げ,巻き戻しを行うモータM1と主ミラー2、シャッタ4のチャージを行うモータM2を制御すためのものである。上記のシャッタ制御回路108とモータ制御回路109によって一連のカメラのレリーズシーケンスが実行される。
【0025】ぶれ検出センサ16は、カメラの手ぶれによる角速度を出力し、ぶれ検出回路111はこの角速度を実際のぶれ量に変換して認識情報処理部101aに送る。それとともに手ぶれ補正回路110に送り、該手ぶれ補正回路110は実際に手ぶれの補正量に相当するシフトレンズの駆動量を算出してCPU101に送信する。これを受けてCPU101は、前述のようにレンズ制御回路104に制御情報を送り、シフトレンズ駆動装置38を介してぶれ補正用レンズ1bを制御して手ぶれ補正を行う。
【0026】ここで、説明をわかりやすくするために記載したCPU101の内部で構成される認識情報処理部101aへの接続について説明する。
【0027】まず、前述のぶれ検出回路111が接続されており、手ぶれ量が情報信号として入力される。次に、レンズ内に設けた被写体距離検出装置36、焦点距離検出装置37の信号からレンズ位置検出回路112によって被写体距離情報と撮影レンズの焦点距離情報が入力されるようになっている。
【0028】エリアセンサ13は、主に被写体の顔情報を検出するために必要な画素数(約数10万画素)を備えたカラーエリアセンサであり、公知のCCDやC−MOSセンサから成り、センサ制御回路113にて公知の駆動方法で制御されている。センサ制御回路113に入力された被写体画像は画像処理回路114に送られてA/D変換され、認識情報処理部101aにて必要に応じて図示しないメモリ部に記憶されるとともに、後述のアルゴリズムにしたがって被写体認識回路115と被写体像動きベクトル検出回路116にそれぞれ必要とする画像データとして供給される。被写体認識回路115には、撮影画面に相当する画像データが、被写体像動きベクトル検出回路116には、所定の時間差を持った画像データが、それぞれ出力される。
【0029】前記被写体認識回路115では、例えば被写体に顔があれば、その大きさと数を検出する。また、風景であればどのような風景シーンであるかを検出するもので、詳細は後述のアルゴリズムの中で記載する。被写体像動きベクトル検出回路116では、複数の領域ごとの時間差のある画像データから2次元の相関演算を行い、動きベクトルを検出するもので、同じく詳細は後述のアルゴリズムの中で記載する。
【0030】以上のように、ぶれ検出回路111,レンズ位置検出回路112,被写体認識回路115,動きベクトル検出回路116がそれぞれCPU101に接続され、認識情報処理部101aに、カメラぶれ情報,レンズの焦点距離情報,被写体距離情報,被写体認識情報,被写体像の動きベクトル情報が入力されるようになっている。
【0031】117は記録用の磁気ヘッドを含む認識情報記録回路であり、前記認識情報処理部101aで最終的に検出された被写体情報を認識情報としてフィルムの磁気記録層に記録するものである。なお、勿論この磁気記録方法に限らず、EEPROM、フラッシュメモリなどの半導体メモリや、MO,DVD-ROM などの光記録手段や、その他リムーバルな記録メディアでも良い。
【0032】次に、上記のように構成された一眼レフカメラの動作について説明する。
【0033】図4は、上記構成における一眼レフカメラの撮影動作までを示すフローチャートである。
【0034】まず、ステップ#101にて、撮影モードダイアル43がLOCKボジションから外されてイメージゾーン43aの何れかの撮影モードが設定されると電源が供給され、カメラは撮影準備状態となる。次に、ステップ#102にて、レリーズ釦41の第一ストロークでONするスイッチSW1がONしているかを検出し、ONしていればステップ#103へ進み、OFFであればステップ#102の検出を繰り返す。ステップ#103へ進むと、ここでは設定した撮影モードが何であるかを読み込み、ポートレイトモードであればステップ#104へ、風景モードであればステップ#105へ、接写モードであればステップ#106へ、スポーツモードであればステップ#107へ、それぞれ進む。
【0035】ポートレイトモードであれば、ステップ#104を介してステップ#108に進み、ここでは被写体認識回路115が顔認識処理を行う。つまり、被写体認識回路115は、エリアセンサ13により被写体像を所定のフレームレートで順次取り込むとともに、取り込んだ被写体画像から顔認識処理を行い、被写体像の顔の大きさ,数を判定する。この際、ポートレイトモードであることから、被写体認識処理は顔を認識するのに適したアルゴリズムで実行される。顔認識については詳細は後述する。次にステップ#112へ進み、CPU101はこの結果を前記被写体認識回路115より認識情報処理部101aに取り込み、顔認識結果に応じてその被写体にあったAEプログラム線図でのAE制御やAF動作の制御内容について決定する。
【0036】この制御内容の一例を、図5に示す。なお、図5の縦項目は認識した顔の数、横項目は顔領域の大きさを表している。
【0037】まず、顔の数が一人でかつ顔領域の大きさが所定の大きさよりも大きいときには、AE(自動露出制御)は装着レンズの開放Fナンバーを基準に長焦点側になるとやや絞り込んでいく絞り優先AEプログラムとする。これは一番人物中心となる写真で、顔だけにピントが合うように撮ることを優先に考えるが、装着レンズが長焦点になると顔の一部にしか合わなくなるのでやや絞り込むプログラムとしている。また、AF(オートフォーカス制御)は、顔領域に含まれる焦点検出点の平均のピント位置に合わせるようにレンズを駆動させることとする。
【0038】顔領域の大きさが所定の大きさよりも小さい時には、AEは、装着レンズの開放FNo(Fナンバー)優先プログラムとし、AFは、顔領域のなかで一番至近にあるものにピントを合わせるようにレンズを駆動させることとする。これも顔の大きさの割にはできるだけバックをぼかすように設定しているものである。
【0039】なお、一人の場合はいずれにおいても内蔵ストロボ15を強制発光させ、その調光補正量はマイナスの1段としている。これは被写体の瞳にキャッチライトを発生させる為に行うものである。
【0040】次に、顔の数が二人から三人までであれば、前記AEは、前述のような顔の大きさには関係なく各人にピントが合う絞り値で制御する被写界深度優先プログラムとする。また、AFは、近点と遠点に対して「7:10」で内分する位置にレンズを駆動するように設定する。これは、近点と遠点のそれぞれの人物のいずれにもピントが合い、それ以外の遠方の背景は極力ぼかすようにしたもので、複数の焦点検出点間でのディフォーカス量に応じていずれもが被写界深度内に入るような絞りを設定し、その絞り値優先のプログラムとしており、いわゆるポートレイト写真ではないが、かなり人物中心に捉えた撮影モードを設定する。
【0041】次に、顔の数が四人以上、ないし不特定であれば顔の大きさには関係なく、AEは、絞り値=F8を基準として焦点距離に応じて絞り込む絞り優先AEプログラムとしている。AFは、各すべての顔の平均の位置にピントが合うようにレンズを駆動すさせることとする。これは、人物にすべてピントが合うのを基準にしながらも、人物と背景のいずれもがシャープに写るようにある程度絞り込んだ設定にし、かつ、焦点距離に応じて長焦点になるほど絞り込むようにしている。いわゆる全体的に人物も背景も調和の取れた写真が撮れるような集合写真的な撮影モードに設定するものである。
【0042】このように、従来のカメラであればポートレイトモードを選んでも、AEは開放FNoでの絞り優先AE、AFはワンショットAFに固定されたものが、上記のように人物撮影においていろいろな被写体の状況に合わせて、より一層カメラの制御を最適化できるものである。
【0043】図4に戻り、以上のようにしてポートレイトモードに設定したときの顔認識結果によるカメラの制御内容が決定されると、実際に制御を行うべくステップ#116に進む。
【0044】また、風景モードであった場合はステップ#105を介してステップ#109に進み、ここでは被写体認識回路115がシーン認識処理を行う。つまり、被写体認識回路115は、エリアセンサ13により被写体像を所定のフレームレートで順次取り込むとともに、取り込んだ被写体画像からシーン認識処理を行い、被写体がどのような風景シーンであるかを認識する。この際、風景モードであることから被写体認識処理はどのような風景であるかを認識するのに適したアルゴリズムで実行される。シーン認識については詳細は後述する。次にステップ#113へ進み、CPU101はこの結果を前記被写体認識回路115より認識情報処理部101aに取り込み、シーン認識結果に応じてそのシーンにあったAE制御やAF動作の制御内容について決定する。
【0045】例えば、所定以上の面積をしめる緑の領域があれば、これは森林の風景であると認識されてくるので、測光センサの感度や人間の記憶色等を考慮してやや露出補正をオーバー側に掛ける(例えば0.3〜0.5段プラス)制御を行う。また、画面上部に所定以上の面積をしめる青の領域や高輝度の領域があれば、空を含んでいる風景と認識されてくるので、それに相当する測光領域の輝度情報は排除するか所定値より減ずる処置をとる事を行うようにする。AFにおいては、所定の距離よりも近い位置にはピントを合わせないようにリミッターを設けるようにする。
【0046】このように、従来のカメラであれば風景モードを選択しても、測光方式は通常の評価測光や平均測光の測光値でそのまま制御されるものが、風景撮影の被写体に合わせて、より一層カメラの制御を最適化できるものである。
【0047】また、接写モードであった場合はステップ#106を介してステップ#110に進み、ここでは被写体認識回路115が物体認識処理を行う。つまり、被写体認識回路115はエリアセンサ13により被写体像を所定のフレームレートで順次取り込むとともに、取り込んだ被写体画像から物体認識処理を行い、被写体のなかで主被写体となる物体の大きさと奥行きを認識する。この際、接写モードであることから被写体認識処理は物体の大きさを認識するのに適したアルゴリズムで実行される。物体認識については詳細は後述する。次にステップ#114へ進み、CPU101はこの結果を前記被写体認識回路115より認識情報処理部101aを取り込み、物体認識結果に応じてそのシーンにあったAE制御やAF動作の制御内容について決定する。
【0048】例えば、画面内において所定以上の面積をしめる物体の領域があり、かつ奥行きが所定以上ある物体であると認識された情報がくると、至近点から奥行き方向に約2/3いったところまでにピントが合うような被写界深度を持つ絞りに設定し、AFも、それを満たす位置にレンズを駆動するようにする。それ以外の大きさと奥行きの物体の場合には、奥行き全部にピントが合う被写界深度を持つ絞りに設定し、AFも、それを満たす位置にレンズを駆動するようにする。これは、接写対象の被写体はある程度よりも大きくなると全体にピントを合わせるためにはかなり絞り込まねばならず、実際に合わせる限界を超えてしまうことや、このような画面の多くを占める被写体を撮影する場合は全体にピントを合わせるようなことは接写写真の仕上がりとしてあまり適当でない場合が多いことによるものである。
【0049】このように、従来のカメラであれば接写モードを選択しても被写界深度の深めの絞り値を固定とした絞り優先AE制御されるにすぎなかったが、上記のように接写撮影の対象となる被写体に合わせて、より一層カメラの制御を最適化できるものである。
【0050】また、スポーツモードであった場合はステップ#107を介してステップ#111に進み、被写体像動きベクトル検出回路116が被写体像の動き検出処理を行う。つまり、被写体像動きベクトル検出回路116はエリアセンサ13により被写体像を所定のフレームレートで順次取り込むとともに、取り込んだ被写体画像から被写体像の動き検出処理を行う。この際、スポーツモードであることから被写体認識処理は被写体が何であるかというのではなく、被写体の動きを検出するのに適したアルゴリズムで実行される。動き検出については詳細は後述する。次にステップ#115へ進み、CPU101はこの結果を被写像動き検出回路116より認識情報処理部101aに取り込み、さらにぶれ検出センサ16とぶれ検出回路111にてカメラの手ぶれによる角速度を実際のぶれ量に変換された情報を認識情報処理部101aに取り込む。これにより、認識情報処理部101aは前記被写体動きベクトルぶれ検出回路116にて得られた被写体画像の動きベクトル情報から、ぶれ検出回路111にて得られた手ぶれ情報を差し引き、実際の被写体の動き量を算出する。これは、前者の被写体像の動きベクトルは撮影者の手ぶれ量も含んで検出されるためである。こうして得られた被写体の動き検出結果に応じてそのシーンにあったAE制御やAF動作の制御内容について決定する。
【0051】例えば、AEは、被写体の動き量に応じて被写体ぶれを起こさないシャッタスピードに自動設定されるシャッタスピード優先AEとなり、AFは、常にディフォーカス検出を行い、それに合わせてピントを連続的に合わせていくサーボモードに設定するだけでなく、被写体の動く方向に応じて焦点検出点を乗り移らせる、いわゆる追尾モードを実行するように設定する。これは、スポーツモードにおいては動きのある被写体を最重点な対象として補足していこうというものである。
【0052】このように、従来のカメラであればスポーツモードを選択しても絞りとシャッタスピードの組み合わせが標準のAEプログラムよりも高速シャッタ秒時側にセットされたシャッタスピード優先的な露出プログラムに一律に設定され、AFモードもサーボモードに設定するだけであったが、上記のように動体撮影の際の被写体に合わせて、より一層カメラの制御を最適化できるものである。
【0053】以上のようにしてステップ#112〜#115の各撮影モードに対応した認識情報処理によりAE制御やAF動作の制御内容について決定されると、実際にこの決定された制御内容に沿ってカメラが制御されることになる。
【0054】上記ステップ#112〜#115のいずれかが実行されると次にステップ#116に進み、焦点検出用ラインセンサ66の出力を取り込み、各焦点検出点のディフォーカス量を算出する。そして、上記ステップ#112〜#115で決定された制御内容に沿って最終的にピントを合わせるべくディフォーカス量を算出する。そして、ステップ#117に進み、CPU101はレンズ制御回路104に信号を送ってフォーカスレンズ1aを該ディフォーカス量に応じて所定量だけ駆動させ、レンズの焦点調節を行う。また、ワンショトかサーボかのいわゆるAFモードも設定する。次にステップ#118にて、レンズ位置検出回路112からレンズ位置情報として焦点距離情報と被写体距離情報を取り込む。次にステップ#119に進み、CPU101は測光回路102に測光を行わせる。そして全測光領域の輝度を検出するとともに、上記ステップ#112〜#115で決定された制御内容にそって、特定領域の重み付けや露出補正をかける測光演算を行わせ、CPU101はこれを取り込む。
【0055】次にステップ#120では、CPU101は、ぶれ検出センサ16を駆動し、ぶれ検出回路111にて実際のぶれ量に変換された情報を撮影モード設定回路101aに取り込む。また、前記実際のぶれ量に変換された情報は手ぶれ補正回路110にも送られており、ここで実際に手ぶれの補正量に相当するシフトレンズの駆動量を算出され、CPU101はこれも取り込む。次にステップ#121にて、CPU101はシフトレンズ駆動量をもとにレンズ制御回路104に制御情報を送り、シフトレンズ駆動装置38を介してぶれ補正レンズ1bを制御し、手ぶれ補正を行う。
【0056】次にステップ#122にて、上記ステップ#119にて得られた測光値と設定された撮影モードをもとに決定された露出値、すなわちシャッタ秒時と絞り値をLCD駆動回路107がモニター用LCD42に表示する。続くステップ#123では、上記ステップ#112〜#115で決定された制御内容にそってストロボ撮影を必要とする状況であるかを判定し、必要であればステップ#124にて内臓ストロボ15をポップアップさせる。
【0057】次のステップ#125では、レリーズ釦41の第二ストロークでONするスイッチSW2がONしているかを検出し、OFFしていればステップ#102に戻り、前述の動作を繰り返す。一方、ONしていればステップ#126に進み、カメラのレリーズシーケンスを実行する。具体的には、まずCPU101はモータ制御回路109を介してモータM2に通電して主ミラー2をアップさせ、レンズ制御回路103を介して絞り駆動装置31を駆動し、所定の開口まで絞り込む。次に、シャッタ制御回路108にて所定のシャッタ秒時でシャッタを走行させ、必要であれば先幕が走行完了した時点で、ストロボ制御回路105を介して内臓ストロボ15を発光させ、画像記録部材5への露光を終了させる。その後、モータM2に再度通電し、ミラーダウン,シャッタチャージを行うとともにモータM1にも通電して、フィルムの駒送りを行い、一連のレリーズシーケンスが終了する。
【0058】また、銀塩フィルムのカメラであれば、この給送中に、ステップ#108〜#111の被写体認識動作と、上記ステップ#112〜#115の認識情報処理で得られた被写体情報の磁気書き込みを行う。なお、銀塩フィルム以外のEEPROM,フラッシュメモリなどの半導体メモリや、MO,DVD-ROM などの光記録手段や、その他リムーバルな記録メデアにおいては、スイッチSW2がONした直後に記録しても良いし、画像の記録もフィルムでなく電子撮像素子であれば撮影画像の記録の終了後でも構わない。
【0059】以上説明したように、この実施の第1の形態においては、選択された撮影モードに応じて被写体認識(被写体の動き検知も含める)を行い、かつそれぞれのモードの特徴に応じた認識処理を行っている。
【0060】次に、図4のステップ#108〜#111の各撮影モードでの被写体認識動作について、図6〜図11を用いて詳述する。
【0061】図6は、ポートレイトモードに設定されている時の被写体認識アルゴリズムである、ステップ#108での顔認識を行うフローチャートである。
【0062】この動作がスタートすると、被写体認識回路115はステップ#201にてEEPROM101bから顔認識アルゴリズムに用いる各種パラメータを読み込み、不図示のメモリの所定のアドレスに格納する。なお、この認識アルゴリズムに用いるパラメータについては、他認識アルゴリズムと合わせてまとめて図7に示している。次にステップ#202に進み、処理過程で発生する変数の初期化を行う。次いでステップ#203に進み、顔認識を行う領域の初期設定を行う。ここではポートレイトモードである為、被写体はほぼ中央およびその近傍にあるもの、画面内の上部にある場合がほとんどである。特にカメラの姿勢によって、例えば縦位置撮影では画面上部の割合はかなり高くなる。そこで、画面内の上側領域を多く含む約50%の領域を初期の認識対象領域として限定するようにパラメータを設定している。
【0063】次にステップ#204に進み、上記ステップ#203で限定された領域のセンサの予備蓄積を行ったのち、数画素単位でまとめたブロック単位で読み出す。次にステップ#205に進み、各ブロックの輝度が低輝度,中輝度,高輝度かを所定の閾値と比較した上で、比較的低輝度のブロック領域と中輝度の領域が隣接するブロック領域とその周辺領域のみを顔認識を行う領域として更に限定する。これは、人の顔の部分は概ね相対的に中輝度の領域であり、目や髪の毛が概ね低輝度の領域であり、背景には概ね高輝度の領域を含んでいる事によるものである。このように2段階で認識処理を行う領域を限定する事で、認識の処理負荷をかなり軽くしている。この閾値はパラメータとしてEEPROM101bに記憶されており、上記ステップ#201において読み込まれたものである。
【0064】次にステップ#206に進み、顔認識を行うべくエリアセンサ13に蓄積動作を行わせ、顔認識を行う領域の被写体画像の読み込み行う。そして、次のステップ#207にて、読み込まれたエリアセンサ13の各画素のR,G,Bの値から明度,色相,彩度,色度,色差といった色の特徴量を求める。ここで求める特徴量は、次のステップで肌色領域を判定すべく色空間での特徴量を求める事になる。次にステップ#208に進み、これらの色の特徴量が予め定めた肌色の範囲内に入っていれば対象画素が肌色であると判定し、肌色領域を抽出する。ここで肌色とみなす色の領域はパラメータに設定されており、例えば測光センサ10でフリッカーを検知していれば、蛍光燈と判断して肌色領域のパラメータを変化させたり、輝度そのものによって変化させて、光源が変わっても肌色抽出が行えるようにしている。
【0065】次にステップ#209に進み、肌色と判定された画素領域とその周辺領域からなる画像に対してエッジ検出処理を施す。エッジ検出処理としては幾つかの手法があるが、ここでは2階差分に基づく方法で行う。2階差分は連続空間上で2次微分に相当し、代表的に下記のように表される。
【0066】
▽2 fij=fi+1,j+fi-1,j+fi,j+1+fi,j-1−4*fi,j ・・・・ (1)
なお、fij は第i行、第j列の画素出力値(明度)を表し、▽2 fij はfij のラプラシアン(2次微分)を表すものとする。
【0067】これを重み行列で表すと図8のようになり、この実施の形態の場合、対象画素を中心としてその周囲8画素を対象とした8近傍ラプラシアンを演算するものである。そして、この値が所定の閾値よりも大きければ対象画素をエッジ画素として2値化する。このように、2階差分を行ってエッジを検出すると差分出力のゼロクロス点を求める事になり、鋭いエッジでも緩やかなエッジでもエッジ強度に影響されずらく、エッジが検出しやすくなるが、反面ノイズに対して敏感になっている。しかし、本アルゴリズムでは肌色検出でかなり対象領域が限定される為、このような手法が効果的である。
【0068】次にステップ#210に進み、顔であるかの判定の為のマッチング処理を行う。ここでは入力画像のなかである部分画像(テンプレート)を動かしマッチするところを検出するテンプレートマッチングを用いるものとする。まず、大きさと長軸と短軸の比率の異なる複数の楕円の顔のテンプレートを作成する。顔の大きさのしきい値としては画面の中で誰であるか充分判り、人物中心の写真であると思われる程度(例えば全身が画面の1/2程度)の大きさとしておく。これらのテンプレートはあらかじめ作成しておき、図示しないメモリに記憶させておいても良い。顔テンプレートは楕円で2値化されたもので、実際の顔の輪郭とのマッチング度を上げるためにテンプレートの輪郭も数画素の幅を持たせている。さらにマッチング処理を続けて上記ステップ#209で得られた顔候補のエッジ画像と顔テンプレートとのマッチング度を求める。マッチング度を求める測度としていくつかのものがあるが、例えば顔候補のエッジ画像をf(x,y)、テンプレートをt(x,y)、Rはテンプレートの全域とすると ∬R(f-t )2 dxdy ……(2)
で算出される二乗誤差にて判定するものとする。このような方法で数種類の顔テンプレートをを用いてマッチング処理を行い、最もよく一致するテンプレートを対象画素に対して求める。
【0069】次にステップ#211に進み、算出した二乗誤差の値があらかじめ定めていた閾値より小さければ、対象画素を中心として最もよく一致する顔テンプレートでか囲まれる領域を顔領域であると判定してステップ#212に進む。そして、このステップ#212では、顔領域と判定された顔領域の数と大きさを求めてこれを出力し、図4のステップ#108の顔認識処理が終了することなる。
【0070】また、上記ステップ#211で顔と判定される領域がなかった場合はステップ#213に進み、今まで行ってきた顔認識の回数を判定する。所定の回数より少なければステップ#214に進み、認識アルゴリズムのパラメータを前回の検出とは異ならせて再度認識処理行わせるべくパラメータを変更する。例えば、認識領域の限定範囲を広げる、肌色特徴量の幅を広げる、エッジ検出のしきい値を変更するなどを行い、ステップ#202に進み、新たな認識パラメータで顔認識処理を行う。
【0071】また、ステップ#213にて既に所定回数の顔認識を実行している場合は、被写体にポートレイトモードとしてふさわしい被写体ではなかったと判定して、カメラの制御モードをグリーンモードに自動的に設定して、図4のステップ#116に進む。グリーンモードはいわゆる公知の「カメラお任せモード」で、図2の43bに示される撮影モードと同じ設定であり、ごく一般的な撮影に適した制御モードに設定される図9は、風景モードに設定されている時の被写体認識アルゴリズムである、図4のステップ#109でのシーン認識を行うフローチャートである。
【0072】この動作がスタートすると、被写体認識回路115はステップ#301にてEEPROM101bからシーン認識アルゴリズムに用いる各種パラメータを読み込み、不図示のメモリの所定のアドレスに格納する。なお、前述と同じくこの認識アルゴリズムに用いるパラメータについては、まとめて図7に示している。次にステップ#302に進み、処理過程で発生する変数の初期化を行う。そして、次のステップ#303にて、シーン認識を行う領域の初期設定を行う。ここでは風景モードである為、特に認識領域の限定は行わずファインダで観察できるほぼ全領域を対象とすることになる。
【0073】次にステップ#304に進み、上記ステップ#303で限定された領域のセンサの予備蓄積を行ったのち、数画素単位でまとめたブロック単位で読み出す。次いでステップ#305にて、各ブロックの輝度が低輝度,中輝度,高輝度かを所定の閾値と比較するが、風景モードにおいては低輝度から高輝度まで被写体シーンが及んでいるため、この輝度領域による限定をかけることはなく、従ってこのステップを介しても特に限定しないようにパラメータを設定している。次のステップ#306では、シーン認識を行うべくエリアセンサ13に蓄積動作を行わせ、シーン認識を行う領域の被写体画像の読み込み行う。そして、次のステップ#307にて、読み込まれたエリアセンサ13の各画素のR,G,Bの値から明度,色相,彩度,色度,色差といった色の特徴量を求める。ここで求める特徴量は、次のステップで自然色領域を判定すべく色空間での特徴量を求める事になる。次にステップ#308に進み、これらの色の特徴量が前記の予め定めた色の範囲内に入っていれば対象画素が自然色であると判定し、色領域を抽出する。ここで自然色とみなす色の領域はパラメータに設定されており、例えばここでは特に森林風景を抽出すべく緑から深緑の領域や空を抽出すべく青の領域を判定するようにパラメータを設定する。
【0074】次にステップ#309に進み、自然色と判定された画素領域とその周辺領域からなる画像に対してエッジ検出処理を施す。エッジ検出処理としては幾つかの手法があるか、ここでは画像の勾配を利用してエッジの検出を行い、よく知られている方法としてロバーツの勾配を用いる。
【0075】
[(fi,j−fi+1,j+1)2 +(fi,j+1−fi+1,j)2 ]1/2 ・・・・(3)
定義から判るように、ロバーツの勾配は斜め方向のエッジ検出に適しており、これは風景のような自然シーンにおいても適当なものである。そして、この値が所定の閾値よりも大きければ対象画素をエッジ画素として2値化する。閾値としての勾配は比較的緩めにし、なだらかな変化においても検出するようにパラメータを設定してある。
【0076】次にステップ#310に進み、シーンを認識する領域抽出処理を行う。これもいくつかの手法があるが連結成分処理を行うものとする。エッジ処理によって作られた2値化画像のなかには雑音成分が含まれていることが多い。これら雑音的な小さい成分,突起,穴などは図形融合によって処理できる。あるいは、各連結成分の特徴量(面積や幅)を測り、その値がある閾値以下の成分を消去するようにして連結成分を作っていき、シーンとして特徴のある領域を抽出する。なお更に細線化処理によって線図形に変換して輪郭線抽出を行っても良い。
【0077】次にステップ#311に進み、抽出された領域があらかじめ定めていた閾値(ここでは画面にしめる大きさが5%以上)より大きければ、風景シーンとなる領域があると判定してステップ#312に進む。ステップ#312では、シーン領域と判定された領域(ここでは森林と思われる領域、空と思われる領域)の画面内のしめる位置を求めてこれを出力し、図4のステップ#109のシーン認識処理が終了することなる。
【0078】また、上記ステップ#311で風景シーンと判定される領域がなかった場合はステップ#313に進み、今まで行ってきたシーン認識の回数を判定し、所定の回数より少なければステップ#314に進み、認識アルゴリズムのパラメータを前回の検出とは異ならせて再度認識処理行わせるべくパラメータを変更する。例えば自然色特徴量の幅を広げる、エッジ検出の閾値を変更するなどを行い、ステップ#302に進み、新たな認識パラメータでシーン認識処理を再度行う。
【0079】また、上記ステップ#313にて既に所定回数のシーン認識を実行している場合は、被写体に風景モードとしてふさわしい被写体ではなかったと判定して、ここでもカメラの制御モードをグリーンモードに自動的に設定して、図4のステップ#116に進む。
【0080】このように、風景シーンの認識アルゴリズムは前述の顔認識アルゴリズムに対して認識アルゴリズムそのものをシーン検出にふさわしいものに変更したり、また同じアルゴリズムでもパラメータを変更して認識処理を行うようにして認識の精度を高めている。
【0081】なお領域抽出の方法として、領域形成法(Region Growing)を行うとでも良い。これは小さい領域の集合に分割した初期分割からスタートし、隣接領域が併合しても一様な領域と見なせるかどうかを判定しながら併合処理を繰り返すもので、一様性の尺度としては領域境界部での濃度値の不連続性、領域内の濃度値の分布範囲、平均濃度からの最大偏差などがある。しかしながら認識アルゴリズムとしては精度は上がるが、演算能力としてかなりの負荷となってしまう。
【0082】図10は、接写モードに設定されている時の被写体認識アルゴリズムである、図4のステップ#110での物体認識を行うフローチャートである。
【0083】この動作がスタートすと、被写体認識回路115はステップ#401にてEEPROMから物体認識アルゴリズムに用いる各種パラメータを読み込み、不図示のメモリの所定のアドレスに格納する。次にステップ#402に進み、処理過程で発生する変数の初期化を行う。次いでステップ#403にて、シーン認識を行う領域の初期設定を行う。ここでは接写モードである為、被写体はほぼ中央部にあるものがほとんどであるが画面に占める割合はかなり大きい。そこで、画面内の中心約70%の領域を初期の認識対象領域として限定するようにパラメータを設定している。
【0084】次にステップ#404に進み、上記ステップ#403で限定された領域のセンサの予備蓄積を行ったのち、数画素単位でまとめたブロック単位で読み出す。そして、次のステップ#405にて、各ブロックの輝度が低輝度,中輝度,高輝度かを所定の閾値と比較した上で、比較的低中輝度のブロック領域と高輝度の領域のみを顔認識を行う領域として更に限定する。基本的には低輝度領域を排除することになり、これは接写撮影を行う対象物は輝度を比較すると低い輝度であることはほとんどない事から限定したものである。
【0085】次にステップ#406に進み、物体認識を行うべくエリセンサ13に蓄積動作を行わせ、物体認識を行う領域の被写体画像の読み込み行う。そして、次のステップ#407にて、読み込まれたエリアセンサ13の各画素のR,G,Bの値から明度,色相,彩度,色度,色差と言った色の特徴量を求める。ここで求める特徴量は次のステップで同色領域を判定すべく色空間での特徴量を求める事になる。次にステップ#308に進み、これらの色の特徴量が前記の予め定めたいくつかの種類の色の範囲内に入っているもの同志をそれぞれ対象画素が同色であると判定し、同色領域を抽出する。ここで同色とみなす色の領域はパラメータに設定されている。
【0086】次にステップ#409に進み、同色と判定された画素領域とその周辺領域からなる画像に対してエッジ検出処理を施すが、ここではシーン認識の上記ステップ#309と同じくロバーツの勾配を用いる。そして、この値が所定の閾値よりも大きければ対象画素をエッジ画素として2値化する。閾値としての勾配は上記ステップ#309に比較してきつめに設定し、ある程度はっきりした変化において検出するようにパラメータを設定してある。
【0087】次にステップ#410に進み、物体を認識する領域抽出処理を行う。ここではステップ#310と同じであり、説明を省略する。なお領域抽出の方法として、同色領域を抽出してからエッジ処理(閾値処理)を行ったが、色の特徴量を抽出し、同色の領域を抽出する段階で前述の領域形成法(Region Growing)を行うことでも良い。
【0088】次にステップ#411に進み、抽出された領域があらかじめ定めていた閾値(ここでは画面にしめる大きさが10%以上)より大きければ、接写する対象物の領域があると判定してステップ#412に進む。そして、このステップ#412では、接写対象物と判定された領域の画面内のしめる位置と大きさを求めてこれを出力する。又合わせて焦点検出回路103から対象領域のデフォーカス量を複数求め、これよりおおよその奥行きを検出し出力する。これで図4のステップ#110の物体認識処理が終了することなる。
【0089】また、上記ステップ#411で接写対象物と判定される領域がなかった場合はステップ#413に進み、今まで行ってきた物体認識の回数を判定し、所定の回数より少なければステップ#414に進み、認識アルゴリズムのパラメータを前回の検出とは異ならせて再度認識処理行わせるべくパラメータを変更する。例えば、同色と見なす特徴量の幅を広げる、エッジ検出の閾値を変更するなどを行い、ステップ#402に進み、新たな認識パラメータで物体認識処理を行う。
【0090】また、上記ステップ#413にて既に所定回数の物体認識を実行している場合は、被写体は接写モードとしてふさわしい被写体はなかったと判定して、ここでもカメラの制御モードをグリーンモードに自動的に設定して、図4のステップ#116に進む。
【0091】このように、接写シーンの認識アルゴリズムは前述のシーン認識アルゴリズムに対してほぼ同じアルゴリズムを用いるが、認識のためのパラメータを変更して認識処理を行うようにして、物体をより精度良く認識できるように特化している。
【0092】図11は、スポーツモードに設定されている時の被写体認識アルゴリズムである、図4のステップ#111での被写体の動き検出を行うフローチャートである。
【0093】この動作がスタートすると、被写体認識回路115はステップ#501にてEEPROMから動き検出アルゴリズムに用いる各種パラメータを読み込み、不図示のメモリの所定のアドレスに格納する。そして、次のステップ#502にて、処理過程で発生する変数の初期化を行う。次にステップ#503に進み、シーン認識を行う領域の初期設定を行う。ここでは接写モードである為、被写体はほぼ中央部にあるものがほとんどである。画面に占める割合はそれほど大きくはないが被写体がかなり移動するので、ここでは画面内の中心約70%の領域を初期の認識対象領域として限定するようにパラメータを設定している。
【0094】次にステップ#504に進み、動き検出を行うべくエリアセンサ13に蓄積動作を行わせ、動き検出を行う領域の被写体画像の読み込み行う。ここでは前述の3アルゴリズムはエリアセンサ13の予備蓄積を行っていたが、スポーツモードでは検出までの時間を極力短くしたいため、このステップを省略している。次にステップ#505に進み、読み込まれたエリアセンサ13の各画素のR,G,Bの値から輝度信号成分としてG成分のみを用いて画像に対してエッジ検出処理を施す。ここでも上記ステップ#309と同じくロバーツの勾配を用いる。そして、この値が所定の閾値よりも大きければ対象画素をエッジ画素として2値化する。閾値としての勾配は上記ステップ#309に比較してきつめに設定し、ある程度はっきりした変化において検出するようにパラメータを設定してある。
【0095】次にステップ#506に進み、検出されたエッジ画像を図示しない所定のメモリに記憶させる。次いでステップ#507にて、次フレームの画像読み出しを行う。続くステップ#508では、上記ステップ#505と同じように輝度信号成分としてのG成分のみを用いて画像に対してエッジ検出処理を施す。次にステップ#509に進み、前フレームのエッジ画像をメモリから読み出して今回のフレームの画像との相関を演算し、その相関値に基づいて画像の動きを検出する。算出式としては前フレームの画像fi-1(x,y) 、現フレームの画像fi(x,y) とするとずらし量ξ、ηにおいて min ΣΣ[fi-1(x−ξ、y−η)−fi(fx、y) ]2 …(4)
又は min ΣΣ|fi-1(x−ξ、y−η)−fi(fx、y) | …(4)’となり、これを求める事となる。
【0096】具体的には、連続する2フレームの画像を比較するわけであるが、この比較はメモリに記憶させた画像データの読み出し位置を一画素づつずらしながら行う。両者の各画素の差の和を求め、その値を1画素ずらす毎に異なる領域に記憶していく。各画素の差の和はbit 比較を行い、異なるbit の数を数える事で行う。次ライン以降も同様の比較を行い、その際の各画素の差の和を1ライン目の値が記憶されている領域に加算していき、これが相関値となる。
【0097】次にステップ#510に進み、この相関値が最も小さくなったところを求めて、その領域における前回からの動きベクトル(動き量)とする。すなわち、相関値が最小になった際の垂直水平方向にずらした画素数が垂直水平方向の動き量となる。なおこのような手段ではなく、水平方向と垂直方向に射影像を作りその相関値(重心位置の移動量)から動きベクトルを求めても良い。
【0098】次にステップ#511に進み、動きベクトルが所定量よりも大きければステップ#512に進み、動体被写体があると判定し動きベクトル量を出力する。これで図4のステップ#111の動き検出処理が終了することなる。
【0099】また、上記ステップ#511で動きベクトルが所定量よりも小さければステップ#513へ進み、スイッチSW2がONしているかを判定し、ONしていればここでもカメラの制御モードをグリーンモードに自動的に設定して、図4のステップ#116に進む。ONしていなければ502へ戻り、動き検出を繰り返す。
【0100】このように、スポーツモードではどのようなものであるかを認識するよりも動体であるかを検出する事になるが、その検出アルゴリズムは認識パラメータを変更する事によって行われている。
【0101】(実施の第2の形態)次に、本発明の実施の第2の形態について、図12のフローチャートを用いて説明する。なお、一眼レフカメラの回路構成等は上記実施の第1の形態と同様であるものとする。
【0102】上記実施の第1の形態では、すべての撮影モードにおいて被写体認識処理を行ったが、カメラに搭載しうるCPUの限られた演算能力では難しいものがある。そこで、この実施の第2の形態においては、一般的な撮影の主体である人物を撮影すると思われる撮影モードにおいてのみ被写体認識処理を行うものである。
【0103】図12において、ステップ#601にて、撮影モードダイアル43がLOCKボジションから外されてイメージゾーン43aの何れかの撮影モードが設定されて電源が供給され、カメラは撮影準備状態となる。次にステップ#602にて、レリーズ釦41の第一ストロークでONするスイッチSW1がONしているかを検出し、ONしていればステップ#603へ進み、OFFであればステップ#602の検出を繰り返す。
【0104】ステップ#603に進むと、セルフタイマ設定釦44が押されてセルフタイマモードに設定されているかを設定されているかを判定し、セルフタイマモードであればステップ#609へ進み、ここでは被写体認識回路115が顔認識処理を行う。つまり、被写体認識回路115は、エリアセンサ13により被写体像を所定のフレームレートで順次取り込むとともに、取り込んだ被写体画像から顔認識処理を行い、被写体像の顔の大きさ,数を判定する。これは、上記実施の第1の形態のポートレイトモードが設定された時と同じであり、セルフタイマ撮影の際はほとんど人物写真である事から強制的に顔認識処理を行い、セルフタイマ撮影の機能を高めるとともに撮影者の操作性を簡便にしたものである。
【0105】また、設定されていなければステップ#604に進み、設定した撮影モードが何であるかを読み込み、ポートレイトモード(#605)か、風景モード(#606)か、接写モード(#607)か、スポーツモード(#608)かのいずれかに進む。
【0106】ポートレイトモードであった場合はステップ#605を介してステップ#609に進み、上記実施の第1の形態と同じ動作を行う。また、風景モードか、接写モードか、スポーツモードであれば、ステップ#606,#607,#608を介してステップ#611〜#613で公知の撮影プログラムを設定する。
【0107】例えば、風景モードであれば、「AEプログラム=開放Fナンバー」と「1/焦点距離」のポイントから、「Tv:Av=1:2」の比率で変化するプログラム,「AFモード=ワンショットAF」、「給送モード=1駒撮り」、「測光モード=平均測光」というような風景モードプログラムをステップ#611で設定する。
【0108】接写モードであれば、「AEプログラム=被写界深度が深めの絞り優先プログラム」、「AFモード=ワンショットAF」、「給送モード=1駒撮り」、「測光モード=部分測光」というような接写モードプログラムをステップ#612で設定する。また、スポーツモードであれば、「高速側シャッタ秒時側にセットされたシャッタースピード優先的露出プログラム」、「AFモード=サーボAF」、「給送モード=連続撮影」、「測光モード=中央部重点測光」というようなスポーツモードプログラムをステップ#613で設定する。
【0109】以上のように設定されると、次にステップ#614に進み、以下のステップ#614〜#625が実行されるが、これらについては上記実施の第1の形態における図4のステップ#116〜#127と同様であるので説明は省略する。
【0110】このように、被写体認識処理を顔認識だけに限定し、かつ人物シーンを撮影すると想定できる撮影モードを選択した時のみ機能させるようにしたので、搭載するCPUの負荷が減り、より容易に被写体認識をカメラに搭載できるとともに、すべての撮影シーンにおいて被写体認識機能をの効果を発揮は出来ないものの、多くの撮影シーンで満足の行く結果が引き出せるものとなっている。
【0111】なお、セルフモードに限らず公知のリモコン撮影モードにおいても顔認識処理を施すように、この実施の第2の形態を構成しても良い。また、風景モード等の撮影モードだけでなく、AFモードがサーボモードに設定されたり、給送モードが連続撮影モードに設定された時には被写体認識処理を施さないように、この実施の第2の形態を構成しても良い。
【0112】以上の実施の各形態によれば、ポートレイトモード、風景モード、接写モードもしくはスポーツモードの何れの撮影モードが設定されているかに応じて、被写体認識回路115や被写体像動きベクトル検出回路116における認識アルゴリズムを変更するようにしている(図4のステップ#108〜#111、図12のステップ#609)ので、カメラへの認識手段の搭載が容易なものになり、認識精度や認識スピードを向上させることができ、これによって更に高度なカメラ制御を行なわせ、操作性の良いカメラを提供する事ができる。
【0113】また、設定された撮影モードに応じて、被写体認識回路115や被写体像動きベクトル検出回路116における認識アルゴリズムを構成するパラメータ(図7参照)を変更しているので、認識アルゴリズムを複雑にする事なく、撮影モードに応じて精度良く被写体を認識させることができる。
【0114】また、セルフモードやポートレイトモード以外の撮影モードが設定された場合には、前記顔認識アルゴリズムの動作を禁止するようにしているので、より容易にカメラへの認識手段の搭載を可能として、これによって撮影者はシャッタチャンスや画面の構図取りに専念する事ができ、より良好な写真が撮影できる。
【0115】(発明と実施の形態の対応)上記実施の各形態において、モードダイヤル43、セルフタイマ設定釦44が本発明の撮影モード設定手段に相当し、被写体認識回路115と被写体像動きベクトル検出回路116が本発明の被写体認識手段に相当し、CPU101(認識情報処理部101a)が本発明の制御手段に相当する。
【0116】なお本発明は、これらの実施の形態の構成に限定されるものではなく、請求項で示した機能、または実施の形態がもつ機能が達成できる構成であれば、どのようなものであっても良いことは言うまでもない。
【0117】また本発明は、一眼レフカメラに適用した例を述べているが、ビデオカメラや電子スティルカメラなどの種々の形態の撮像装置に対しても適用できるものである。
【0118】
【発明の効果】以上説明したように、請求項1に記載の発明によれば、被写体認識手段をカメラに搭載することを容易すると共に、被写体情報の認識精度や認識スピードを向上させ、操作性の良好な被写体認識機能付きカメラを提供できるものである。
【0119】また、請求項2に記載の発明によれば、被写体情報の認識アルゴリズムを複雑にする事なく、撮影モードに応じて精度良く被写体情報の認識を行うことができる被写体認識機能付きカメラを提供できるものである。
【0120】また、請求項5に記載の発明によれば、被写体情報の認識の為の負荷を軽減し、被写体認識手段をカメラに搭載することをより容易なものにすることができる被写体認識機能付きカメラを提供できるものである。
【図面の簡単な説明】
【図1】本発明の実施例における被写体認識機能を備えたカメラに適用した際の要部構成図である。
【図2】図1のカメラの上面図である
【図3】図1のカメラの電気回路の構成を示したブロック図である
【図4】図1のカメラにおいて撮影動作までを示したフローチャートである。
【図5】図1のカメラにおいて顔認識結果によるカメラの制御例を示した図である。
【図6】図1のカメラにおいてポートレイトモードでの被写体認識のフローチャートである。
【図7】図1のカメラにおいて被写体認識動作で用いる認識パラメータを示した図である。
【図8】図1のカメラにおいて8近傍ラプラシアンの行列式である。
【図9】図1のカメラにおいて風景モードでの被写体認識のフローチャートである。
【図10】図1のカメラにおいて接写モードでの被写体認識のフローチャートである。
【図11】図1のカメラにおいてスポーツモードでの被写体認識のフローチャートである。
【図12】本発明の実施の第2の形態におけるカメラの各撮影モードでの撮影動作を示す。
【符号の説明】
6 焦点検出装置
10 測光センサ
13 エリアセンサ
16 ぶれ検出センサ
43 撮影モードダイヤル
104 測光回路
101 CPU
101a 認識情報処理部
104 レンズ制御回路
111 ぶれ検出回路
112 レンズ位置検出回路
115 認識情報処理回路
116 被写体像動きベクトル検出回路
【0001】
【発明の属する技術分野】本発明は、複数の画素からなるエリアセンサの出力を用いて撮影する被写体を認識する被写体認識手段を有する被写体認識機能付きカメラの改良に関するものである
【0002】
【従来の技術】最近のカメラは機能の自動化が進み、例えば図2に示すような撮影モードダイヤル43に設定可能な複数の撮影モードを持たせ、撮影者が撮影したいシーンに応じてそれに対応した絵表示の位置に該撮影モードダイヤル43を設定すれば、あらかじめプログラミングしていた制御方法でカメラを動作させることができるようになっている。したがって、ユーザーは特にカメラの機能の知識がなくとも、撮りたい撮影シーンや状況に応じて絵表示の中から一つを選べば、後はシャッタを押すだけという簡便なものであった。
【0003】しかし、撮影シーンは設定できても、被写体がどのようなもので、どこにあるのか、具体的には画面内での被写体の位置,大きさ,数などは判らないため、撮影したい被写体に最適な露出制御やオートフォーカスを行うことは正確にはできなかった。従って、ピント合わせも失敗のないようにある程度の被写界深度を持たせた絞りを固定して設定にしたりというように、あらかじめ決められたプログラム線図に沿ったAE露出や、適していると思われるAFモードを選択するだけであった。また、逆光のシーンなどの背景と被写体に明るさの差がある場合には、被写体だけに露出を合わせることは難しかった。さらに別の面では、動きのある被写体を常に追尾して露出やオートフォーカスを合わせることも難しいものであった。
【0004】そこで、撮影する被写体を認識する被写体認識手段を備えたカメラが望まれていた。例えば特開平6−160944号では、撮影モードの中で動体を撮影するのに適した撮影モードが選択されると、被写体追尾装置を自動的に作動させる制御手段を設けたカメラが提案されており、指定されたエリア内の被写界の色差信号を検出して、この変化によって主要被写体がどの位置に動いたかを検出するようになっている。
【0005】
【発明が解決しようとする課題】しかしながら、このような色差信号による追尾方法だけでは被写体を正確に把握することはできず、特に被写体の多くを占める人物写真においては有効とならないと言う問題があった。一方では、顔を認識する技術はかなり多くの研究がみられ、カラー画像の中から顔を抽出する方法として、特開平8−63597号など多くの提案がなされているが、いずれにおいても認識するまでの演算量が相当のものとなり、カメラという限られたスペース、マイコン能力、コストにおいてはこれらを実現することは難しいものがあった。特に認識スピードにおいてはシャッタを切るまでの僅かな時間の間に処理しなければならず、高速処理することがぜひとも必要であった。
【0006】(発明の目的)本発明の第1の目的は、被写体認識手段をカメラに搭載することを容易すると共に、被写体情報の認識精度や認識スピードを向上させ、操作性の良好な被写体認識機能付きカメラを提供しようとするものである。
【0007】本発明の第2の目的は、被写体情報の認識アルゴリズムを複雑にする事なく、撮影モードに応じて精度良く被写体情報の認識を行うことのできる被写体認識機能付きカメラを提供しようとするものである。
【0008】本発明の第3の目的は、被写体情報の認識の為の負荷を軽減し、被写体認識手段をカメラに搭載することをより容易なものにすることのできる被写体認識機能付きカメラを提供しようとするものである。
【0009】
【課題を解決するための手段】上記第1の目的を達成するために、請求項1に記載の発明は、カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報を認識する被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードに応じて、被写体情報を認識する為の認識アルゴリズムを変更する被写体認識機能付きカメラとするものである。
【0010】また、上記第2の目的を達成するために、請求項2に記載の発明は、カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報を認識する被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードに応じて、被写体情報を認識する認識アルゴリズム及び該認識アルゴリズムを構成するパラメータを変更する被写体認識機能付きカメラとするものである。
【0011】また、上記第3の目的を達成するために、請求項5に記載の発明は、カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報のうち少なくとも顔を認識する顔認識アルゴリズムを備えた被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードによっては前記顔認識アルゴリズムの動作を行わない被写体認識機能付きカメラとするものである。
【0012】
【発明の実施の形態】以下、本発明を図示の実施の形態に基づいて詳細に説明する。
【0013】図1は本発明を一眼レフカメラに適用した際の要部構成図である。同図において、1は撮影レンズ(簡略して4枚のみで図示)で、その構成レンズの一部1aは焦点位置を調節するフォーカスレンズ、1bはぶれ補正用レンズである。ぶれ補正用レンズ1bは光軸Kと直交する平面において移動することが可能となっており、それによって該撮影レンズ1の結像面内で結像位置を変化させることによって公知の手ぶれ補正を行えるようになっている。2は主ミラーであり、ファインダ系による被写体像の観察状態と被写体像の撮影状態に応じて撮影光路へ斜設されあるいは待避される。3はサブミラーであり、主ミラー2を透過した光束をカメラボディの下方の後述する焦点検出装置6へ向けて反射する。4はシャッタ、5は撮影レンズ1の焦点面に位置するフィルムないし固体撮像素子である画像記録部材である。
【0014】6は焦点検出装置であり、結像面近傍に配置された視野マスク61、フィールドレンズ62、反射ミラー63,66、二次結像レンズ65、絞り64、公知の位相差検出方式の焦点検出用ラインセンサ67等から構成されている。焦点検出装置6は最近では画面の中央だけでなくその周辺においても複数の焦点検出点(スディフォーカス情報を検出する為の領域)を設けたものが実現されている。この実施の形態においても、このような複数の焦点検出点を備えた焦点検出装置を想定しているが、この点については既に公知な技術であり詳細な説明は省略する。7は撮影レンズ1の予定結像面に配置されたピント板、8はペンタプリズムである。9と10はそれぞれファインダ観察面内の被写体輝度を測定するための結像レンズと測光センサであり、測光センサ10は画面内の複数の領域を測光できるように複数のフォトダイオードから構成されている。11はファインダ光路内に設けられた半透過ミラーであり、ファインダ光の一部は図1の上方に反射され、結像レンズ12によって公知のエリアセンサ13にピント板7に結像している被写体像を再結像する。一方、半透過ミラー11を透過したファインダ光は接眼レンズ14に導かれ、撮影者が被写体像を拡大して観察できるようになっている。15はペンタプリズム8の前面に配置されたストロボユニットであり、発光時にはポップアップするリトラクタブル機構を備えている。16は撮影者の手ぶれを検出するために光軸Kに対してピッチ方向とヨー方向の角速度を検出するように配置された振動ジャイロなどのぶれ検出センサである。
【0015】31は撮影レンズ1内に設けられた絞り、32は絞り駆動装置、33はフォーカスレンズ駆動用モータ、34は駆動ギヤ等からなるフォーカスレンズ駆動装置である。35はフォトカプラとフォーカスレンズ駆動装置34に取り付けられたパルス板からなるエンコーダであり、フォーカスレンズ駆動装置34の駆動量を検知してレンズ制御回路104に伝えており、該レンズ制御回路104はこの情報とカメラからフォーカスレンズ駆動量の情報に基づいてフォーカスレンズ駆動用モータ33を所定量駆動させ、フォーカスレンズ1aを合焦位置に移動させるようになっている。
【0016】36は撮影レンズ1の絶対位置を検出しカメラから被写体までの距離を得るための被写体距離検出装置であり、例えば至近位置から無限遠までを4bit 程度のコードパターンからなり、不図示のブラシ接点を用いて合焦位置での被写体距離が検出できるようになっている。37は撮影レンズ1の焦点距離を検知する焦点距離検出装置であり、不図示のブラシ接点を用いてズーミングするレンズに応じた焦点距離情報が検出できるようになっている。38はぶれ補正用レンズ1bを光軸Kに直交する平面において移動すさせるシフトレンズ駆動装置である。39は公知のカメラとレンズとの電気的インターフェイスとなるマウント接点である。
【0017】図2は、上記構成より成る一眼レフカメラの上面図である。
【0018】同図において、41はレリーズボタン、42は外部モニター用LCD、43はカメラのメインスイッチと撮影モードの選択を行う撮影モードダイヤル、44はセルフタイマ設定釦である。
【0019】前記撮影モードダイヤル43には設定可能な撮影モードが記されており、その中で、43aは絵文字で示されたようなシーンに適した撮影モードが設定されたイメージゾーンで、人物撮影に適したポートレイトモード,風景撮影に適した風景モード,接写撮影に適したクローズアップモード,動体写真に適したスポーツモードの4種類が揃えられている。本実施の形態においては、このイメージゾーンの何れかの撮影モードを撮影者が設定した時の動作を説明するものである。43bはグリーンモードと言われる一般的な撮影を想定してカメラがあらかじめ所定の撮影機能を設定する撮影モードである。
【0020】図3は、上記構成の一眼レフカメラに内蔵された電気回路の構成を示すブロック図であり、図1と同じ部材には同一の符号を付してある。
【0021】カメラ本体に内蔵されたマイクロコンピュータの、カメラ制御用中央処理装置(以下、CPUと記す)101は、その内部において認識情報処理部101aとEEPROM101bを備えている。そして、該CPU101には、カメラの諸機能を制御するために各種制御回路が接続されている。
【0022】測光回路102は、測光センサ10からの信号を増幅後、対数圧縮,A/D変換し、画面内の複数の領域に対応する各センサの輝度情報としてCPU101に送信する。焦点検出回路103は、画面内の複数の位置で位相差方式の焦点検出が行えるように複数組から成るラインセンサ67からの出力をA/D変換し、CPU101に送信する。レンズ1に配置されたレンズ制御回路104は、マウント接点39を介してCPU101からの制御情報をもとにフォーカスレンズ駆動用モータ33を制御すること、絞り駆動装置31を制御すること、シフトレンズ駆動装置38を制御することを司っている。
【0023】ストロボ制御回路105は、CPU101からのストロボ発光の信号を受けると内蔵ストロボ15をポップアップさせるとともに、レリーズに同期して内蔵ストロボ15を発光させ、調光センサ55からの信号を受けてストロボ発光量を制御する。SW1はレリーズ釦41の第一ストロークでONし、測光,AF及び本発明の特徴の一つである被写体認識動作を開始させるためのスイッチ、SW2はレリーズ釦41の第二ストロークでONするカメラのレリーズスイッチである。SW-DIAL は撮影モードダイヤル43内に設けられたダイヤルスイッチである。上記各スイッチ及び図示はしていないがカメラの各所に配置された各種スイッチの状態信号がSW信号入力回路106に入力され、データバスによってCPU101に送信される。
【0024】LCD駆動回路107は、LCD(液晶表示器)を表示駆動させるための公知の構成より成るもので、CPU101からの信号に従い、絞り値,シャッタ秒時、設定した撮影モード等の表示を、モニター用LCD42や図示しないファインダ内表示用LCDに表示させる。シャッタ制御回路108は、通電すると先幕を走行させるシャッタマグネットMg-1と後幕を走行させるシャッタマグネットMg-2を制御し、感光部材に所定光量を露光させる。モータ制御回路109は、フィルムの巻き上げ,巻き戻しを行うモータM1と主ミラー2、シャッタ4のチャージを行うモータM2を制御すためのものである。上記のシャッタ制御回路108とモータ制御回路109によって一連のカメラのレリーズシーケンスが実行される。
【0025】ぶれ検出センサ16は、カメラの手ぶれによる角速度を出力し、ぶれ検出回路111はこの角速度を実際のぶれ量に変換して認識情報処理部101aに送る。それとともに手ぶれ補正回路110に送り、該手ぶれ補正回路110は実際に手ぶれの補正量に相当するシフトレンズの駆動量を算出してCPU101に送信する。これを受けてCPU101は、前述のようにレンズ制御回路104に制御情報を送り、シフトレンズ駆動装置38を介してぶれ補正用レンズ1bを制御して手ぶれ補正を行う。
【0026】ここで、説明をわかりやすくするために記載したCPU101の内部で構成される認識情報処理部101aへの接続について説明する。
【0027】まず、前述のぶれ検出回路111が接続されており、手ぶれ量が情報信号として入力される。次に、レンズ内に設けた被写体距離検出装置36、焦点距離検出装置37の信号からレンズ位置検出回路112によって被写体距離情報と撮影レンズの焦点距離情報が入力されるようになっている。
【0028】エリアセンサ13は、主に被写体の顔情報を検出するために必要な画素数(約数10万画素)を備えたカラーエリアセンサであり、公知のCCDやC−MOSセンサから成り、センサ制御回路113にて公知の駆動方法で制御されている。センサ制御回路113に入力された被写体画像は画像処理回路114に送られてA/D変換され、認識情報処理部101aにて必要に応じて図示しないメモリ部に記憶されるとともに、後述のアルゴリズムにしたがって被写体認識回路115と被写体像動きベクトル検出回路116にそれぞれ必要とする画像データとして供給される。被写体認識回路115には、撮影画面に相当する画像データが、被写体像動きベクトル検出回路116には、所定の時間差を持った画像データが、それぞれ出力される。
【0029】前記被写体認識回路115では、例えば被写体に顔があれば、その大きさと数を検出する。また、風景であればどのような風景シーンであるかを検出するもので、詳細は後述のアルゴリズムの中で記載する。被写体像動きベクトル検出回路116では、複数の領域ごとの時間差のある画像データから2次元の相関演算を行い、動きベクトルを検出するもので、同じく詳細は後述のアルゴリズムの中で記載する。
【0030】以上のように、ぶれ検出回路111,レンズ位置検出回路112,被写体認識回路115,動きベクトル検出回路116がそれぞれCPU101に接続され、認識情報処理部101aに、カメラぶれ情報,レンズの焦点距離情報,被写体距離情報,被写体認識情報,被写体像の動きベクトル情報が入力されるようになっている。
【0031】117は記録用の磁気ヘッドを含む認識情報記録回路であり、前記認識情報処理部101aで最終的に検出された被写体情報を認識情報としてフィルムの磁気記録層に記録するものである。なお、勿論この磁気記録方法に限らず、EEPROM、フラッシュメモリなどの半導体メモリや、MO,DVD-ROM などの光記録手段や、その他リムーバルな記録メディアでも良い。
【0032】次に、上記のように構成された一眼レフカメラの動作について説明する。
【0033】図4は、上記構成における一眼レフカメラの撮影動作までを示すフローチャートである。
【0034】まず、ステップ#101にて、撮影モードダイアル43がLOCKボジションから外されてイメージゾーン43aの何れかの撮影モードが設定されると電源が供給され、カメラは撮影準備状態となる。次に、ステップ#102にて、レリーズ釦41の第一ストロークでONするスイッチSW1がONしているかを検出し、ONしていればステップ#103へ進み、OFFであればステップ#102の検出を繰り返す。ステップ#103へ進むと、ここでは設定した撮影モードが何であるかを読み込み、ポートレイトモードであればステップ#104へ、風景モードであればステップ#105へ、接写モードであればステップ#106へ、スポーツモードであればステップ#107へ、それぞれ進む。
【0035】ポートレイトモードであれば、ステップ#104を介してステップ#108に進み、ここでは被写体認識回路115が顔認識処理を行う。つまり、被写体認識回路115は、エリアセンサ13により被写体像を所定のフレームレートで順次取り込むとともに、取り込んだ被写体画像から顔認識処理を行い、被写体像の顔の大きさ,数を判定する。この際、ポートレイトモードであることから、被写体認識処理は顔を認識するのに適したアルゴリズムで実行される。顔認識については詳細は後述する。次にステップ#112へ進み、CPU101はこの結果を前記被写体認識回路115より認識情報処理部101aに取り込み、顔認識結果に応じてその被写体にあったAEプログラム線図でのAE制御やAF動作の制御内容について決定する。
【0036】この制御内容の一例を、図5に示す。なお、図5の縦項目は認識した顔の数、横項目は顔領域の大きさを表している。
【0037】まず、顔の数が一人でかつ顔領域の大きさが所定の大きさよりも大きいときには、AE(自動露出制御)は装着レンズの開放Fナンバーを基準に長焦点側になるとやや絞り込んでいく絞り優先AEプログラムとする。これは一番人物中心となる写真で、顔だけにピントが合うように撮ることを優先に考えるが、装着レンズが長焦点になると顔の一部にしか合わなくなるのでやや絞り込むプログラムとしている。また、AF(オートフォーカス制御)は、顔領域に含まれる焦点検出点の平均のピント位置に合わせるようにレンズを駆動させることとする。
【0038】顔領域の大きさが所定の大きさよりも小さい時には、AEは、装着レンズの開放FNo(Fナンバー)優先プログラムとし、AFは、顔領域のなかで一番至近にあるものにピントを合わせるようにレンズを駆動させることとする。これも顔の大きさの割にはできるだけバックをぼかすように設定しているものである。
【0039】なお、一人の場合はいずれにおいても内蔵ストロボ15を強制発光させ、その調光補正量はマイナスの1段としている。これは被写体の瞳にキャッチライトを発生させる為に行うものである。
【0040】次に、顔の数が二人から三人までであれば、前記AEは、前述のような顔の大きさには関係なく各人にピントが合う絞り値で制御する被写界深度優先プログラムとする。また、AFは、近点と遠点に対して「7:10」で内分する位置にレンズを駆動するように設定する。これは、近点と遠点のそれぞれの人物のいずれにもピントが合い、それ以外の遠方の背景は極力ぼかすようにしたもので、複数の焦点検出点間でのディフォーカス量に応じていずれもが被写界深度内に入るような絞りを設定し、その絞り値優先のプログラムとしており、いわゆるポートレイト写真ではないが、かなり人物中心に捉えた撮影モードを設定する。
【0041】次に、顔の数が四人以上、ないし不特定であれば顔の大きさには関係なく、AEは、絞り値=F8を基準として焦点距離に応じて絞り込む絞り優先AEプログラムとしている。AFは、各すべての顔の平均の位置にピントが合うようにレンズを駆動すさせることとする。これは、人物にすべてピントが合うのを基準にしながらも、人物と背景のいずれもがシャープに写るようにある程度絞り込んだ設定にし、かつ、焦点距離に応じて長焦点になるほど絞り込むようにしている。いわゆる全体的に人物も背景も調和の取れた写真が撮れるような集合写真的な撮影モードに設定するものである。
【0042】このように、従来のカメラであればポートレイトモードを選んでも、AEは開放FNoでの絞り優先AE、AFはワンショットAFに固定されたものが、上記のように人物撮影においていろいろな被写体の状況に合わせて、より一層カメラの制御を最適化できるものである。
【0043】図4に戻り、以上のようにしてポートレイトモードに設定したときの顔認識結果によるカメラの制御内容が決定されると、実際に制御を行うべくステップ#116に進む。
【0044】また、風景モードであった場合はステップ#105を介してステップ#109に進み、ここでは被写体認識回路115がシーン認識処理を行う。つまり、被写体認識回路115は、エリアセンサ13により被写体像を所定のフレームレートで順次取り込むとともに、取り込んだ被写体画像からシーン認識処理を行い、被写体がどのような風景シーンであるかを認識する。この際、風景モードであることから被写体認識処理はどのような風景であるかを認識するのに適したアルゴリズムで実行される。シーン認識については詳細は後述する。次にステップ#113へ進み、CPU101はこの結果を前記被写体認識回路115より認識情報処理部101aに取り込み、シーン認識結果に応じてそのシーンにあったAE制御やAF動作の制御内容について決定する。
【0045】例えば、所定以上の面積をしめる緑の領域があれば、これは森林の風景であると認識されてくるので、測光センサの感度や人間の記憶色等を考慮してやや露出補正をオーバー側に掛ける(例えば0.3〜0.5段プラス)制御を行う。また、画面上部に所定以上の面積をしめる青の領域や高輝度の領域があれば、空を含んでいる風景と認識されてくるので、それに相当する測光領域の輝度情報は排除するか所定値より減ずる処置をとる事を行うようにする。AFにおいては、所定の距離よりも近い位置にはピントを合わせないようにリミッターを設けるようにする。
【0046】このように、従来のカメラであれば風景モードを選択しても、測光方式は通常の評価測光や平均測光の測光値でそのまま制御されるものが、風景撮影の被写体に合わせて、より一層カメラの制御を最適化できるものである。
【0047】また、接写モードであった場合はステップ#106を介してステップ#110に進み、ここでは被写体認識回路115が物体認識処理を行う。つまり、被写体認識回路115はエリアセンサ13により被写体像を所定のフレームレートで順次取り込むとともに、取り込んだ被写体画像から物体認識処理を行い、被写体のなかで主被写体となる物体の大きさと奥行きを認識する。この際、接写モードであることから被写体認識処理は物体の大きさを認識するのに適したアルゴリズムで実行される。物体認識については詳細は後述する。次にステップ#114へ進み、CPU101はこの結果を前記被写体認識回路115より認識情報処理部101aを取り込み、物体認識結果に応じてそのシーンにあったAE制御やAF動作の制御内容について決定する。
【0048】例えば、画面内において所定以上の面積をしめる物体の領域があり、かつ奥行きが所定以上ある物体であると認識された情報がくると、至近点から奥行き方向に約2/3いったところまでにピントが合うような被写界深度を持つ絞りに設定し、AFも、それを満たす位置にレンズを駆動するようにする。それ以外の大きさと奥行きの物体の場合には、奥行き全部にピントが合う被写界深度を持つ絞りに設定し、AFも、それを満たす位置にレンズを駆動するようにする。これは、接写対象の被写体はある程度よりも大きくなると全体にピントを合わせるためにはかなり絞り込まねばならず、実際に合わせる限界を超えてしまうことや、このような画面の多くを占める被写体を撮影する場合は全体にピントを合わせるようなことは接写写真の仕上がりとしてあまり適当でない場合が多いことによるものである。
【0049】このように、従来のカメラであれば接写モードを選択しても被写界深度の深めの絞り値を固定とした絞り優先AE制御されるにすぎなかったが、上記のように接写撮影の対象となる被写体に合わせて、より一層カメラの制御を最適化できるものである。
【0050】また、スポーツモードであった場合はステップ#107を介してステップ#111に進み、被写体像動きベクトル検出回路116が被写体像の動き検出処理を行う。つまり、被写体像動きベクトル検出回路116はエリアセンサ13により被写体像を所定のフレームレートで順次取り込むとともに、取り込んだ被写体画像から被写体像の動き検出処理を行う。この際、スポーツモードであることから被写体認識処理は被写体が何であるかというのではなく、被写体の動きを検出するのに適したアルゴリズムで実行される。動き検出については詳細は後述する。次にステップ#115へ進み、CPU101はこの結果を被写像動き検出回路116より認識情報処理部101aに取り込み、さらにぶれ検出センサ16とぶれ検出回路111にてカメラの手ぶれによる角速度を実際のぶれ量に変換された情報を認識情報処理部101aに取り込む。これにより、認識情報処理部101aは前記被写体動きベクトルぶれ検出回路116にて得られた被写体画像の動きベクトル情報から、ぶれ検出回路111にて得られた手ぶれ情報を差し引き、実際の被写体の動き量を算出する。これは、前者の被写体像の動きベクトルは撮影者の手ぶれ量も含んで検出されるためである。こうして得られた被写体の動き検出結果に応じてそのシーンにあったAE制御やAF動作の制御内容について決定する。
【0051】例えば、AEは、被写体の動き量に応じて被写体ぶれを起こさないシャッタスピードに自動設定されるシャッタスピード優先AEとなり、AFは、常にディフォーカス検出を行い、それに合わせてピントを連続的に合わせていくサーボモードに設定するだけでなく、被写体の動く方向に応じて焦点検出点を乗り移らせる、いわゆる追尾モードを実行するように設定する。これは、スポーツモードにおいては動きのある被写体を最重点な対象として補足していこうというものである。
【0052】このように、従来のカメラであればスポーツモードを選択しても絞りとシャッタスピードの組み合わせが標準のAEプログラムよりも高速シャッタ秒時側にセットされたシャッタスピード優先的な露出プログラムに一律に設定され、AFモードもサーボモードに設定するだけであったが、上記のように動体撮影の際の被写体に合わせて、より一層カメラの制御を最適化できるものである。
【0053】以上のようにしてステップ#112〜#115の各撮影モードに対応した認識情報処理によりAE制御やAF動作の制御内容について決定されると、実際にこの決定された制御内容に沿ってカメラが制御されることになる。
【0054】上記ステップ#112〜#115のいずれかが実行されると次にステップ#116に進み、焦点検出用ラインセンサ66の出力を取り込み、各焦点検出点のディフォーカス量を算出する。そして、上記ステップ#112〜#115で決定された制御内容に沿って最終的にピントを合わせるべくディフォーカス量を算出する。そして、ステップ#117に進み、CPU101はレンズ制御回路104に信号を送ってフォーカスレンズ1aを該ディフォーカス量に応じて所定量だけ駆動させ、レンズの焦点調節を行う。また、ワンショトかサーボかのいわゆるAFモードも設定する。次にステップ#118にて、レンズ位置検出回路112からレンズ位置情報として焦点距離情報と被写体距離情報を取り込む。次にステップ#119に進み、CPU101は測光回路102に測光を行わせる。そして全測光領域の輝度を検出するとともに、上記ステップ#112〜#115で決定された制御内容にそって、特定領域の重み付けや露出補正をかける測光演算を行わせ、CPU101はこれを取り込む。
【0055】次にステップ#120では、CPU101は、ぶれ検出センサ16を駆動し、ぶれ検出回路111にて実際のぶれ量に変換された情報を撮影モード設定回路101aに取り込む。また、前記実際のぶれ量に変換された情報は手ぶれ補正回路110にも送られており、ここで実際に手ぶれの補正量に相当するシフトレンズの駆動量を算出され、CPU101はこれも取り込む。次にステップ#121にて、CPU101はシフトレンズ駆動量をもとにレンズ制御回路104に制御情報を送り、シフトレンズ駆動装置38を介してぶれ補正レンズ1bを制御し、手ぶれ補正を行う。
【0056】次にステップ#122にて、上記ステップ#119にて得られた測光値と設定された撮影モードをもとに決定された露出値、すなわちシャッタ秒時と絞り値をLCD駆動回路107がモニター用LCD42に表示する。続くステップ#123では、上記ステップ#112〜#115で決定された制御内容にそってストロボ撮影を必要とする状況であるかを判定し、必要であればステップ#124にて内臓ストロボ15をポップアップさせる。
【0057】次のステップ#125では、レリーズ釦41の第二ストロークでONするスイッチSW2がONしているかを検出し、OFFしていればステップ#102に戻り、前述の動作を繰り返す。一方、ONしていればステップ#126に進み、カメラのレリーズシーケンスを実行する。具体的には、まずCPU101はモータ制御回路109を介してモータM2に通電して主ミラー2をアップさせ、レンズ制御回路103を介して絞り駆動装置31を駆動し、所定の開口まで絞り込む。次に、シャッタ制御回路108にて所定のシャッタ秒時でシャッタを走行させ、必要であれば先幕が走行完了した時点で、ストロボ制御回路105を介して内臓ストロボ15を発光させ、画像記録部材5への露光を終了させる。その後、モータM2に再度通電し、ミラーダウン,シャッタチャージを行うとともにモータM1にも通電して、フィルムの駒送りを行い、一連のレリーズシーケンスが終了する。
【0058】また、銀塩フィルムのカメラであれば、この給送中に、ステップ#108〜#111の被写体認識動作と、上記ステップ#112〜#115の認識情報処理で得られた被写体情報の磁気書き込みを行う。なお、銀塩フィルム以外のEEPROM,フラッシュメモリなどの半導体メモリや、MO,DVD-ROM などの光記録手段や、その他リムーバルな記録メデアにおいては、スイッチSW2がONした直後に記録しても良いし、画像の記録もフィルムでなく電子撮像素子であれば撮影画像の記録の終了後でも構わない。
【0059】以上説明したように、この実施の第1の形態においては、選択された撮影モードに応じて被写体認識(被写体の動き検知も含める)を行い、かつそれぞれのモードの特徴に応じた認識処理を行っている。
【0060】次に、図4のステップ#108〜#111の各撮影モードでの被写体認識動作について、図6〜図11を用いて詳述する。
【0061】図6は、ポートレイトモードに設定されている時の被写体認識アルゴリズムである、ステップ#108での顔認識を行うフローチャートである。
【0062】この動作がスタートすると、被写体認識回路115はステップ#201にてEEPROM101bから顔認識アルゴリズムに用いる各種パラメータを読み込み、不図示のメモリの所定のアドレスに格納する。なお、この認識アルゴリズムに用いるパラメータについては、他認識アルゴリズムと合わせてまとめて図7に示している。次にステップ#202に進み、処理過程で発生する変数の初期化を行う。次いでステップ#203に進み、顔認識を行う領域の初期設定を行う。ここではポートレイトモードである為、被写体はほぼ中央およびその近傍にあるもの、画面内の上部にある場合がほとんどである。特にカメラの姿勢によって、例えば縦位置撮影では画面上部の割合はかなり高くなる。そこで、画面内の上側領域を多く含む約50%の領域を初期の認識対象領域として限定するようにパラメータを設定している。
【0063】次にステップ#204に進み、上記ステップ#203で限定された領域のセンサの予備蓄積を行ったのち、数画素単位でまとめたブロック単位で読み出す。次にステップ#205に進み、各ブロックの輝度が低輝度,中輝度,高輝度かを所定の閾値と比較した上で、比較的低輝度のブロック領域と中輝度の領域が隣接するブロック領域とその周辺領域のみを顔認識を行う領域として更に限定する。これは、人の顔の部分は概ね相対的に中輝度の領域であり、目や髪の毛が概ね低輝度の領域であり、背景には概ね高輝度の領域を含んでいる事によるものである。このように2段階で認識処理を行う領域を限定する事で、認識の処理負荷をかなり軽くしている。この閾値はパラメータとしてEEPROM101bに記憶されており、上記ステップ#201において読み込まれたものである。
【0064】次にステップ#206に進み、顔認識を行うべくエリアセンサ13に蓄積動作を行わせ、顔認識を行う領域の被写体画像の読み込み行う。そして、次のステップ#207にて、読み込まれたエリアセンサ13の各画素のR,G,Bの値から明度,色相,彩度,色度,色差といった色の特徴量を求める。ここで求める特徴量は、次のステップで肌色領域を判定すべく色空間での特徴量を求める事になる。次にステップ#208に進み、これらの色の特徴量が予め定めた肌色の範囲内に入っていれば対象画素が肌色であると判定し、肌色領域を抽出する。ここで肌色とみなす色の領域はパラメータに設定されており、例えば測光センサ10でフリッカーを検知していれば、蛍光燈と判断して肌色領域のパラメータを変化させたり、輝度そのものによって変化させて、光源が変わっても肌色抽出が行えるようにしている。
【0065】次にステップ#209に進み、肌色と判定された画素領域とその周辺領域からなる画像に対してエッジ検出処理を施す。エッジ検出処理としては幾つかの手法があるが、ここでは2階差分に基づく方法で行う。2階差分は連続空間上で2次微分に相当し、代表的に下記のように表される。
【0066】
▽2 fij=fi+1,j+fi-1,j+fi,j+1+fi,j-1−4*fi,j ・・・・ (1)
なお、fij は第i行、第j列の画素出力値(明度)を表し、▽2 fij はfij のラプラシアン(2次微分)を表すものとする。
【0067】これを重み行列で表すと図8のようになり、この実施の形態の場合、対象画素を中心としてその周囲8画素を対象とした8近傍ラプラシアンを演算するものである。そして、この値が所定の閾値よりも大きければ対象画素をエッジ画素として2値化する。このように、2階差分を行ってエッジを検出すると差分出力のゼロクロス点を求める事になり、鋭いエッジでも緩やかなエッジでもエッジ強度に影響されずらく、エッジが検出しやすくなるが、反面ノイズに対して敏感になっている。しかし、本アルゴリズムでは肌色検出でかなり対象領域が限定される為、このような手法が効果的である。
【0068】次にステップ#210に進み、顔であるかの判定の為のマッチング処理を行う。ここでは入力画像のなかである部分画像(テンプレート)を動かしマッチするところを検出するテンプレートマッチングを用いるものとする。まず、大きさと長軸と短軸の比率の異なる複数の楕円の顔のテンプレートを作成する。顔の大きさのしきい値としては画面の中で誰であるか充分判り、人物中心の写真であると思われる程度(例えば全身が画面の1/2程度)の大きさとしておく。これらのテンプレートはあらかじめ作成しておき、図示しないメモリに記憶させておいても良い。顔テンプレートは楕円で2値化されたもので、実際の顔の輪郭とのマッチング度を上げるためにテンプレートの輪郭も数画素の幅を持たせている。さらにマッチング処理を続けて上記ステップ#209で得られた顔候補のエッジ画像と顔テンプレートとのマッチング度を求める。マッチング度を求める測度としていくつかのものがあるが、例えば顔候補のエッジ画像をf(x,y)、テンプレートをt(x,y)、Rはテンプレートの全域とすると ∬R(f-t )2 dxdy ……(2)
で算出される二乗誤差にて判定するものとする。このような方法で数種類の顔テンプレートをを用いてマッチング処理を行い、最もよく一致するテンプレートを対象画素に対して求める。
【0069】次にステップ#211に進み、算出した二乗誤差の値があらかじめ定めていた閾値より小さければ、対象画素を中心として最もよく一致する顔テンプレートでか囲まれる領域を顔領域であると判定してステップ#212に進む。そして、このステップ#212では、顔領域と判定された顔領域の数と大きさを求めてこれを出力し、図4のステップ#108の顔認識処理が終了することなる。
【0070】また、上記ステップ#211で顔と判定される領域がなかった場合はステップ#213に進み、今まで行ってきた顔認識の回数を判定する。所定の回数より少なければステップ#214に進み、認識アルゴリズムのパラメータを前回の検出とは異ならせて再度認識処理行わせるべくパラメータを変更する。例えば、認識領域の限定範囲を広げる、肌色特徴量の幅を広げる、エッジ検出のしきい値を変更するなどを行い、ステップ#202に進み、新たな認識パラメータで顔認識処理を行う。
【0071】また、ステップ#213にて既に所定回数の顔認識を実行している場合は、被写体にポートレイトモードとしてふさわしい被写体ではなかったと判定して、カメラの制御モードをグリーンモードに自動的に設定して、図4のステップ#116に進む。グリーンモードはいわゆる公知の「カメラお任せモード」で、図2の43bに示される撮影モードと同じ設定であり、ごく一般的な撮影に適した制御モードに設定される図9は、風景モードに設定されている時の被写体認識アルゴリズムである、図4のステップ#109でのシーン認識を行うフローチャートである。
【0072】この動作がスタートすると、被写体認識回路115はステップ#301にてEEPROM101bからシーン認識アルゴリズムに用いる各種パラメータを読み込み、不図示のメモリの所定のアドレスに格納する。なお、前述と同じくこの認識アルゴリズムに用いるパラメータについては、まとめて図7に示している。次にステップ#302に進み、処理過程で発生する変数の初期化を行う。そして、次のステップ#303にて、シーン認識を行う領域の初期設定を行う。ここでは風景モードである為、特に認識領域の限定は行わずファインダで観察できるほぼ全領域を対象とすることになる。
【0073】次にステップ#304に進み、上記ステップ#303で限定された領域のセンサの予備蓄積を行ったのち、数画素単位でまとめたブロック単位で読み出す。次いでステップ#305にて、各ブロックの輝度が低輝度,中輝度,高輝度かを所定の閾値と比較するが、風景モードにおいては低輝度から高輝度まで被写体シーンが及んでいるため、この輝度領域による限定をかけることはなく、従ってこのステップを介しても特に限定しないようにパラメータを設定している。次のステップ#306では、シーン認識を行うべくエリアセンサ13に蓄積動作を行わせ、シーン認識を行う領域の被写体画像の読み込み行う。そして、次のステップ#307にて、読み込まれたエリアセンサ13の各画素のR,G,Bの値から明度,色相,彩度,色度,色差といった色の特徴量を求める。ここで求める特徴量は、次のステップで自然色領域を判定すべく色空間での特徴量を求める事になる。次にステップ#308に進み、これらの色の特徴量が前記の予め定めた色の範囲内に入っていれば対象画素が自然色であると判定し、色領域を抽出する。ここで自然色とみなす色の領域はパラメータに設定されており、例えばここでは特に森林風景を抽出すべく緑から深緑の領域や空を抽出すべく青の領域を判定するようにパラメータを設定する。
【0074】次にステップ#309に進み、自然色と判定された画素領域とその周辺領域からなる画像に対してエッジ検出処理を施す。エッジ検出処理としては幾つかの手法があるか、ここでは画像の勾配を利用してエッジの検出を行い、よく知られている方法としてロバーツの勾配を用いる。
【0075】
[(fi,j−fi+1,j+1)2 +(fi,j+1−fi+1,j)2 ]1/2 ・・・・(3)
定義から判るように、ロバーツの勾配は斜め方向のエッジ検出に適しており、これは風景のような自然シーンにおいても適当なものである。そして、この値が所定の閾値よりも大きければ対象画素をエッジ画素として2値化する。閾値としての勾配は比較的緩めにし、なだらかな変化においても検出するようにパラメータを設定してある。
【0076】次にステップ#310に進み、シーンを認識する領域抽出処理を行う。これもいくつかの手法があるが連結成分処理を行うものとする。エッジ処理によって作られた2値化画像のなかには雑音成分が含まれていることが多い。これら雑音的な小さい成分,突起,穴などは図形融合によって処理できる。あるいは、各連結成分の特徴量(面積や幅)を測り、その値がある閾値以下の成分を消去するようにして連結成分を作っていき、シーンとして特徴のある領域を抽出する。なお更に細線化処理によって線図形に変換して輪郭線抽出を行っても良い。
【0077】次にステップ#311に進み、抽出された領域があらかじめ定めていた閾値(ここでは画面にしめる大きさが5%以上)より大きければ、風景シーンとなる領域があると判定してステップ#312に進む。ステップ#312では、シーン領域と判定された領域(ここでは森林と思われる領域、空と思われる領域)の画面内のしめる位置を求めてこれを出力し、図4のステップ#109のシーン認識処理が終了することなる。
【0078】また、上記ステップ#311で風景シーンと判定される領域がなかった場合はステップ#313に進み、今まで行ってきたシーン認識の回数を判定し、所定の回数より少なければステップ#314に進み、認識アルゴリズムのパラメータを前回の検出とは異ならせて再度認識処理行わせるべくパラメータを変更する。例えば自然色特徴量の幅を広げる、エッジ検出の閾値を変更するなどを行い、ステップ#302に進み、新たな認識パラメータでシーン認識処理を再度行う。
【0079】また、上記ステップ#313にて既に所定回数のシーン認識を実行している場合は、被写体に風景モードとしてふさわしい被写体ではなかったと判定して、ここでもカメラの制御モードをグリーンモードに自動的に設定して、図4のステップ#116に進む。
【0080】このように、風景シーンの認識アルゴリズムは前述の顔認識アルゴリズムに対して認識アルゴリズムそのものをシーン検出にふさわしいものに変更したり、また同じアルゴリズムでもパラメータを変更して認識処理を行うようにして認識の精度を高めている。
【0081】なお領域抽出の方法として、領域形成法(Region Growing)を行うとでも良い。これは小さい領域の集合に分割した初期分割からスタートし、隣接領域が併合しても一様な領域と見なせるかどうかを判定しながら併合処理を繰り返すもので、一様性の尺度としては領域境界部での濃度値の不連続性、領域内の濃度値の分布範囲、平均濃度からの最大偏差などがある。しかしながら認識アルゴリズムとしては精度は上がるが、演算能力としてかなりの負荷となってしまう。
【0082】図10は、接写モードに設定されている時の被写体認識アルゴリズムである、図4のステップ#110での物体認識を行うフローチャートである。
【0083】この動作がスタートすと、被写体認識回路115はステップ#401にてEEPROMから物体認識アルゴリズムに用いる各種パラメータを読み込み、不図示のメモリの所定のアドレスに格納する。次にステップ#402に進み、処理過程で発生する変数の初期化を行う。次いでステップ#403にて、シーン認識を行う領域の初期設定を行う。ここでは接写モードである為、被写体はほぼ中央部にあるものがほとんどであるが画面に占める割合はかなり大きい。そこで、画面内の中心約70%の領域を初期の認識対象領域として限定するようにパラメータを設定している。
【0084】次にステップ#404に進み、上記ステップ#403で限定された領域のセンサの予備蓄積を行ったのち、数画素単位でまとめたブロック単位で読み出す。そして、次のステップ#405にて、各ブロックの輝度が低輝度,中輝度,高輝度かを所定の閾値と比較した上で、比較的低中輝度のブロック領域と高輝度の領域のみを顔認識を行う領域として更に限定する。基本的には低輝度領域を排除することになり、これは接写撮影を行う対象物は輝度を比較すると低い輝度であることはほとんどない事から限定したものである。
【0085】次にステップ#406に進み、物体認識を行うべくエリセンサ13に蓄積動作を行わせ、物体認識を行う領域の被写体画像の読み込み行う。そして、次のステップ#407にて、読み込まれたエリアセンサ13の各画素のR,G,Bの値から明度,色相,彩度,色度,色差と言った色の特徴量を求める。ここで求める特徴量は次のステップで同色領域を判定すべく色空間での特徴量を求める事になる。次にステップ#308に進み、これらの色の特徴量が前記の予め定めたいくつかの種類の色の範囲内に入っているもの同志をそれぞれ対象画素が同色であると判定し、同色領域を抽出する。ここで同色とみなす色の領域はパラメータに設定されている。
【0086】次にステップ#409に進み、同色と判定された画素領域とその周辺領域からなる画像に対してエッジ検出処理を施すが、ここではシーン認識の上記ステップ#309と同じくロバーツの勾配を用いる。そして、この値が所定の閾値よりも大きければ対象画素をエッジ画素として2値化する。閾値としての勾配は上記ステップ#309に比較してきつめに設定し、ある程度はっきりした変化において検出するようにパラメータを設定してある。
【0087】次にステップ#410に進み、物体を認識する領域抽出処理を行う。ここではステップ#310と同じであり、説明を省略する。なお領域抽出の方法として、同色領域を抽出してからエッジ処理(閾値処理)を行ったが、色の特徴量を抽出し、同色の領域を抽出する段階で前述の領域形成法(Region Growing)を行うことでも良い。
【0088】次にステップ#411に進み、抽出された領域があらかじめ定めていた閾値(ここでは画面にしめる大きさが10%以上)より大きければ、接写する対象物の領域があると判定してステップ#412に進む。そして、このステップ#412では、接写対象物と判定された領域の画面内のしめる位置と大きさを求めてこれを出力する。又合わせて焦点検出回路103から対象領域のデフォーカス量を複数求め、これよりおおよその奥行きを検出し出力する。これで図4のステップ#110の物体認識処理が終了することなる。
【0089】また、上記ステップ#411で接写対象物と判定される領域がなかった場合はステップ#413に進み、今まで行ってきた物体認識の回数を判定し、所定の回数より少なければステップ#414に進み、認識アルゴリズムのパラメータを前回の検出とは異ならせて再度認識処理行わせるべくパラメータを変更する。例えば、同色と見なす特徴量の幅を広げる、エッジ検出の閾値を変更するなどを行い、ステップ#402に進み、新たな認識パラメータで物体認識処理を行う。
【0090】また、上記ステップ#413にて既に所定回数の物体認識を実行している場合は、被写体は接写モードとしてふさわしい被写体はなかったと判定して、ここでもカメラの制御モードをグリーンモードに自動的に設定して、図4のステップ#116に進む。
【0091】このように、接写シーンの認識アルゴリズムは前述のシーン認識アルゴリズムに対してほぼ同じアルゴリズムを用いるが、認識のためのパラメータを変更して認識処理を行うようにして、物体をより精度良く認識できるように特化している。
【0092】図11は、スポーツモードに設定されている時の被写体認識アルゴリズムである、図4のステップ#111での被写体の動き検出を行うフローチャートである。
【0093】この動作がスタートすると、被写体認識回路115はステップ#501にてEEPROMから動き検出アルゴリズムに用いる各種パラメータを読み込み、不図示のメモリの所定のアドレスに格納する。そして、次のステップ#502にて、処理過程で発生する変数の初期化を行う。次にステップ#503に進み、シーン認識を行う領域の初期設定を行う。ここでは接写モードである為、被写体はほぼ中央部にあるものがほとんどである。画面に占める割合はそれほど大きくはないが被写体がかなり移動するので、ここでは画面内の中心約70%の領域を初期の認識対象領域として限定するようにパラメータを設定している。
【0094】次にステップ#504に進み、動き検出を行うべくエリアセンサ13に蓄積動作を行わせ、動き検出を行う領域の被写体画像の読み込み行う。ここでは前述の3アルゴリズムはエリアセンサ13の予備蓄積を行っていたが、スポーツモードでは検出までの時間を極力短くしたいため、このステップを省略している。次にステップ#505に進み、読み込まれたエリアセンサ13の各画素のR,G,Bの値から輝度信号成分としてG成分のみを用いて画像に対してエッジ検出処理を施す。ここでも上記ステップ#309と同じくロバーツの勾配を用いる。そして、この値が所定の閾値よりも大きければ対象画素をエッジ画素として2値化する。閾値としての勾配は上記ステップ#309に比較してきつめに設定し、ある程度はっきりした変化において検出するようにパラメータを設定してある。
【0095】次にステップ#506に進み、検出されたエッジ画像を図示しない所定のメモリに記憶させる。次いでステップ#507にて、次フレームの画像読み出しを行う。続くステップ#508では、上記ステップ#505と同じように輝度信号成分としてのG成分のみを用いて画像に対してエッジ検出処理を施す。次にステップ#509に進み、前フレームのエッジ画像をメモリから読み出して今回のフレームの画像との相関を演算し、その相関値に基づいて画像の動きを検出する。算出式としては前フレームの画像fi-1(x,y) 、現フレームの画像fi(x,y) とするとずらし量ξ、ηにおいて min ΣΣ[fi-1(x−ξ、y−η)−fi(fx、y) ]2 …(4)
又は min ΣΣ|fi-1(x−ξ、y−η)−fi(fx、y) | …(4)’となり、これを求める事となる。
【0096】具体的には、連続する2フレームの画像を比較するわけであるが、この比較はメモリに記憶させた画像データの読み出し位置を一画素づつずらしながら行う。両者の各画素の差の和を求め、その値を1画素ずらす毎に異なる領域に記憶していく。各画素の差の和はbit 比較を行い、異なるbit の数を数える事で行う。次ライン以降も同様の比較を行い、その際の各画素の差の和を1ライン目の値が記憶されている領域に加算していき、これが相関値となる。
【0097】次にステップ#510に進み、この相関値が最も小さくなったところを求めて、その領域における前回からの動きベクトル(動き量)とする。すなわち、相関値が最小になった際の垂直水平方向にずらした画素数が垂直水平方向の動き量となる。なおこのような手段ではなく、水平方向と垂直方向に射影像を作りその相関値(重心位置の移動量)から動きベクトルを求めても良い。
【0098】次にステップ#511に進み、動きベクトルが所定量よりも大きければステップ#512に進み、動体被写体があると判定し動きベクトル量を出力する。これで図4のステップ#111の動き検出処理が終了することなる。
【0099】また、上記ステップ#511で動きベクトルが所定量よりも小さければステップ#513へ進み、スイッチSW2がONしているかを判定し、ONしていればここでもカメラの制御モードをグリーンモードに自動的に設定して、図4のステップ#116に進む。ONしていなければ502へ戻り、動き検出を繰り返す。
【0100】このように、スポーツモードではどのようなものであるかを認識するよりも動体であるかを検出する事になるが、その検出アルゴリズムは認識パラメータを変更する事によって行われている。
【0101】(実施の第2の形態)次に、本発明の実施の第2の形態について、図12のフローチャートを用いて説明する。なお、一眼レフカメラの回路構成等は上記実施の第1の形態と同様であるものとする。
【0102】上記実施の第1の形態では、すべての撮影モードにおいて被写体認識処理を行ったが、カメラに搭載しうるCPUの限られた演算能力では難しいものがある。そこで、この実施の第2の形態においては、一般的な撮影の主体である人物を撮影すると思われる撮影モードにおいてのみ被写体認識処理を行うものである。
【0103】図12において、ステップ#601にて、撮影モードダイアル43がLOCKボジションから外されてイメージゾーン43aの何れかの撮影モードが設定されて電源が供給され、カメラは撮影準備状態となる。次にステップ#602にて、レリーズ釦41の第一ストロークでONするスイッチSW1がONしているかを検出し、ONしていればステップ#603へ進み、OFFであればステップ#602の検出を繰り返す。
【0104】ステップ#603に進むと、セルフタイマ設定釦44が押されてセルフタイマモードに設定されているかを設定されているかを判定し、セルフタイマモードであればステップ#609へ進み、ここでは被写体認識回路115が顔認識処理を行う。つまり、被写体認識回路115は、エリアセンサ13により被写体像を所定のフレームレートで順次取り込むとともに、取り込んだ被写体画像から顔認識処理を行い、被写体像の顔の大きさ,数を判定する。これは、上記実施の第1の形態のポートレイトモードが設定された時と同じであり、セルフタイマ撮影の際はほとんど人物写真である事から強制的に顔認識処理を行い、セルフタイマ撮影の機能を高めるとともに撮影者の操作性を簡便にしたものである。
【0105】また、設定されていなければステップ#604に進み、設定した撮影モードが何であるかを読み込み、ポートレイトモード(#605)か、風景モード(#606)か、接写モード(#607)か、スポーツモード(#608)かのいずれかに進む。
【0106】ポートレイトモードであった場合はステップ#605を介してステップ#609に進み、上記実施の第1の形態と同じ動作を行う。また、風景モードか、接写モードか、スポーツモードであれば、ステップ#606,#607,#608を介してステップ#611〜#613で公知の撮影プログラムを設定する。
【0107】例えば、風景モードであれば、「AEプログラム=開放Fナンバー」と「1/焦点距離」のポイントから、「Tv:Av=1:2」の比率で変化するプログラム,「AFモード=ワンショットAF」、「給送モード=1駒撮り」、「測光モード=平均測光」というような風景モードプログラムをステップ#611で設定する。
【0108】接写モードであれば、「AEプログラム=被写界深度が深めの絞り優先プログラム」、「AFモード=ワンショットAF」、「給送モード=1駒撮り」、「測光モード=部分測光」というような接写モードプログラムをステップ#612で設定する。また、スポーツモードであれば、「高速側シャッタ秒時側にセットされたシャッタースピード優先的露出プログラム」、「AFモード=サーボAF」、「給送モード=連続撮影」、「測光モード=中央部重点測光」というようなスポーツモードプログラムをステップ#613で設定する。
【0109】以上のように設定されると、次にステップ#614に進み、以下のステップ#614〜#625が実行されるが、これらについては上記実施の第1の形態における図4のステップ#116〜#127と同様であるので説明は省略する。
【0110】このように、被写体認識処理を顔認識だけに限定し、かつ人物シーンを撮影すると想定できる撮影モードを選択した時のみ機能させるようにしたので、搭載するCPUの負荷が減り、より容易に被写体認識をカメラに搭載できるとともに、すべての撮影シーンにおいて被写体認識機能をの効果を発揮は出来ないものの、多くの撮影シーンで満足の行く結果が引き出せるものとなっている。
【0111】なお、セルフモードに限らず公知のリモコン撮影モードにおいても顔認識処理を施すように、この実施の第2の形態を構成しても良い。また、風景モード等の撮影モードだけでなく、AFモードがサーボモードに設定されたり、給送モードが連続撮影モードに設定された時には被写体認識処理を施さないように、この実施の第2の形態を構成しても良い。
【0112】以上の実施の各形態によれば、ポートレイトモード、風景モード、接写モードもしくはスポーツモードの何れの撮影モードが設定されているかに応じて、被写体認識回路115や被写体像動きベクトル検出回路116における認識アルゴリズムを変更するようにしている(図4のステップ#108〜#111、図12のステップ#609)ので、カメラへの認識手段の搭載が容易なものになり、認識精度や認識スピードを向上させることができ、これによって更に高度なカメラ制御を行なわせ、操作性の良いカメラを提供する事ができる。
【0113】また、設定された撮影モードに応じて、被写体認識回路115や被写体像動きベクトル検出回路116における認識アルゴリズムを構成するパラメータ(図7参照)を変更しているので、認識アルゴリズムを複雑にする事なく、撮影モードに応じて精度良く被写体を認識させることができる。
【0114】また、セルフモードやポートレイトモード以外の撮影モードが設定された場合には、前記顔認識アルゴリズムの動作を禁止するようにしているので、より容易にカメラへの認識手段の搭載を可能として、これによって撮影者はシャッタチャンスや画面の構図取りに専念する事ができ、より良好な写真が撮影できる。
【0115】(発明と実施の形態の対応)上記実施の各形態において、モードダイヤル43、セルフタイマ設定釦44が本発明の撮影モード設定手段に相当し、被写体認識回路115と被写体像動きベクトル検出回路116が本発明の被写体認識手段に相当し、CPU101(認識情報処理部101a)が本発明の制御手段に相当する。
【0116】なお本発明は、これらの実施の形態の構成に限定されるものではなく、請求項で示した機能、または実施の形態がもつ機能が達成できる構成であれば、どのようなものであっても良いことは言うまでもない。
【0117】また本発明は、一眼レフカメラに適用した例を述べているが、ビデオカメラや電子スティルカメラなどの種々の形態の撮像装置に対しても適用できるものである。
【0118】
【発明の効果】以上説明したように、請求項1に記載の発明によれば、被写体認識手段をカメラに搭載することを容易すると共に、被写体情報の認識精度や認識スピードを向上させ、操作性の良好な被写体認識機能付きカメラを提供できるものである。
【0119】また、請求項2に記載の発明によれば、被写体情報の認識アルゴリズムを複雑にする事なく、撮影モードに応じて精度良く被写体情報の認識を行うことができる被写体認識機能付きカメラを提供できるものである。
【0120】また、請求項5に記載の発明によれば、被写体情報の認識の為の負荷を軽減し、被写体認識手段をカメラに搭載することをより容易なものにすることができる被写体認識機能付きカメラを提供できるものである。
【図面の簡単な説明】
【図1】本発明の実施例における被写体認識機能を備えたカメラに適用した際の要部構成図である。
【図2】図1のカメラの上面図である
【図3】図1のカメラの電気回路の構成を示したブロック図である
【図4】図1のカメラにおいて撮影動作までを示したフローチャートである。
【図5】図1のカメラにおいて顔認識結果によるカメラの制御例を示した図である。
【図6】図1のカメラにおいてポートレイトモードでの被写体認識のフローチャートである。
【図7】図1のカメラにおいて被写体認識動作で用いる認識パラメータを示した図である。
【図8】図1のカメラにおいて8近傍ラプラシアンの行列式である。
【図9】図1のカメラにおいて風景モードでの被写体認識のフローチャートである。
【図10】図1のカメラにおいて接写モードでの被写体認識のフローチャートである。
【図11】図1のカメラにおいてスポーツモードでの被写体認識のフローチャートである。
【図12】本発明の実施の第2の形態におけるカメラの各撮影モードでの撮影動作を示す。
【符号の説明】
6 焦点検出装置
10 測光センサ
13 エリアセンサ
16 ぶれ検出センサ
43 撮影モードダイヤル
104 測光回路
101 CPU
101a 認識情報処理部
104 レンズ制御回路
111 ぶれ検出回路
112 レンズ位置検出回路
115 認識情報処理回路
116 被写体像動きベクトル検出回路
【特許請求の範囲】
【請求項1】 カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報を認識する被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードに応じて、被写体情報を認識する為の認識アルゴリズムを変更することを特徴とする被写体認識機能付きカメラ。
【請求項2】 カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報を認識する被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードに応じて、被写体情報を認識する認識アルゴリズム及び該認識アルゴリズムを構成するパラメータを変更することを特徴とする被写体認識機能付きカメラ。
【請求項3】 前記認識アルゴリズムは、少なくとも顔認識を行うアルゴリズムを含むことを特徴とする請求項1又2に記載の被写体認識機能付きカメラ。
【請求項4】 前記認識アルゴリズムは、少なくとも被写体の動きを検出するアルゴリズムを含むことを特徴とする請求項1又は2に記載の被写体認識機能付きカメラ。
【請求項5】 カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報のうち少なくとも顔を認識する顔認識アルゴリズムを備えた被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードによっては前記顔認識アルゴリズムの動作を行わないことを特徴とする被写体認識機能付きカメラ。
【請求項6】 前記制御手段は、前記被写体認識手段による前記顔認識アルゴリズムの動作が行われなかった場合は、あらかじめ設定されている撮影モードに対応する情報に基づいてカメラの撮影機能の制御を行うことを特徴とする請求項5に記載の被写体認識機能付きカメラ。
【請求項7】 前記被写体認識手段が前記顔認識アルゴリズムの動作を行わない撮影モードは、人物を主体にしたシーンを撮影する撮影モード以外の撮影モードであることを特徴とする請求項5又は6に記載の被写体認識機能付きカメラ。
【請求項8】 前記カメラの撮影機能の制御とは、露出制御及び焦点調節制御であることを特徴とする請求項1、2又は5に記載の被写体認識機能付きカメラ。
【請求項9】 前記撮影モード設定手段は、被写体の種類または状態に合わせて撮影者が手動により撮影モードを設定する構成のものであることを特徴とする請求項1〜8の何れかに記載の被写体認識機能付きカメラ。
【請求項1】 カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報を認識する被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードに応じて、被写体情報を認識する為の認識アルゴリズムを変更することを特徴とする被写体認識機能付きカメラ。
【請求項2】 カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報を認識する被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードに応じて、被写体情報を認識する認識アルゴリズム及び該認識アルゴリズムを構成するパラメータを変更することを特徴とする被写体認識機能付きカメラ。
【請求項3】 前記認識アルゴリズムは、少なくとも顔認識を行うアルゴリズムを含むことを特徴とする請求項1又2に記載の被写体認識機能付きカメラ。
【請求項4】 前記認識アルゴリズムは、少なくとも被写体の動きを検出するアルゴリズムを含むことを特徴とする請求項1又は2に記載の被写体認識機能付きカメラ。
【請求項5】 カメラの撮影モードを設定する撮影モード設定手段と、被写体を撮像する複数の画素からなるエリアセンサと、該エリアセンサの出力をもとに撮影する被写体情報のうち少なくとも顔を認識する顔認識アルゴリズムを備えた被写体認識手段と、該被写体認識手段による認識結果に応じてカメラの撮影機能の制御を行う制御手段とを有し、前記被写体認識手段は、設定された撮影モードによっては前記顔認識アルゴリズムの動作を行わないことを特徴とする被写体認識機能付きカメラ。
【請求項6】 前記制御手段は、前記被写体認識手段による前記顔認識アルゴリズムの動作が行われなかった場合は、あらかじめ設定されている撮影モードに対応する情報に基づいてカメラの撮影機能の制御を行うことを特徴とする請求項5に記載の被写体認識機能付きカメラ。
【請求項7】 前記被写体認識手段が前記顔認識アルゴリズムの動作を行わない撮影モードは、人物を主体にしたシーンを撮影する撮影モード以外の撮影モードであることを特徴とする請求項5又は6に記載の被写体認識機能付きカメラ。
【請求項8】 前記カメラの撮影機能の制御とは、露出制御及び焦点調節制御であることを特徴とする請求項1、2又は5に記載の被写体認識機能付きカメラ。
【請求項9】 前記撮影モード設定手段は、被写体の種類または状態に合わせて撮影者が手動により撮影モードを設定する構成のものであることを特徴とする請求項1〜8の何れかに記載の被写体認識機能付きカメラ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図7】
【図6】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図7】
【図6】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2001−330882(P2001−330882A)
【公開日】平成13年11月30日(2001.11.30)
【国際特許分類】
【出願番号】特願2000−152436(P2000−152436)
【出願日】平成12年5月24日(2000.5.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成13年11月30日(2001.11.30)
【国際特許分類】
【出願日】平成12年5月24日(2000.5.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]