相機拍攝方法、裝置及相機與流程
2023-10-17 06:38:49 1

本發明涉及相機技術領域,更具體地,涉及一種相機拍攝方法、裝置及相機。
背景技術:
隨著相機產業的發展,現在的相機拍攝的圖像的解析度可達4k,還可以拍攝幀率達240的視頻,另外,還能實現慢動作攝影、延時攝影等功能,大大提高了用戶的體驗。
但是,由於用戶拍攝的圖像和視頻的解析度較高,使得相機都面臨著存儲空間不足的問題。以運動相機為例,用戶在運動過程中,希望拍攝到用戶感興趣的場景。該運動相機開啟後,就處於拍攝的狀態。而相機拍攝的內容,可能有很多拍攝內容並不是用戶感興趣的內容,浪費了相機大部分的存儲空間。
技術實現要素:
本發明的一個目的是提供一種相機拍攝方法、裝置及相機的新技術方案。
根據本發明的第一方面,提供了一種相機拍攝方法,包括:
採集當前場景的場景數據,並從所述場景數據中獲取至少一個特徵數據;
將所述至少一個特徵數據分別輸入至相機中預存特徵資料庫中的神經網絡模型以進行運算;
根據運算結果確定是否對所述當前場景進行拍攝操作。
可選地,所述特徵數據為所述場景數據對應的像素數據。
可選地,在採集當前場景的場景數據,並從所述場景數據中獲取至少一個特徵數據之前,所述方法還包括:
將多個場景數據作為樣本數據輸入至神經網絡訓練系統進行訓練,得到符合用戶需求的場景對應的神經網絡模型,其中,每個場景數據標註有符合用戶需求的場景數據和/或標註有不符合用戶需求的場景數據。
可選地,將多個場景數據作為樣本數據輸入至神經網絡訓練系統進行訓練,得到符合用戶需求的場景對應的神經網絡模型,包括:
根據反向傳播算法對所述樣本數據進行訓練,得到符合用戶需求的場景對應的神經網絡模型。
可選地,根據運算結果確定是否對所述當前場景進行拍攝操作,包括:
若所述運算結果為所述至少一個特徵數據中的一個特徵數據符合用戶的需求,則開啟拍攝功能,對所述當前場景進行拍攝操作;
若所述運算結果為所述至少一個特徵數據中任一特徵數據均不符合用戶的需求,則拒絕開啟拍攝功能。
根據本發明的第二方面,提供了一種相機拍攝裝置,包括:
獲取模塊,用於採集當前場景的場景數據,並從所述場景數據中獲取至少一個特徵數據;
運算模塊,用於將所述至少一個特徵數據分別輸入至相機中預存特徵資料庫中的神經網絡模型以進行運算;
確定模塊,用於根據運算結果確定是否對所述當前場景進行拍攝操作。
可選地,所述特徵數據為所述場景數據對應的像素數據。
可選地,所述裝置還包括:
訓練模塊,用於將多個場景數據作為樣本數據輸入至神經網絡訓練系統進行訓練,得到符合用戶需求的場景對應的神經網絡模型,其中,每個場景數據標註有符合用戶需求的場景數據和/或標註有不符合用戶需求的場景數據。
可選地,所述訓練模塊還用於:
根據反向傳播算法對所述樣本數據進行訓練,得到符合用戶需求的場景對應的神經網絡模型。
可選地,所述確定模塊還用於:
若所述運算結果為所述至少一個特徵數據中的一個特徵數據符合用戶的需求,則開啟拍攝功能,對所述當前場景進行拍攝操作;
若所述運算結果為所述至少一個特徵數據中任一特徵數據均不符合用戶的需求,則拒絕開啟拍攝功能。
根據本發明的第三方面,提供了一種相機,包括存儲器和處理器,其中,所述存儲器存儲可執行指令,當所述相機運行時,所述可執行指令控制所述處理器進行操作以執行上述任何一項所述的相機拍攝方法。
本發明實施例提供的相機拍攝方法、裝置及相機,通過將獲取的至少一個特徵數據分別輸入至符合用戶需求的神經網絡模型進行運算,根據運算結果確定是否對當前場景進行拍攝,實現了對符合用戶需求的場景的拍攝。相對於現有技術,本發明實施例中,僅對符合用戶需求的場景進行拍攝,避免了拍攝的內容是不符合用戶需求的場景,浪費相機的存儲空間的問題,提升了用戶的體驗。
通過以下參照附圖對本發明的示例性實施例的詳細描述,本發明的其它特徵及其優點將會變得清楚。
附圖說明
被結合在說明書中並構成說明書的一部分的附圖示出了本發明的實施例,並且連同其說明一起用於解釋本發明的原理。
圖1示出了根據本發明一個實施例的相機拍攝方法的處理流程圖。
圖2示出了根據本發明一個實施例的相機拍攝裝置的結構示意圖。
圖3示出了根據本發明一個實施例的相機拍攝裝置的另一種結構示意圖。
圖4示出了根據本發明一個實施例的相機的結構示意圖。
圖5示出了根據本發明一個實施例的相機的另一種結構示意圖。
具體實施方式
現在將參照附圖來詳細描述本發明的各種示例性實施例。應注意到:除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數字表達式和數值不限制本發明的範圍。
以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發明及其應用或使用的任何限制。
對於相關領域普通技術人員已知的技術、方法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為說明書的一部分。
在這裡示出和討論的所有例子中,任何具體值應被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它例子可以具有不同的值。
應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨後的附圖中不需要對其進行進一步討論。
本發明實施例提供了一種相機拍攝方法。圖1示出了根據本發明一個實施例的相機拍攝方法的處理流程圖。參見圖1,該方法至少包括步驟s102至步驟s106。
步驟s102,採集當前場景的場景數據,並從所述場景數據中獲取至少一個特徵數據;
步驟s104,將至少一個特徵數據分別輸入至相機中預存特徵資料庫中的神經網絡模型以進行運算;
步驟s106,根據運算結果確定是否對當前場景進行拍攝操作。
本發明實施例提供的相機拍攝方法,通過將獲取的至少一個特徵數據分別輸入至符合用戶需求的神經網絡模型進行運算,根據運算結果確定是否對當前場景進行拍攝,實現了對符合用戶需求的場景的拍攝。相對於現有技術,本發明實施例中,僅對符合用戶需求的場景進行拍攝,避免了拍攝的內容是不符合用戶需求的場景,浪費相機的存儲空間的問題,提升了用戶的體驗。
本發明實施例中,上述涉及的從場景數據中獲取至少一個特徵數據,該特徵數據為場景數據對應的像素數據。例如,當前場景包括山、河水、樹木三個場景,特徵數據是場景山對應的像素數據,場景河水對應的像素數據,以及場景樹木對應的像素數據。
本發明實施例中,從場景數據中獲取至少一個特徵數據之後,利用相機中預存特徵資料庫中的神經網絡模型分別對獲取的至少一個特徵數據進行運算。神經網絡模型是由大量場景數據作為樣本數據訓練得到。神經網絡模型的訓練過程可在相機端進行,或者,還可在pc端進行。神經網絡模型的訓練步驟至少包括:將大量場景數據作為樣本數據發送至神經網絡訓練系統,其中,每個場景數據標註有符合用戶需求的場景數據和/或標註有不符合用戶需求的場景數據;利用神經網絡訓練系統對多個樣本數據進行訓練,得到符合用戶需求的場景對應的神經網絡模型。
以用戶想要拍攝大自然中出現的老虎為例,對老虎對應的神經網絡模型的訓練步驟進行具體說明。首先將多個場景數據發送至神經網絡訓練系統,其中,該多個場景數據包括有不同種類老虎的場景數據,還包括其他任意場景數據,例如,山、河水、樹木、大象、獅子、豹等等,不同種類老虎對應的場景數據為符合用戶需求的場景數據,其他未包括有老虎對應的場景數據為不符合用戶需求的場景數據。然後,利用神經網絡訓練系統對多個場景數據進行訓練,得到老虎對應的神經網絡模型。
本發明實施例中,神經網絡訓練系統利用反向傳播算法對多個樣本進行訓練,得到神經網絡模型。反向傳播算法(backpropagationalgorithm,bp算法)是一種神經網絡學習的數學模型。bp算法主要由激勵傳播和權重更新兩個環節反覆循環迭代,直到網絡的對輸入的響應達到預定的目標範圍為止。每次迭代的激勵傳播環節包含兩步:將訓練輸入送入網絡以獲得激勵響應;將激勵響應輸入對應的目標輸出求差,從而獲得隱層和輸出層的響應誤差。權重更新環節是對於每個突觸上的權重,按照以下步驟進行更新:將激勵響應和響應誤差相乘,從而獲得權重的梯度;將該權重的梯乘上一個預定的比例,並將該比例取反後加到該權重上。具體地,將包括有不同種類老虎的場景數據以及包括有其他任意場景數據的多個樣本數據發送至神經網絡訓練系統,神經網絡訓練系統利用bp算法訓練得到老虎對應的神經網絡模型。
本發明實施例中,將至少一個特徵數據輸入至相機中預存特徵資料庫中的神經網絡模型進行運算,若運算結果是至少一個特徵數據中的一個特徵數據符合用戶的需求,則開啟拍攝功能,對當前場景進行拍攝操作;若運算結果為至少一個特徵數據中任一特徵數據均不符合用戶的需求,則拒絕開啟拍攝功能。例如,採集到的當前場景的場景數據包括有山對應的場景數據,樹木對應的場景數據,以及一隻老虎對應的場景數據,然後,獲取山對應的像素數據,樹木對應的像素數據,以及一隻老虎對應的像素數據,接著,將上述獲取到的三個像素數據輸入至老虎對應的神經網絡模型進行運算,運算結果是獲取的三個像素數據中存在一個像素數據符合用戶的需求,則相機開啟拍攝功能,對當前場景進行拍攝。
需要說明地是,本發明實施例提供的相機拍攝方法是一個實時進行的過程,一旦當前場景中出現符合用戶需求的場景時,對當前場景進行拍攝。另外,上述涉及的相機中預存特徵資料庫中的神經網絡模型並不限於上述列舉的老虎對應的神經網絡模型,還可為其他任意場景對應的神經網絡模型,例如,大象對應的神經網絡模型、獅子對應的神經網絡模型、鳥類對應的神經網絡模型。
本發明實施例中,相機完成拍攝之後,用戶可對相機拍攝的內容進行篩選,篩選出符合用戶需求的場景和不符合用戶需求的場景,進而將不符合用戶需求的場景作為樣本數據發送至神經網絡訓練系統,進行神經網絡模型的優化訓練。
基於同一發明構思,本發明還提供了一種相機拍攝裝置。圖2示出了根據本發明一個實施例的相機拍攝裝置的結構示意圖。參見圖2,該裝置至少包括:獲取模塊210,用於採集當前場景的場景數據,並從場景數據中獲取至少一個特徵數據;運算模塊220,用於將至少一個特徵數據分別輸入至相機中預存特徵資料庫中的神經網絡模型以進行運算;確定模塊230,用於根據運算結果確定是否對當前場景進行拍攝操作。
本發明實施例中,獲取模塊210涉及的獲取的特徵數據為場景數據對應的像素數據,匹配模塊220涉及的神經網絡模型是符合用戶需求的場景數據對應的神經網絡模型。
本發明實施例中,參見圖3,該裝置還包括:訓練模塊240,用於將多個場景數據作為樣本數據輸入至神經網絡訓練系統進行訓練,得到符合用戶需求的場景對應的神經網絡模型,其中,每個場景數據標註有符合用戶需求的場景數據和/或標註有不符合用戶需求的場景數據。
本發明實施例中,訓練模塊240還用於:根據反向傳播算法對樣本數據進行訓練,得到符合用戶需求的場景對應的神經網絡模型。
本發明實施例中,確定模塊230還用於:若運算結果為至少一個特徵數據中的一個特徵數據符合用戶的需求,則開啟拍攝功能,對當前場景進行拍攝操作;若運算結果為至少一個特徵數據中任一特徵數據均不符合用戶的需求,則拒絕開啟拍攝功能。
基於同一發明構思,本發明還提供了一種相機。圖4示出了根據本發明一個實施例的相機的另一種結構示意圖。參見圖4,相機400至少包括處理器410、存儲器420、接口裝置430、通信裝置440等等。
處理器410例如可以是中央處理器cpu、微處理器mcu等。存儲器420例如包括rom(只讀存儲器)、ram(隨機存取存儲器)、諸如硬碟的非易失性存儲器等。
接口裝置430例如包括usb接口等。
通信裝置440例如能夠進行有有線或無線通信。
圖4所示的相機僅是解釋性的,並且決不是為了要限制本發明、其應用或用途。
在這個實施例中,所述存儲器420用於存儲指令,所述指令用於控制所述處理器410進行操作以執行圖1所示的相機拍攝方法。
本領域技術人員應當理解,儘管在圖4中示出了多個裝置,但是,本發明可以僅涉及其中的部分裝置,例如,處理器410和存儲器420等。技術人員可以根據本發明所公開方案設計指令。指令如何控制處理器進行操作,這是本領域公知,故在此不再詳細描述。
圖5示出了根據本發明一個實施例的相機的另一種結構示意圖。參見圖5,相機至少包括神經網絡處理單元510、決策單元520、拍照控制單元530和視頻/照片存儲單元540。神經網絡處理單元510用於利用神經網絡訓練系統對多個樣本數據進行訓練,得到符合用戶需求的場景對應的神經網絡模型。決策單元520用於將採集到的當前場景的場景數據對應的至少一個特徵數據輸入至神經網絡模型進行運算,根據運算結果確定是否發送開啟拍攝指令至拍照控制單元530。拍照控制單元530用於若接收到開啟拍攝指令,則控制相機進行拍攝操作。視頻/照片存儲單元540用於存儲相機拍攝的視頻/照片。
需要說明地是,本發明實施例提供的相機涉及的神經網絡模型還可在pc端進行訓練。若神經網絡模型在pc端進行訓練,則相機通過通信部件從pc端獲取該神經網絡模型。
本發明可以是系統、方法和/或電腦程式產品。電腦程式產品可以包括計算機可讀存儲介質,其上載有用於使處理器實現本發明的各個方面的計算機可讀程序指令。
計算機可讀存儲介質可以是可以保持和存儲由指令執行設備使用的指令的有形設備。計算機可讀存儲介質例如可以是――但不限於――電存儲設備、磁存儲設備、光存儲設備、電磁存儲設備、半導體存儲設備或者上述的任意合適的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:可攜式計算機盤、硬碟、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或快閃記憶體)、靜態隨機存取存儲器(sram)、可攜式壓縮盤只讀存儲器(cd-rom)、數字多功能盤(dvd)、記憶棒、軟盤、機械編碼設備、例如其上存儲有指令的打孔卡或凹槽內凸起結構、以及上述的任意合適的組合。這裡所使用的計算機可讀存儲介質不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈衝)、或者通過電線傳輸的電信號。
這裡所描述的計算機可讀程序指令可以從計算機可讀存儲介質下載到各個計算/處理設備,或者通過網絡、例如網際網路、區域網、廣域網和/或無線網下載到外部計算機或外部存儲設備。網絡可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火牆、交換機、網關計算機和/或邊緣伺服器。每個計算/處理設備中的網絡適配卡或者網絡接口從網絡接收計算機可讀程序指令,並轉發該計算機可讀程序指令,以供存儲在各個計算/處理設備中的計算機可讀存儲介質中。
用於執行本發明操作的電腦程式指令可以是彙編指令、指令集架構(isa)指令、機器指令、機器相關指令、微代碼、固件指令、狀態設置數據、或者以一種或多種程式語言的任意組合編寫的原始碼或目標代碼,所述程式語言包括面向對象的程式語言—諸如smalltalk、c++等,以及常規的過程式程式語言—諸如「c」語言或類似的程式語言。計算機可讀程序指令可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為一個獨立的軟體包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或伺服器上執行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡—包括區域網(lan)或廣域網(wan)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用網際網路服務提供商來通過網際網路連接)。在一些實施例中,通過利用計算機可讀程序指令的狀態信息來個性化定製電子電路,例如可編程邏輯電路、現場可編程門陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執行計算機可讀程序指令,從而實現本發明的各個方面。
這裡參照根據本發明實施例的方法、裝置(系統)和電腦程式產品的流程圖和/或框圖描述了本發明的各個方面。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機可讀程序指令實現。
這些計算機可讀程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,使得這些指令在通過計算機或其它可編程數據處理裝置的處理器執行時,產生了實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質中,這些指令使得計算機、可編程數據處理裝置和/或其他設備以特定方式工作,從而,存儲有指令的計算機可讀介質則包括一個製造品,其包括實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的各個方面的指令。
也可以把計算機可讀程序指令加載到計算機、其它可編程數據處理裝置、或其它設備上,使得在計算機、其它可編程數據處理裝置或其它設備上執行一系列操作步驟,以產生計算機實現的過程,從而使得在計算機、其它可編程數據處理裝置、或其它設備上執行的指令實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作。
附圖中的流程圖和框圖顯示了根據本發明的多個實施例的系統、方法和電腦程式產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用於實現規定的邏輯功能的可執行指令。在有些作為替換的實現中,方框中所標註的功能也可以以不同於附圖中所標註的順序發生。例如,兩個連續的方框實際上可以基本並行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或動作的專用的基於硬體的系統來實現,或者可以用專用硬體與計算機指令的組合來實現。對於本領域技術人員來說公知的是,通過硬體方式實現、通過軟體方式實現以及通過軟體和硬體結合的方式實現都是等價的。
以上已經描述了本發明的各實施例,上述說明是示例性的,並非窮盡性的,並且也不限於所披露的各實施例。在不偏離所說明的各實施例的範圍和精神的情況下,對於本技術領域的普通技術人員來說許多修改和變更都是顯而易見的。本文中所用術語的選擇,旨在最好地解釋各實施例的原理、實際應用或對市場中的技術改進,或者使本技術領域的其它普通技術人員能理解本文披露的各實施例。本發明的範圍由所附權利要求來限定。