本發(fā)明涉及移動檢測裝置以及移動檢測方法。
背景技術(shù):
在攝像裝置中,如特開2009-301181號公報記載的那樣,有具有抖動補正的功能的方案。攝像裝置在進行抖動補正的情況下,對在時間上連續(xù)的多個幀攝像,提取這些幀中的特征點。進而,攝像裝置根據(jù)與幀間的特征點的移動相應的運動矢量(mv:motionvector)來估計幀間的抖動量,基于該抖動量,通過圖像變形處理來進行幀間的特征點的對位。
但在存在在幀內(nèi)移動的被攝體的情況下,將該被攝體作為特征點而算出運動矢量的可能性較高,在該情況下,有時不能正確估計抖動量。
技術(shù)實現(xiàn)要素:
本申請發(fā)明鑒于這樣的問題點而提出,目的在于,使輸入的圖像中的移動檢測的精度得到提升。
本發(fā)明所涉及的移動檢測裝置的特征在于,具備:圖像輸入單元,其輸入攝像圖像;第1移動檢測單元,其基于由所述圖像輸入單元輸入的攝像圖像來檢測攝像時的攝像單元的移動;第2移動檢測單元,其基于所述攝像單元的攝像時施加的加速度或角速度來檢測攝像時的所述攝像單元的移動;判斷單元,其判斷是否由所述第1移動檢測單元檢測到所述攝像單元的移動;和控制單元,其進行控制,在由所述判斷單元判斷為未檢測到所述攝像單元的移動的情況下,使用所述第2移動檢測單元的檢測結(jié)果來檢測所述攝像單元的移動。
本發(fā)明所涉及的移動檢測方法的特征在于,包括:圖像輸入步驟,輸入攝像圖像;第1移動檢測步驟,基于在所述圖像輸入步驟輸入的攝像圖像來檢測攝像時的攝像單元的移動;第2移動檢測步驟,基于所述攝像單元的攝像時施加的加速度或角速度來檢測攝像時的所述攝像單元的移動;判斷步驟,判斷是否在所述第1移動檢測步驟中檢測到所述攝像單元的移動;控制步驟,進行控制,在所述判斷步驟中判斷為未檢測到所述攝像單元的移動的情況下,使用所述第2移動檢測步驟的檢測結(jié)果來檢測所述攝像單元的移動。
附圖說明
圖1是表示本發(fā)明的實施方式所涉及的攝像裝置的構(gòu)成的圖。
圖2是表示攝像裝置中的抖動補正處理的動作的流程圖。
圖3是表示攝像裝置中的抖動量估計處理的動作的流程圖。
圖4a是表示圖像的過渡的一例的圖。
圖4b是表示圖像的過渡的一例的圖。
圖5是表示各圖像區(qū)域的mv的一例的圖。
圖6a是表示mv-a和mv-b的判定處理的一例的圖。
圖6b是表示mv-a和mv-b的判定處理的一例的圖。
圖7是表示特征點的抖動補正前的移動量、直流(dc:directcurrent)分量線性的移動量、dc分量非線性的移動量的一例的圖。
圖8是表示抖動設(shè)想量與平滑化程度的對應關(guān)系的一例的圖。
具體實施方式
以下說明作為本發(fā)明的實施方式所涉及的移動檢測裝置的攝像裝置。本發(fā)明的實施方式所涉及的攝像裝置100如圖1所示那樣,包含控制部102、存儲器104、操作部106、攝像部108、傳感器110、顯示部112而構(gòu)成。攝像裝置100例如裝備在利用者的頭部,對該利用者的前方進行攝像。
控制部102具備cpu(centralprocessingunit,中央處理器),遵循存放于存儲器104的程序執(zhí)行軟件處理執(zhí)行,為了實現(xiàn)攝像裝置100所具備的各種功能而發(fā)揮功能。
控制部102內(nèi)的攝像控制部122對應于利用者對操作部106的操作等來控制攝像部108所進行的攝像。圖像輸入部124被輸入通過攝像部108的攝像而得到的圖像信號,將該圖像信號變換成數(shù)字數(shù)據(jù)來生成幀。移動檢測部126檢測幀內(nèi)的特征點的移動。補正部128基于移動檢測部126的特征點的移動的檢測結(jié)果來進行抖動補正。關(guān)于移動檢測部126以及補正部128的處理的詳細,在之后敘述。
存儲器104例如是成為工作區(qū)的ram(randomaccessmemory,隨機存取存儲器)、存儲基本動作程序的rom(readonlymemory,只讀存儲器)。存儲器104存儲攝像裝置100中的控制等中所用的各種信息(程序等)。
操作部106是為了輸入用戶的操作內(nèi)容而用的接口。
攝像部108由鏡頭和受光元件構(gòu)成。鏡頭由變焦鏡頭等構(gòu)成,通過控制部102內(nèi)的攝像控制部122進行的變焦控制以及合焦控制而移動。攝像部108的攝像視角、光學像通過鏡頭的移動來控制。受光元件由在受光面規(guī)則二維排列的多個受光元件構(gòu)成。受光元件例如安裝光電二極管、bayer排列的彩色濾波器,或者是三板式的ccd(chargecoupleddevice,電荷耦合器件)、cmos(complementarymetaloxidesemiconductor,互補金屬氧化物半導體)等攝像器件。
攝像部108按照控制部102內(nèi)的攝像控制部122的控制而開始攝像,在給定范圍的攝像視角對入光的光學像攝像(受光),將該攝像視角內(nèi)的圖像信號逐次輸出給控制部102。
傳感器110逐次檢測伴隨攝像裝置100的旋轉(zhuǎn)而產(chǎn)生的角速度,作為攝像部108的運動,輸出給控制部102。
顯示部112例如由lcd(liquidcrystaldisplay,液晶顯示器)、pdp(plasmadisplaypanel,等離子顯示面板)、el(electro-luminescence,電致發(fā)光)顯示器等構(gòu)成,顯示與幀對應的圖像。
在本實施方式中,攝像裝置100進行抖動補正。以下說明抖動補正處理。圖2是表示抖動補正處理的動作的流程圖。
以下在用于抖動補正的坐標變換中所用的抖動矩陣h(h_mv、h_sensor、h_mv_iir、h_sensor_iir、h_sensor_adj、h_dc、h_ac、h_final)是3×3的矩陣。通過抖動矩陣h,幀內(nèi)的坐標(x,y)被變換為坐標(x′,y′)。
【數(shù)式1】
控制部102內(nèi)的攝像控制部122對應于利用者對操作部106的操作等來控制攝像部108所進行的攝像。攝像部108按照控制部102內(nèi)的攝像控制部122的控制開始攝像,將圖像信號逐次輸出給控制部102??刂撇?02內(nèi)的圖像輸入部124被輸入通過攝像部108的攝像而得到的圖像信號,將該圖像信號變換成數(shù)字數(shù)據(jù)來生成幀。幀存儲在存儲器104。
在進行這樣的攝像并將幀存儲在存儲器104的情況下,控制部102內(nèi)的移動檢測部126對時刻t的幀進行估計抖動的量(抖動量)的處理(步驟s100)。
圖3是表示抖動量估計處理的動作的流程圖??刂撇?02內(nèi)的移動檢測部126對時刻t的幀算出表示幀間的特征點的移動的運動矢量(以后省略為“mv”)(步驟s200)。
具體地,移動檢測部126將幀分割為多個圖像區(qū)域(區(qū)塊)。之后對每個區(qū)塊進行以下的處理。即,移動檢測部126在時刻t的區(qū)塊中搜索特征點(時刻t的特征點)。在能搜索到時刻t的特征點的情況下,進一步地,移動檢測部126在位于與時刻t的幀內(nèi)的區(qū)塊同一位置的前1個時刻t-1的幀內(nèi)的區(qū)塊中,搜索與時刻t的特征點類似的時刻t-1的特征點。在能搜索到時刻t-1的特征點的情況下,移動檢測部126將以時刻t-1的特征點為起點、以時刻t的特征點為終點的矢量作為mv。特征點的搜索方法能使用周知的方法。
接下來,移動檢測部126算出表現(xiàn)與攝像部108的運動相應的抖動的抖動矩陣h_sensor(步驟s201)。具體地,移動檢測部126逐次取得從傳感器110輸出的角速度,基于該角速度算出抖動矩陣h_sensor。算出方法不限,例如設(shè)定抖動矩陣h_sensor的要素,使得角速度越大則坐標(x,y)與坐標(x′,y′)的距離越大。另外,移動檢測部126也可以算出逐次取得的多個角速度的平均值,基于該平均值來算出抖動矩陣h_sensor。算出的抖動矩陣h_sensor例如存儲在存儲器104中。
接下來,移動檢測部126,從步驟s200中對時刻t的幀算出的多個mv中,除外將被攝體作為特征點算出的mv即被攝體mv(以后稱作mv-b)(步驟s202)。
例如,考慮如下情況:幀從圖4a所示的時刻t-1的狀態(tài)起,攝像部108和被攝體300向不同的方向移動,從而幀成為圖4b所示的時刻t的狀態(tài)。在該情況下,例如有時會如圖5所示那樣,在各區(qū)塊中算出以被攝體300為特征點的mv-b和以被攝體以外(背景)為特征點的mv(以后稱作mv-a)。在此,由于在以被攝體300為特征點的mv-b中還包含攝像裝置100的利用者刻意使攝像部108移動時的移動量,因此若將mv-b用在抖動補正中,抖動量就會變得不正確。為此在步驟s202,從步驟s200中算出的mv中除外將被攝體作為特征點而算出的mv即mv-b。
具體地,移動檢測部126對步驟s200中算出的每個mv使用步驟s201中算出的抖動矩陣h_sensor來變換該mv的起點的坐標。進而,移動檢測部126判別坐標變換后的mv的坐標與步驟s200中算出的mv的終點的坐標的距離。在坐標變換后的mv的坐標與步驟s200中算出的mv的終點的坐標的距離為給定值以上的情況下,移動檢測部126將步驟s200中算出的mv判定為mv-b,在不足給定值的情況下,判定為mv-a。
例如考慮如下情況:如圖6a、6b所示那樣存在起點α、終點γ的mv,起點α通過利用了抖動矩陣h_sensor的坐標變換而移動到起點β。在該情況下,在圖6a中,由于坐標變換后的起點β與終點γ的距離l短(不足給定值),因此移動檢測部126將mv判定為mv-a。另一方面,在圖6b中,由于坐標變換后的起點β與終點γ的距離l長(給定值以上),因此移動檢測部126將mv判定為mv-b。作為閾值的距離l根據(jù)傳感器110的特性、攝像部108的光學系統(tǒng)、攝影環(huán)境(溫度、運動的大小)等決定。決定方法不限。
再度返回圖3來進行說明。移動檢測部126判定能否使用各區(qū)塊的mv算出表現(xiàn)幀間的抖動的抖動矩陣h_mv(步驟s203)。具體地,在步驟s202中從mv除外mv-b的結(jié)果是剩下的mv-a的數(shù)量為給定數(shù)量以上的情況下,移動檢測部126判定為能算出抖動矩陣h_mv,在mv-a的數(shù)量不足給定數(shù)量的情況下,判定為不能算出抖動矩陣h_mv。
在能算出抖動矩陣h_mv的情況下(步驟s203“是”),移動檢測部126算出表現(xiàn)幀間的抖動的抖動矩陣h_mv(步驟s204)。算出方法不限,例如使各mv-a的長度以及方向的平均值的矢量成為從變換前的坐標(x,y)朝向變換后的坐標(x′,y′)的矢量,如此算出抖動矩陣h_mv的要素。算出的抖動矩陣h_mv例如存儲在存儲器104。
另外,在后述的步驟s206中采用第2方法的情況下,在步驟s204,移動檢測部126使用iir(infiniteimpulseresponse,無限脈沖響應)平滑化濾波器來算出到此為止算出的多個抖動矩陣h_mv的各要素的平均水平即矩陣h_mv_iir。將常數(shù)設(shè)為k,通過h_mv_iir(t)=(((k-1)×h_mv_iir(t-1))+h_mv(t))/k算出時刻t的h_mv的各要素的平均水平的矩陣h_mv_iir(t)。
另外,移動檢測部126使用iir平滑化濾波器算出到此為止算出的多個抖動矩陣h_sensor的各要素的平均水平即矩陣h_sensor_iir。將常數(shù)設(shè)為k,通過h_sensor_iir(t)=(((k-1)×h_sensor_iir(t-1))+h_sensor(t))/k算出時刻t的h_sensor的各要素的平均水平的矩陣h_sensor_iir(t)。算出的矩陣h_mv_iir以及矩陣h_sensor_iir例如存儲在存儲器104。
接下來,移動檢測部126將步驟s204中算出的抖動矩陣h_mv確定為時刻t的抖動矩陣h(t)(步驟s205)。抖動矩陣h(t)例如存儲在存儲器104。
另一方面,在不能算出抖動矩陣h_mv的情況下(步驟s203“否”),移動檢測部126調(diào)整抖動矩陣h_sensor(步驟s206)。例如移動檢測部126通過以下的第1方法以及第2方法的任一者來調(diào)整抖動矩陣h_sensor。
在第1方法中,移動檢測部126從對過去的時刻的幀生成的抖動矩陣h_mv當中最近的抖動矩陣h_mv起依次取得多個抖動矩陣h_mv。抖動矩陣h_mv例如每當被算出就存儲在存儲器104。進而,移動檢測部126使用取得的多個抖動矩陣h_mv的各要素來進行時刻t的抖動矩陣h_mv(t)的各要素的內(nèi)插估計。內(nèi)插估計的方法不限,例如使用線性內(nèi)插或樣條內(nèi)插。
接下來,移動檢測部126將內(nèi)插估計出的抖動矩陣h_mv(t)和抖動矩陣h_sensor按照給定的比例合成(例如設(shè)為1∶1的比例算出平均值、設(shè)為2∶1的比例算出加權(quán)平均值),做出調(diào)整后的抖動矩陣h_sensor_adj。
在第2方法中,移動檢測部126使用最近在步驟s204算出的矩陣h_mv_iir以及矩陣h_sensor_iir,通過h_sensor_adj=h_sensor+(h_mv_iir-h_sensor_iir)來算出調(diào)整過抖動矩陣h_sensor的抖動矩陣h_sensor_adj。
接下來,移動檢測部126將步驟s206中算出的抖動矩陣h_sensor_adj確定為時刻t的抖動矩陣h(t)(步驟s207)。抖動矩陣h(t)例如存儲在存儲器104。
再度返回圖2來進行說明。移動檢測部126取得在時間上連續(xù)的多個抖動矩陣即時刻t-n的抖動矩陣h(t-n)、時刻t的抖動矩陣h(t)、時刻t+n的抖動矩陣h(t+n)(步驟s101)。在此,所謂在時間上連續(xù)的多個抖動矩陣,既可以是對在時間上鄰接的多個幀的每個幀生成的多個抖動矩陣,也可以是對隔1個、隔2個等在時間上離散的多個幀的每個幀生成的多個抖動矩陣。
接下來,移動檢測部126提取時刻t的抖動的dc分量的矩陣即矩陣h_dc(t)(步驟s102)。
具體地,移動檢測部126通過對抖動矩陣h(t-n)、抖動矩陣h(t)、抖動矩陣h(t+n)的各要素在時間方向施加平滑化濾波器,來提取抖動的dc分量的矩陣h_dc(t)。提取的抖動的dc分量的矩陣h_dc(t)能作為去除了抖動的、攝像裝置100的利用者刻意使攝像部108移動時的移動(攝影手法)的分量(全景、傾斜等)。在此,例如作為平滑化濾波器而采用雙邊濾波器那樣的非線性濾波器,對在攝影手法發(fā)生變化的情況下產(chǎn)生的各要素值的大的位移弱化平滑化效果。由此能提高攝影手法發(fā)生變化時的攝影手法分量和抖動分量的分離精度。
例如如圖7所示那樣,在dc分量提取前存在包含抖動分量的零碎的移動的情況下,移動檢測部126能通過使用線性濾波器或非線性濾波器提取dc分量來將抖動分量分離,從而提取攝影手法分量。在此,在移動檢測部126使用非線性濾波器的情況下,相比于使用線性濾波器的情況弱化了平滑化效果,能更正確地捕捉攝影手法的變化。
但在使用非線性濾波器的情況下,抖動量越大,有時越難以區(qū)別抖動和攝影手法的變化。越提高攝影手法分量與抖動分量的分離精度,則抖動分量變得越易于視作攝影手法分量,抖動補正的精度越會降低。為此需要對應于抖動的大小設(shè)定最佳的參數(shù)。
例如根據(jù)設(shè)想的抖動的大小來使非線性濾波器的參數(shù)變化。更具體地,根據(jù)設(shè)想的抖動的大小水平使弱化平滑化的位移量的水平(位移量閾值)變化。由此,在設(shè)想了小的抖動的情況下,將抖動補正,設(shè)定也易于進行攝影手法分量的分離的位移量閾值,在設(shè)想了大的抖動的情況下,雖然攝影手法分量的分離精度多少降低,但設(shè)定連大的抖動也能補正的位移量閾值。抖動的大小的預估的方法不限,例如通過對對象幀使用過去以及未來的抖動分量的方差等進行。
另外,在圖像中設(shè)置顯示區(qū)域和該顯示區(qū)域的外部的余白區(qū)域,在進行抖動補正的情況下,使顯示區(qū)域包含余白區(qū)域的一部分。但多數(shù)情況余白區(qū)域有限,有時不能補正顯示區(qū)域超過余白區(qū)域那樣的大的抖動。為此,在如圖8所示那樣設(shè)想了閾值以下的抖動的情況下,抖動越大則越增大非線性濾波器的平滑化程度,在預估到閾值以上的大的抖動的情況下,反而抑制平滑化程度來弱化抖動補正的效果。由此進行顯示區(qū)域不超過余白區(qū)域且盡可能精度高的抖動補正。閾值根據(jù)余白區(qū)域的大小等以經(jīng)驗決定。
再度返回圖2來進行說明。接下來,移動檢測部126提取時刻t的抖動的交流(ac:alternatingcurrent)分量的矩陣即矩陣h_ac(t)(步驟s103)。
具體地,移動檢測部126通過對抖動矩陣h(t)乘以步驟s102中提取的抖動的dc分量的矩陣h_dc(t)的逆矩陣相乘,來提取抖動的ac分量的矩陣h_ac(t)。提取出的抖動的ac分量的矩陣h_ac(t)僅表征抖動分量。
接下來,移動檢測部126通過將抖動的ac分量的矩陣h_ac(t)積累到緊前的抖動矩陣h_final(t-n)(將矩陣彼此相乘),來算出時刻t的最終的抖動矩陣h_final(t)(步驟s104)。
接下來,補正部128使用抖動矩陣h_final(t)來進行抖動補正(步驟s105)。具體地,補正部128將抖動矩陣h_final(t)和幀內(nèi)的坐標(x,y)相乘,來取得抖動補正后的坐標(x′,y′)。進而,補正部128使坐標(x,y)的像素移動到坐標(x′,y′)來生成抖動補正后的幀,顯示在顯示部112。
如以上說明的那樣,在本實施方式所涉及的攝像裝置100中,控制部102內(nèi)的移動檢測部126算出用于抖動補正的坐標變換中所用的抖動矩陣h(t)。這時,移動檢測部126對將幀分割得到的每個區(qū)塊算出mv,將mv當中的mv-b除外,并算出表現(xiàn)與攝像部108的運動相應的抖動的抖動矩陣h_sensor。進而,在除外的結(jié)果是剩余的mv-a的數(shù)量為給定數(shù)量以上的情況下,移動檢測部126算出表現(xiàn)幀間的抖動的抖動矩陣h_mv并確定為抖動矩陣h(t)。另一方面,在將mv-b除外的結(jié)果是剩余的mv-a的數(shù)量不足給定數(shù)量的情況下,移動檢測部126調(diào)整抖動矩陣h_sensor,將調(diào)整后的抖動矩陣h_sensor_adj確定為抖動矩陣h(t)。之后,移動檢測部126從抖動矩陣h提取dc分量的矩陣h_dc(t)和ac分量的h_ac(t),通過將抖動的ac分量的矩陣h_ac(t)積累到緊前的抖動矩陣h_final(t-n),來算出時刻t的最終的抖動矩陣h_final(t)。補正部128將抖動矩陣h_final(t)的逆矩陣和幀內(nèi)的坐標(x,y)相乘來取得抖動補正后的坐標(x′,y′),進行抖動補正。
由此,在攝像裝置100內(nèi)的攝像部108由利用者刻意移動的情況下,與該移動對應的攝影手法分量被從抖動量中除外,從而能僅提取利用者非刻意的移動即抖動分量來進行抖動補正,能提升抖動補正的精度。
另外,鑒于在將被攝體作為特征點的mv-b中還包含攝像裝置100的利用者刻意使攝像部108移動時的移動量,從算出的mv將mv-b除外,僅讓mv-a用在抖動矩陣的取得中,因此能提升抖動補正的精度。
另外,在不能利用mv算出抖動矩陣h_mv的情況下,調(diào)整抖動矩陣h_sensor,將調(diào)整后的抖動矩陣h_sensor_adj確定為抖動矩陣h(t)。為此,在不能提取特征點的情況下,或在因特征點的數(shù)量少而mv的數(shù)量不夠、不能算出精度高的抖動矩陣h_mv的情況下,也能通過將表現(xiàn)與攝像部108的運動相應的抖動的抖動矩陣h_sensor調(diào)整后用在抖動矩陣中,來提升抖動補正的精度。
另外,本發(fā)明并不限定于上述實施方式,能進行種種變形以及應用。例如上述的實施方式中,在算出時刻t的抖動矩陣h_final(t)時,在圖2的步驟s101,取得時刻t的過去的時刻t-n的抖動矩陣h(tn)和時刻t的未來的時刻t+n的抖動矩陣h(t+n)。但在該情況下,時刻t的未來的時刻t+n的抖動矩陣h(t+n)雖然能在預先僅進行攝像、在之后的圖像顯示時進行抖動補正的情況下取得,但不能在攝像和圖像顯示并行進行的情況下取得。在這樣的情況下,移動檢測部126也可以與時刻t的抖動矩陣h(t)同時取得時刻t的過去的多個時刻的抖動矩陣,用在時刻t的抖動矩陣h_final(t)的算出中。
另外,在上述的實施方式中,傳感器110檢測伴隨攝像裝置100的旋轉(zhuǎn)而產(chǎn)生的角速度作為攝像部108的運動,但也可以檢測伴隨攝像裝置100的移動而產(chǎn)生的加速度。在該情況下,移動檢測部126基于從傳感器110輸出的加速度來算出抖動矩陣h_sensor。算出方法不限,例如設(shè)定抖動矩陣h_sensor的要素,使得加速度越大則坐標(x,y)與坐標(x′,y′)的距離越大。
以上說明了本發(fā)明優(yōu)選的實施方式,但本發(fā)明并不限定于相關(guān)的特定的實施方式,在本發(fā)明中包含權(quán)利要求書所記載的發(fā)明和其等同的范圍。