無人機、無人機控制方法及裝置的制造方法
【專利摘要】本發明提供了一種無人機、無人機控制方法及裝置。所述無人機控制方法包括:獲得至少兩幀圖像,每幀圖像上包括有用戶的手部或者臉部;對所述至少兩幀圖像進行處理,得到每幀圖像上手部或者臉部的坐標值;計算所述臉部的坐標值或所述手部的坐標值以得到控制數據;依據控制數據控制無人機。本發明提供的無人機、無人機控制方法及裝置通過獲得用戶手部或者臉部的圖像,對獲得的圖像進行處理計算后得到控制數據,并依據得到的控制數據控制無人機的運動狀態,用戶只需要改變手部或者臉部的動作就可以自由控制無人機,使用戶從傳統的手持控制設備中解放出來,增進了用戶的體驗感和參與度。
【專利說明】
無人機、無人機控制方法及裝置
技術領域
[0001]本發明涉及無人機技術領域,具體而言,涉及一種無人機、無人機控制方法及裝置。【背景技術】
[0002]傳統的無人機控制技術包括遙控器控制、手機APP(Applicati〇n,應用程序)控制、 體感控制等,需要操控人員手持設備進行飛行控制,無法將用戶從固定設備中解放出來,限制了用戶的體驗感和參與度,且對無人機的智能化需求及發展構成了嚴重的阻礙。在無人機發展進程中,目前僅有飛行、電動及機械等控制系統,而視覺方面僅有錄像拍照等功能, 尚沒有能和飛機控制人員進行交互的產品。目前已有的手勢和人臉識別技術雖然比較成熟,但應用程度僅限于傳統的研究領域或部分的電腦端應用,沒有與無人機等移動硬件設備進行融合。
【發明內容】
[0003]有鑒于此,本發明的目的在于提供一種無人機、無人機控制方法及裝置,通過檢測用戶臉部或者手部的變化控制無人機,以將用戶從傳統的手持控制設備中解放出來。
[0004]為了實現上述目的,本發明實施例采用的技術方案如下:
[0005]第一方面,本發明實施例提供了一種無人機控制方法,所述無人機控制方法包括: 獲得至少兩幀圖像,每幀圖像上包括有用戶的手部或者臉部;
[0006]對所述至少兩幀圖像進行處理,得到每幀圖像上手部或者臉部的坐標值;
[0007]計算所述臉部的坐標值或所述手部的坐標值以得到控制數據;
[0008]依據控制數據控制無人機。
[0009]優選地,所述計算所述手部的坐標值以得到控制數據的步驟包括:
[0010]對所述至少兩幀圖像中的前后兩幀圖像的手部的坐標值進行減法運算以得到手部移動的像素差值,通過所述像素差值得到觸發信號量,所述控制數據為所述觸發信號量。
[0011]優選地,所述通過所述像素差值得到觸發信號量包括:
[0012]當所述像素差值大于預設的第一閾值時,舍去所述像素差值,維持所述觸發信號量的值不變;當所述像素差值大于預設的第二閾值且小于或等于所述預設的第一閾值時, 則控制計數器累加計數,當計數器累加后的計數值大于計數閾值時,控制計數值清零并增加觸發信號量的值。
[0013]優選地,所述包括有用戶的手部的圖像還同時包括用戶臉部的圖像,所述第二閾值為用戶臉部的像素長度,所述第一閾值為用戶手臂的像素長度。
[0014]優選地,所述依據控制數據控制無人機的步驟包括:將控制數據傳輸至無人機的飛控系統,以便飛控系統根據所述控制數據控制無人機。
[0015]第二方面,本發明實施例還提供了一種無人機控制裝置,所述無人機控制裝置包括:
[0016]獲取模塊,用于獲得至少兩幀圖像,每幀圖像上包括有用戶的手部或者臉部;
[0017]第一計算模塊,用于對所述至少兩幀圖像進行處理,得到每幀圖像上手部或者臉部的坐標值;
[0018]第二計算模塊,用于計算所述臉部的坐標值或所述手部的坐標值以得到控制數據;
[0019]控制模塊,用于依據控制數據控制無人機。
[0020]優選地,所述第二計算模塊用于對所述至少兩幀圖像中的前后兩幀圖像的手部的坐標值進行減法運算以得到手部移動的像素差值,通過所述像素差值得到觸發信號量,所述控制數據為所述觸發信號量。
[0021]優選地,所述第二計算模塊用于在得到所述像素差值后,在所述像素差值大于預設的第一閾值時,舍去所述像素差值,維持所述觸發信號量的值不變;在所述像素差值大于預設的第二閾值且小于或等于所述預設的第一閾值時,所述第二計算模塊控制計數器累加計數,當計數器累加后的計數值大于計數閾值時,所述第二計算模塊控制計數器將計數值清零并增加觸發信號量的值。
[0022]優選地,所述包括有用戶的手部的圖像還同時包括用戶臉部的圖像,所述第二閾值為用戶臉部的像素長度,所述第一閾值為用戶手臂的像素長度。
[0023]優選地,所述控制模塊用于將控制數據傳輸至無人機的飛控系統,以便飛控系統根據所述控制數據控制無人機。[〇〇24]第三方面,本發明實施例還提供了一種無人機,所述無人機包括:
[0025]存儲器;[0〇26] 處理器;及[〇〇27]無人機控制裝置,所述無人機控制裝置安裝于所述存儲器中并包括一個或多個由所述處理器執行的軟件功能模塊,所述無人機控制裝置包括:
[0028]獲取模塊,用于獲得至少兩幀圖像,每幀圖像上包括有用戶的手部或者臉部;
[0029]第一計算模塊,用于對所述至少兩幀圖像進行處理,得到每幀圖像上手部或者臉部的坐標值;
[0030]第二計算模塊,用于計算所述臉部的坐標值或所述手部的坐標值以得到控制數據;
[0031]控制模塊,用于依據控制數據控制無人機。
[0032]本發明實施例提供的無人機、無人機控制方法及裝置,所述無人機控制方法包括: 獲得多幀圖像,每幀圖像上包括有用戶的手部或者臉部;對所述多幀圖像進行處理,得到每幀圖像上手部或者臉部的坐標值;計算所述臉部的坐標值或所述手部的坐標值以得到控制數據;依據控制數據控制無人機。本發明實施例提供的無人機、無人機控制方法及裝置可以使用戶脫離手持操控設備,通過改變手部或者臉部動作的方式控制無人機的運動模式,增進用戶的體驗感。
[0033]為使本發明的上述目的、特征和優點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。【附圖說明】
[0034]為了更清楚地說明本發明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發明的某些實施例,因此不應被看作是對范圍的限定,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他相關的附圖。
[0035]圖1是本發明實施例提供的無人機、無人機控制方法及裝置的應用場景示意圖。 [〇〇36]圖2是本發明實施例提供的無人機的結構框圖。
[0037]圖3是本發明實施例提供的無人機控制裝置的功能模塊架構示意圖。
[0038]圖4是本發明實施例提供的無人機控制方法的流程圖。[〇〇39]主要元件符號說明:無人機控制裝置100、獲取模塊101、第一計算模塊102、第二計算模塊103、控制模塊104、無人機200、圖像采集單元210、存儲器220、存儲控制器230、處理器240、外設接口 250、通訊總線/信號線260。【具體實施方式】
[0040]下面將結合本發明實施例中附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發明實施例的組件可以以各種不同的配置來布置和設計。因此,以下對在附圖中提供的本發明的實施例的詳細描述并非旨在限制要求保護的本發明的范圍,而是僅僅表示本發明的選定實施例。基于本發明的實施例,本領域技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。[0041 ]應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。
[0042]請參閱圖1,是本發明實施例提供的一種無人機、無人機控制方法及裝置的應用環境示意圖。無人機(Unmanned Aerial Vehicle,UAV)200包括一圖像采集單元210,所述圖像采集單元210可以為相機、攝像機等,通過圖像采集單元210連續地采集用戶的圖像,圖像中包括有用戶的手部或者臉部,應該說明的是,用戶的手部可以是用戶的手掌、手臂或者其結合,本發明實施例對此不做限定。可以理解,圖像采集單元210連續采集的用戶的圖像可以形成一視頻流。無人機控制裝置100安裝于無人機的存儲器中并包括一個或多個由所述處理器執行的軟件功能模塊。用戶通過移動手部或者臉部,被圖像采集單元210采集到手部或者臉部移動前后的圖像,通過本發明實施例提供的無人機控制裝置100對圖像采集單元210 采集到的圖像進行處理計算,以控制無人機200的運動模式。[〇〇43]請參照圖2,是本發明實施例提供的無人機200的結構框圖。如圖2所示,無人機200 包括圖像采集單元210、存儲器220、存儲控制器230,一個或多個(圖中僅示出一個)處理器 240、外設接口 250、無人機控制裝置100等。這些組件通過一條或多條通訊總線/信號線260 相互通訊。[〇〇44] 無人機控制裝置100安裝于存儲器220并包括一個或多個由所述處理器240執行的軟件功能模塊。
[0045]存儲器220可用于存儲軟件程序以及模塊,如本發明實施例中的無人機控制方法及裝置對應的程序指令/模塊,處理器240通過運行存儲在存儲器220內的軟件程序以及模塊,從而執行各種功能應用以及數據處理,如本發明實施例提供的無人機控制方法。
[0046] 存儲器220可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態存儲器。處理器240以及其他可能的組件對存儲器220的訪問可在存儲控制器230的控制下進行。[〇〇47] 外設接口 250將各種輸入/輸出裝置耦合至處理器240以及存儲器220。在一些實施例中,外設接口250、處理器240以及存儲控制器230可以在單個芯片中實現。在其他一些實例中,他們可以分別由獨立的芯片實現。[〇〇48]可以理解,圖2所示的結構僅為示意,無人機200還可包括比圖2中所示更多或者更少的組件,或者具有與圖2所示不同的配置。圖2中所示的各組件可以采用硬件、軟件或其組合實現。
[0049]請參照圖3,是本發明實施例提供的無人機控制裝置100的功能模塊架構示意圖。 所述無人機控制裝置100包括獲取模塊101、第一計算模塊102、第二計算模塊103和控制模塊 104。
[0050]該獲取模塊101用于獲得至少兩幀圖像,每幀圖像上包括有用戶的手部或者臉部。 [0051 ]獲取模塊101獲取的圖像由無人機200的圖像采集單元210采集得到,獲取模塊101 獲得圖像之后,將多幀圖像發送至第一計算模塊103。作為優選的,在將多幀圖像發送至第一計算模塊103之前,可以通過一預處理模塊對多幀圖像進行預處理,包括但不限于穩像和裁剪,比如將視頻流2064*1548修改為720P或者1080P的圖像,使圖像更穩定。[〇〇52]第一計算模塊102用于對所述多幀圖像進行處理,以得到每幀圖像上手部或者臉部的坐標值。對于用戶手部的圖像,第一計算模塊102可以為一手勢識別模塊,對用戶的手部進行識別,得到手勢在圖像中的坐標值;對于用戶臉部的圖像,第一計算模塊102可以為一人臉識別模塊,對用戶的臉部進行識別,得到臉部在圖像中的坐標值。由于手勢識別模塊對人體手勢的識別和人臉識別模塊對人體臉部的識別為現有技術,此處不再贅述。第一計算模塊102對圖像進行處理后,得到圖像中用戶的手部或者臉部位于圖像中的坐標值,例如 (pixel_x,pixel_y)〇
[0053]第二計算模塊103用于計算所述臉部的坐標值或所述手部的坐標值以得到控制數據。[〇〇54]當用戶通過手部控制無人機200的運動時,作為一種實施方式,第二計算模塊103 對于用戶手部的坐標值的計算包括:將獲得的多幀圖像中的前后兩幀圖像中手部的坐標值進行減法運算,得到手部移動的像素差值,如(Apixel_x,Apixel_y)。在本實施例中,所述兩幀圖像之間間隔有三幀圖像,應該說明的是,兩幀圖像之間間隔三幀圖像是根據測試效果及板卡性能而定的,在其他情況下,兩幀圖像之間還可以間隔其他幀數,比如四幀。該像素差值即為用戶手部移動的距離值。以橫坐標運算為例,設兩幀圖像的坐標值分別為(20, 40)和(30,40),單位為厘米,則用戶手部移動的距離為30-20 = 10厘米。
[0055]為了保證第二計算模塊103輸出的像素差值沒有毛刺值,即保證多個像素差值平坦化,本實施例中,第二計算模塊103在對像素差值進行計算之前還需要對像素差值進行濾波,去掉像素差值中的毛刺值及尖峰值,使控制系統值更加平滑,控制飛機平穩移動。例如, 第一計算模塊102獲取的坐標值為:
[0056]pixel_x:10、20、30、60。[〇〇57]則第二計算模塊計算得到的像素差值A pixel_xS: 1〇、1〇、30。
[0058]像素差值A pixel_x*其中之一的值(30)遠大于其余兩個的值(10),因此可以被理解為一毛刺值,為了消除這一毛刺值,使得像素差值A Pixel_d^值平坦。可以通過將 pixel_x中的60修改為較小的值,比如修改為40,則像素差值Apixel_#^值變為1〇、1〇、1〇。 第二計算模塊103對像素差值進行濾波可以通過公式AYn = AXXn+(l_A) AY^實現,其中, Xn為手部的坐標值的像素差值,△ Yn為濾波后的像素差值,A Yn-l為前一次濾波后的像素差值,A為概率參數,A的取值視實際情況而定,一般的取值為0.2。
[0059]第二計算模塊103進一步用于在計算得到像素差值后,根據像素差值得到控制數據,在本實施例中,控制數據為觸發信號量。第二計算模塊103還用于將觸發信號量發送至控制模塊104,控制模塊104用于將觸發信號量的值傳輸至無人機200的飛控系統,飛控系統根據觸發信號量的值控制無人機200的運動狀態。比如,約定觸發信號量的值的改變量對應無人機200的運動距離和運動方向。下面通過具體例子進行說明,約定觸發信號量的值每改變1,無人機運動20cm,無人機200運動的方向與觸發信號量改變的值的正負有關,比如,可以約定當觸發信號量的值增加時,無人機200向右運動,當觸發信號量減少時,無人機200向左運動。
[0060]第二計算模塊103通過像素差值得到觸發信號量的過程為:每當像素差值符合預定條件時,第二計算模塊103按照預設的增加方式累加計數,預設的增加方式可以是增加1, 或者增加2、3等等,本實施例對此不做限定。優選地,第二計算模塊103用于控制一計數器按照預設的增加方式累加計數,當計數器累加后的計數值大于計數閾值的時候,第二計算模塊103控制計數器的計數值清零,并按照預設的增加方式增加觸發信號量的值。同理,觸發信號量的增加方式可以為每次增加1、2、3等等,本實施例對此不做限定。本實施例之所以先通過計數器計數,計數器的計數值達到閾值再增加觸發信號量的值的原因在于:在實際操作中,第一計算模塊102對用戶的手部進行識別可能會出現誤讀,比如當一與用戶手部顏色相近的物體移動至用戶的手部位置,且被第一計算模塊102解讀為用戶的手部,第一計算模塊102計算出用戶手部移動的像素差值落入預定條件,從而第二計算模塊103增加觸發信號量的值,但是實際情況是用戶并沒有移動手部或者移動手部的像素差值并未落入預定條件之內。或者另外一種情況,用戶只是想伸展一下手臂,并未有控制無人機200的意愿,但是被第一計算模塊102識別后,第二計算模塊103仍然增加觸發信號量,引起的無人機200誤觸發。為了避免無人機200的誤觸發,本實施例引入了累加計數的方式增加觸發信號量的值, 通過累加計數,計數值達到閾值時,再增加觸發信號量的值,只有當像素差值符合預定條件的次數達到一定數量時,才會觸發無人機200做出相應的運動,可以有效地防止無人機200 的誤觸發。[0061 ]下面對像素差值符合的預定條件做詳細介紹:[〇〇62]第二計算模塊103存儲有第一閾值和第二閾值,當像素差值大于第二閾值且小于或者等于第一閾值時,視為像素差值符合預定條件。在本發明實施例中,第二閾值為用戶臉部的像素長度,在通過手勢控制無人機200的運動時,獲得的圖像中同時還包括用戶的臉部。獲得用戶臉部的像素長度的意義在于,無人機200距離用戶的距離不同,圖像采集單元采集的圖像中,用戶手部的大小不同,體現出來用戶手部的像素長度也不一樣,相應的,用戶移動手部的距離亦不一樣。比如,用戶移動手部的距離20厘米,在無人機200距離用戶10 米時,體現在圖像上用戶手部移動的像素差值為5,而無人機200距離用戶5米時,體現在圖像上用戶手部移動的像素差值為10。用戶的手部移動的距離是不變的,但是無人機200采集的圖像上,用戶手部移動的像素長度卻有變化,如果設置一個不變的第二閾值,顯然得到的結果是不準確的,在本實施例中,設置了一個參考變量一一人臉的像素長度。人臉的像素長度隨著無人機200的遠離和靠近,在圖像中的像素長度會發生相應的變化,將人臉的像素長度作為第二閾值,由于用戶的手部移動的像素差值和用戶臉部的像素長度的縮放比例是相同的,當圖像中用戶手部移動的像素差值大于第二閾值時,則第二計算模塊103進行計數。 下面對第一閾值的選取做詳細介紹:第一閾值也是一個變量,在本實施例中,第一閾值為用戶手臂的像素長度,容易理解的,用戶手臂的像素長度會發生變化,但是用戶手臂的實際長度不會發生明顯變化。當用戶站在原地不動時,手臂移動的距離不會超過手臂的長度,第一閾值的設置是為了防止第一計算模塊102對用戶手勢的誤解讀,當第二計算模塊103計算得到的像素差值大于第一閾值時,說明第一計算模塊102對圖像進行了誤讀,比如將與用戶手部顏色相近的其他的物體讀作了用戶的手部,導致讀出的手部的像素長度過長,表明此次解讀為誤解讀,則將此次得到的像素差值舍去。在實際情況中,由于用戶的手臂可能為蜷縮狀態,第一計算模塊102無法準確地計算出用戶手臂的像素長度,導致第一閾值的取值不準確,為了解決這個問題,本發明實施例中,通過先得到用戶準確的手臂長度,然后將用戶手臂的像素長度與用戶臉部的像素長度做比值運算,得到用戶手臂與用戶臉部的比例關系, 比如得到用戶手臂的長度是臉部長度的n倍,由于用戶臉部的像素長度更加容易計算且計算結果更準確,則可以將用戶臉部的像素長度作為基值,乘以n后,即得到用戶手臂的像素長度,可以得到結論,第一閾值=nX第二閾值,其中第二閾值為用戶臉部的像素長度,n為用戶的手臂與臉部的比例值,第一閾值為用戶手臂的像素長度。
[0063]對用戶手部進行識別還可以進一步延伸為對用戶手指或手掌的手勢進行識別,以控制無人機200的做出動作響應,比如,當用戶手掌完全展開時、用戶握拳時、用戶手指擺出 V字形動作時,可以分別代表無人機20不同的動作,如起飛、降落、拍照或錄像等等。[〇〇64]當用戶通過臉部控制無人機200的運動時,第二計算模塊103用于對用戶臉部的坐標值進行計算:具體地,第二計算模塊103對用戶臉部的坐標值進行濾波,去掉臉部的坐標值中的毛刺值,此處對濾波的過程不再贅述,濾波之后的用戶臉部的坐標值即為控制數據。 用戶臉部的坐標值包括圖像中用戶臉框的左上角的坐標值與用戶臉框的右下角的坐標值。 此處所說的用戶的臉框是指用戶臉部橫豎的最大值組成的矩形形成的矩形框,可以參照照相機中聚焦人臉時形成的對焦矩形框。第二計算模塊103計算用戶臉部的坐標值與計算用戶手部的坐標值的不同之處在于,在對用戶臉部坐標值進行濾波后,第二計算模塊103直接將得到的濾波后的用戶的臉部的坐標值發送至控制模塊104,控制模塊104將該坐標值輸送至無人機200的飛控系統,以便無人機200的飛控系統依據用戶臉部的坐標值在圖像中的位置變化控制無人機200的運動狀態。例如,當飛控系統檢測到用戶的臉框在圖像中變大,比如檢測到用戶臉框左上角的坐標值與用戶臉框的右下角的坐標值之間的像素長度變長,則飛控系統控制無人機200的俯仰角變化,使無人機200遠離用戶。當飛控系統檢測到用戶的臉框在圖像中變小,比如檢測到用戶臉框左上角的坐標值與用戶臉框的右下角的坐標值之間的像素長度變短,則飛控系統控制無人機200的俯仰角變化,使無人機200靠近用戶。當飛控系統檢測到用戶的臉框在圖像中的位置向上運動時,控制無人機200向上運動,當飛控系統檢測到用戶的臉框在圖像中的位置向下運動時,控制無人機200向下運動,當飛控系統檢測到用戶的臉框在圖像中的位置向左運動時,控制無人機200向左運動,當飛控系統檢測到用戶的臉框在圖像中的位置向右運動時,控制無人機200向右運動,實現無人機200六自由度(上下、左右、及前后方向)的控制。[〇〇65]請參照圖4,是本發明實施例提供的無人機控制方法的流程圖。本發明實施例提供的無人機控制方法包括以下步驟:[〇〇66]步驟S201,獲得多幀圖像,每幀圖像上包括用戶的手部或者臉部。[〇〇67]在本實施例中,步驟S201可以由獲取模塊101執行。獲得的多幀圖像由無人機200 的圖像采集單元采集得到,比如攝像機、照相機等。需要說明的是,當需要通過識別用戶手部的動作控制無人機200的運動狀態時,獲得的多幀圖像中同時包括用戶的手部和臉部,而通過識別用戶的臉部控制無人機200的動作,則只需要獲得用戶的臉部即可。獲得圖像之后,可以對圖像進行預處理,包括但不限于穩像和裁剪,使圖像更加符合后續步驟的要求。 [〇〇68]步驟S202,對所述多幀圖像進行處理,得到每幀圖像上手部或者臉部的坐標值。 [〇〇69]在本發明實施例中,步驟S202可以通過第一計算模塊102執行。得到的用戶的手部或者臉部的坐標值,可以是一個或多個,比如對于用戶手部的坐標值,可以是選取能夠描繪出用戶手部輪廓的幾個坐標值,也可以選取用戶手部的幾何中心點的坐標值,或者用戶手部特定點的坐標值,對于用戶臉部的坐標值,可以選取用戶臉框左上角的坐標值和用戶臉框右下角的坐標值,本發明實施例對坐標值的個數和選取方式不做限定。
[0070]步驟S203,計算所述臉部的坐標值或者手部的坐標值以得到控制數據。
[0071]在本實施例中,步驟S203可以通過第二計算模塊103執行。計算臉部的坐標值包括對臉部的坐標值進行濾波,取出臉部坐標值中的毛刺值,控制數據即為濾波之后的用戶臉部的坐標值。計算手部的坐標值包括對多幀圖像中的兩幀圖像中手部的坐標值進行減法運算以得到手部移動的像素差值,優選地,可以對像素差值進行濾波,去掉像素差值中的毛刺值,濾波的過程具體可以通過公式A Yn = A X Xn+ ( 1-A) A Yn-l實現,其中,Xn為手部的坐標值, A Yn為濾波后的像素差值,A Yn-1為前一次濾波后的像素差值,A為概率參數,A的取值視實際情況而定,一般的取值為0.2。通過濾波之后的像素差值,可以得到控制數據,該控制數據為觸發信號量,通過像素差值得到觸發信號量的過程為:每當像素差值符合預定條件時,按照預設的增加方式累加計數,預設的增加方式可以是增加1,或者增加2、3等等,本實施例對此不做限定。當累加后的計數值大于計數閾值的時候,將計數值清零,并按照預設的增加方式增加觸發信號量的值,同理,觸發信號量的增加方式可以為每次增加1、2、3等等,本實施例對此不做限定。預定條件是指預先設定第一閾值和第二閾值,當像素差值大于第二閾值且小于或者等于第一閾值時,視為像素差值符合預定條件,第二閾值為用戶臉部的像素長度,第一閾值為用戶手臂的像素長度,當像素差值大于第一閾值的時候,將該像素差值舍去,維持觸發信號量的值不變。[〇〇72]步驟S204,依據控制數據控制無人機。[〇〇73]在本實施例中,步驟S204可以通過控制模塊104執行。得到控制數據后,將控制數據傳輸至無人機200的飛控系統,以便飛控系統根據控制數據控制無人機200。傳輸控制數據的方式可以采用飛控系統中的飛控接口函數傳遞,對于計算用戶手部坐標值得到的控制數據,飛控接口函數可以為:
[0074] flight_control_ap_send_track_result(HandoffsetX,HandoffsetY,Quality)
[0075]Handof f setX,Handof f setY 為輸出坐標值,Qual i ty 為置信度。
[0076]對于計算用戶臉部坐標值得到的控制數據,飛控接口函數可以為:
[0077]flight_control_ap_send_target_track_result(LocalFrameCount,TX0,TY0, TX1,TY1,Quality)[〇〇78] LocalFrameCount為圖像幀數,了乂0,了¥0,1')(1,了¥1為人臉框左上角和右下角的坐標值,Quality為置信度。
[0079]綜上所述,本發明實施例提供的無人機、無人機控制方法及裝置通過獲得用戶手部或者臉部的圖像,對獲得的圖像進行處理計算后得到控制數據,并依據得到的控制數據控制無人機200的運動狀態,用戶只需要改變手部或者臉部的動作就可以自由控制無人機 200,使用戶從傳統的手持控制設備中解放出來,增進了用戶的體驗感和參與度。
[0080]需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0081]以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。
【主權項】
1.一種無人機控制方法,其特征在于,所述方法包括:獲得至少兩幀圖像,每幀圖像上包括有用戶的手部或者臉部;對所述至少兩幀圖像進行處理,得到每幀圖像上手部或者臉部的坐標值;計算所述臉部的坐標值或所述手部的坐標值以得到控制數據;依據控制數據控制無人機。2.根據權利要求1所述的無人機控制方法,其特征在于,所述計算所述手部的坐標值以 得到控制數據的步驟包括:對所述至少兩幀圖像中的前后兩幀圖像的手部的坐標值進行減法運算以得到手部移 動的像素差值,通過所述像素差值得到觸發信號量,所述控制數據為所述觸發信號量。3.根據權利要求2所述的無人機控制方法,其特征在于,所述通過所述像素差值得到觸 發信號量包括:當所述像素差值大于預設的第一閾值時,舍去所述像素差值,維持所述觸發信號量的 值不變;當所述像素差值大于預設的第二閾值且小于或等于所述預設的第一閾值時,則控 制計數器累加計數,當計數器累加后的計數值大于計數閾值時,控制計數值清零并增加觸 發信號量的值。4.根據權利要求3所述的無人機控制方法,其特征在于,所述包括有用戶的手部的圖像 還同時包括用戶臉部的圖像,所述第二閾值為用戶臉部的像素長度,所述第一閾值為用戶 手臂的像素長度。5.根據權利要求1所述的無人機控制方法,其特征在于,所述依據控制數據控制無人機 的步驟包括:將控制數據傳輸至無人機的飛控系統,以便飛控系統根據所述控制數據控制 無人機。6.—種無人機控制裝置,其特征在于,所述裝置包括:獲取模塊,用于獲得至少兩幀圖像,每幀圖像上包括有用戶的手部或者臉部;第一計算模塊,用于對所述至少兩幀圖像進行處理,得到每幀圖像上手部或者臉部的 坐標值;第二計算模塊,用于計算所述臉部的坐標值或所述手部的坐標值以得到控制數據;控制模塊,用于依據控制數據控制無人機。7.根據權利要求6所述的無人機控制裝置,其特征在于,所述第二計算模塊用于對所述 至少兩幀圖像中的前后兩幀圖像的手部的坐標值進行減法運算以得到手部移動的像素差 值,通過所述像素差值得到觸發信號量,所述控制數據為所述觸發信號量。8.根據權利要求7所述的無人機控制裝置,其特征在于,所述第二計算模塊用于在得到 所述像素差值后,在所述像素差值大于預設的第一閾值時,舍去所述像素差值,維持所述觸 發信號量的值不變;在所述像素差值大于預設的第二閾值且小于或等于所述預設的第一閾 值時,所述第二計算模塊控制計數器累加計數,當計數器累加后的計數值大于計數閾值時, 所述第二計算模塊控制計數器將計數值清零并增加觸發信號量的值。9.根據權利要求8所述的無人機控制裝置,其特征在于,所述包括有用戶的手部的圖像 還同時包括用戶臉部的圖像,所述第二閾值為用戶臉部的像素長度,所述第一閾值為用戶 手臂的像素長度。10.根據權利要求6所述的無人機控制裝置,其特征在于,所述控制模塊用于將控制數據傳輸至無人機的飛控系統,以便飛控系統根據所述控制數據控制無人機。11.一種無人機,其特征在于,所述無人機包括:存儲器;處理器;及無人機控制裝置,所述無人機控制裝置安裝于所述存儲器中并包括一個或多個由所述 處理器執行的軟件功能模塊,所述無人機控制裝置包括:獲取模塊,用于獲得至少兩幀圖像,每幀圖像上包括有用戶的手部或者臉部;第一計算模塊,用于對所述至少兩幀圖像進行處理,得到每幀圖像上手部或者臉部的 坐標值;第二計算模塊,用于計算所述臉部的坐標值或所述手部的坐標值以得到控制數據;控制模塊,用于依據控制數據控制無人機。
【文檔編號】G05D1/10GK106094861SQ201610387847
【公開日】2016年11月9日
【申請日】2016年6月2日 公開號201610387847.9, CN 106094861 A, CN 106094861A, CN 201610387847, CN-A-106094861, CN106094861 A, CN106094861A, CN201610387847, CN201610387847.9
【發明人】蒲慶, 楊建軍
【申請人】零度智控(北京)智能科技有限公司