本技術(shù)涉及機(jī)器視覺,尤其涉及一種光標(biāo)映射方法、裝置、電子設(shè)備、介質(zhì)和計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、隨著計(jì)算機(jī)技術(shù)的發(fā)展,除了傳統(tǒng)的通過鼠標(biāo)、鍵盤等物理設(shè)備直接操作的人機(jī)交互方法,還出現(xiàn)了基于隔空的光標(biāo)映射方法的人機(jī)交互方法,隔空的光標(biāo)映射方法指的是通過手勢或者其他非接觸方式來映射光標(biāo)位置。相關(guān)技術(shù)中,用戶在進(jìn)行隔空的光標(biāo)映射時,容易出現(xiàn)精度不高的問題,并且隨著用戶的移動,用戶動作與映射位置關(guān)聯(lián)度不高的問題。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
2、為此,本技術(shù)的一個目的在于提出一種光標(biāo)映射方法,通過實(shí)時獲取目標(biāo)對象的肩部關(guān)鍵點(diǎn)坐標(biāo)和手部關(guān)鍵點(diǎn)坐標(biāo),其中,肩部關(guān)鍵點(diǎn)坐標(biāo)包括左肩關(guān)鍵點(diǎn)坐標(biāo)和右肩關(guān)鍵點(diǎn)坐標(biāo),手部關(guān)鍵點(diǎn)坐標(biāo)包括左手關(guān)鍵點(diǎn)坐標(biāo)和右手關(guān)鍵點(diǎn)坐標(biāo);對左肩關(guān)鍵點(diǎn)坐標(biāo)和右肩關(guān)鍵點(diǎn)坐標(biāo)進(jìn)行距離計(jì)算,獲取目標(biāo)對象的雙肩距離,并基于雙肩距離、肩部關(guān)鍵點(diǎn)坐標(biāo)以及預(yù)設(shè)的虛擬框參數(shù)進(jìn)行計(jì)算,獲取左手對應(yīng)的左虛擬框和右手對應(yīng)的右虛擬框;針對左手關(guān)鍵點(diǎn)坐標(biāo)和右手關(guān)鍵點(diǎn)坐標(biāo)中的任一手部關(guān)鍵點(diǎn)坐標(biāo),響應(yīng)于監(jiān)測到任一手部關(guān)鍵點(diǎn)坐標(biāo)處于其對應(yīng)的虛擬框,獲取手部關(guān)鍵點(diǎn)坐標(biāo)與其對應(yīng)的虛擬框上的參考角點(diǎn)的坐標(biāo)相對參數(shù);獲取目標(biāo)對象對應(yīng)的投影屏幕的屏幕參數(shù),并結(jié)合屏幕參數(shù)和坐標(biāo)相對參數(shù)計(jì)算手部關(guān)鍵點(diǎn)坐標(biāo)在投影屏幕上的映射光標(biāo)位置。
3、本技術(shù)的第二個目的在于提出一種光標(biāo)映射裝置。
4、本技術(shù)的第三個目的在于提出一種電子設(shè)備。
5、本技術(shù)的第四個目的在于提出一種非瞬時計(jì)算機(jī)可讀存儲介質(zhì)。
6、本技術(shù)的第五個目的在于提出一種計(jì)算機(jī)程序產(chǎn)品。
7、為達(dá)上述目的,本技術(shù)第一方面實(shí)施例提出了一種光標(biāo)映射方法,包括:實(shí)時獲取目標(biāo)對象的肩部關(guān)鍵點(diǎn)坐標(biāo)和手部關(guān)鍵點(diǎn)坐標(biāo),其中,肩部關(guān)鍵點(diǎn)坐標(biāo)包括左肩關(guān)鍵點(diǎn)坐標(biāo)和右肩關(guān)鍵點(diǎn)坐標(biāo),手部關(guān)鍵點(diǎn)坐標(biāo)包括左手關(guān)鍵點(diǎn)坐標(biāo)和右手關(guān)鍵點(diǎn)坐標(biāo);對左肩關(guān)鍵點(diǎn)坐標(biāo)和右肩關(guān)鍵點(diǎn)坐標(biāo)進(jìn)行距離計(jì)算,獲取目標(biāo)對象的雙肩距離,并基于雙肩距離、肩部關(guān)鍵點(diǎn)坐標(biāo)以及預(yù)設(shè)的虛擬框參數(shù)進(jìn)行計(jì)算,獲取左手對應(yīng)的左虛擬框和右手對應(yīng)的右虛擬框;針對左手關(guān)鍵點(diǎn)坐標(biāo)和右手關(guān)鍵點(diǎn)坐標(biāo)中的任一手部關(guān)鍵點(diǎn)坐標(biāo),響應(yīng)于監(jiān)測到任一手部關(guān)鍵點(diǎn)坐標(biāo)處于其對應(yīng)的虛擬框,獲取手部關(guān)鍵點(diǎn)坐標(biāo)與其對應(yīng)的虛擬框上的參考角點(diǎn)的坐標(biāo)相對參數(shù);獲取目標(biāo)對象對應(yīng)的投影屏幕的屏幕參數(shù),并結(jié)合屏幕參數(shù)和坐標(biāo)相對參數(shù)計(jì)算手部關(guān)鍵點(diǎn)坐標(biāo)在投影屏幕上的映射光標(biāo)位置。
8、根據(jù)本技術(shù)的一個實(shí)施例,實(shí)時獲取目標(biāo)對象的肩部關(guān)鍵點(diǎn)坐標(biāo)和手部關(guān)鍵點(diǎn)坐標(biāo),包括:采集目標(biāo)對象的實(shí)時視頻流,并基于實(shí)時視頻流提取出目標(biāo)對象對應(yīng)的目標(biāo)圖像;將目標(biāo)圖像輸入肩部關(guān)鍵點(diǎn)識別網(wǎng)絡(luò),以獲取肩部關(guān)鍵點(diǎn)識別網(wǎng)絡(luò)輸出的肩部關(guān)鍵點(diǎn)坐標(biāo);將目標(biāo)圖像輸入手部關(guān)鍵點(diǎn)識別網(wǎng)絡(luò),以獲取手部關(guān)鍵點(diǎn)識別網(wǎng)絡(luò)輸出的手部關(guān)鍵點(diǎn)坐標(biāo)。
9、根據(jù)本技術(shù)的一個實(shí)施例,基于雙肩距離、肩部關(guān)鍵點(diǎn)坐標(biāo)以及預(yù)設(shè)的虛擬框參數(shù)進(jìn)行計(jì)算,獲取左手對應(yīng)的左虛擬框和右手對應(yīng)的右虛擬框,包括:預(yù)先設(shè)定虛擬框?qū)?yīng)的虛擬框參數(shù),其中,虛擬框參數(shù)至少包括虛擬框的長度參數(shù)、高度參數(shù)、橫軸偏移參數(shù)和縱軸偏移參數(shù);將雙肩距離與長度參數(shù)的乘積作為虛擬框的虛擬框長度,將雙肩距離與高度參數(shù)的乘積作為虛擬框的虛擬框高度;將橫軸偏移參數(shù)與虛擬框長度的乘積的一半作為虛擬框的參考角點(diǎn)對應(yīng)的橫軸偏移距離,以及將縱軸偏移參數(shù)與虛擬框高度的乘積的一半作為虛擬框的參考角點(diǎn)對應(yīng)的縱軸偏移距離;針對左肩關(guān)鍵點(diǎn)坐標(biāo)和右肩關(guān)鍵點(diǎn)坐標(biāo)中的任一肩部關(guān)鍵點(diǎn)坐標(biāo),對肩部關(guān)鍵點(diǎn)坐標(biāo)、橫軸偏移距離和縱軸偏移距離進(jìn)行計(jì)算,獲取肩部關(guān)鍵點(diǎn)坐標(biāo)對應(yīng)的虛擬框的參考角點(diǎn)的參考角點(diǎn)坐標(biāo);根據(jù)參考角點(diǎn)坐標(biāo),結(jié)合虛擬框長度和虛擬框高度進(jìn)行虛擬框擴(kuò)展,以生成左虛擬框和右虛擬框。
10、根據(jù)本技術(shù)的一個實(shí)施例,對肩部關(guān)鍵點(diǎn)坐標(biāo)、橫軸偏移距離和縱軸偏移距離進(jìn)行計(jì)算,獲取參考角點(diǎn)的參考角點(diǎn)坐標(biāo),包括:響應(yīng)于參考角點(diǎn)為虛擬框的左上角起始角點(diǎn),則將肩部關(guān)鍵點(diǎn)坐標(biāo)的橫坐標(biāo)與橫軸偏移距離的和作為參考角點(diǎn)橫坐標(biāo),將肩部關(guān)鍵點(diǎn)坐標(biāo)的縱坐標(biāo)與縱軸偏移距離的和作為參考角點(diǎn)縱坐標(biāo);根據(jù)參考角點(diǎn)橫坐標(biāo)和參考角點(diǎn)縱坐標(biāo)確定參考角點(diǎn)坐標(biāo)。
11、根據(jù)本技術(shù)的一個實(shí)施例,結(jié)合屏幕參數(shù)和坐標(biāo)相對參數(shù)計(jì)算手部關(guān)鍵點(diǎn)坐標(biāo)在投影屏幕上的映射光標(biāo)位置,包括:獲取投影屏幕的橫向像素點(diǎn)個數(shù)和縱向像素點(diǎn)個數(shù);獲取坐標(biāo)相對參數(shù)中的橫坐標(biāo)值占虛擬框長度的第一比例,以及坐標(biāo)相對參數(shù)中的縱坐標(biāo)值占虛擬框高度第二比例;按照第一比例從橫向像素點(diǎn)個數(shù)中確定目標(biāo)列,并按照第二比例從縱向像素點(diǎn)個數(shù)中確定目標(biāo)行,將目標(biāo)行和目標(biāo)列對應(yīng)的像素點(diǎn)作為映射光標(biāo)位置。
12、根據(jù)本技術(shù)的一個實(shí)施例,光標(biāo)映射方法,還包括:對左虛擬框和右虛擬框進(jìn)行實(shí)時更新。
13、為達(dá)上述目的,本技術(shù)第二方面實(shí)施例提出了光標(biāo)映射裝置,包括:獲取模塊,用于實(shí)時獲取目標(biāo)對象的肩部關(guān)鍵點(diǎn)坐標(biāo)和手部關(guān)鍵點(diǎn)坐標(biāo),其中,肩部關(guān)鍵點(diǎn)坐標(biāo)包括左肩關(guān)鍵點(diǎn)坐標(biāo)和右肩關(guān)鍵點(diǎn)坐標(biāo),手部關(guān)鍵點(diǎn)坐標(biāo)包括左手關(guān)鍵點(diǎn)坐標(biāo)和右手關(guān)鍵點(diǎn)坐標(biāo);計(jì)算模塊,用于對左肩關(guān)鍵點(diǎn)坐標(biāo)和右肩關(guān)鍵點(diǎn)坐標(biāo)進(jìn)行距離計(jì)算,獲取目標(biāo)對象的雙肩距離,并基于雙肩距離、肩部關(guān)鍵點(diǎn)坐標(biāo)以及預(yù)設(shè)的虛擬框參數(shù)進(jìn)行計(jì)算,獲取左手對應(yīng)的左虛擬框和右手對應(yīng)的右虛擬框;監(jiān)測模塊,用于針對左手關(guān)鍵點(diǎn)坐標(biāo)和右手關(guān)鍵點(diǎn)坐標(biāo)中的任一手部關(guān)鍵點(diǎn)坐標(biāo),響應(yīng)于監(jiān)測到任一手部關(guān)鍵點(diǎn)坐標(biāo)處于其對應(yīng)的虛擬框,獲取手部關(guān)鍵點(diǎn)坐標(biāo)與其對應(yīng)的虛擬框上的參考角點(diǎn)的坐標(biāo)相對參數(shù);投影模塊,用于獲取目標(biāo)對象對應(yīng)的投影屏幕的屏幕參數(shù),并結(jié)合屏幕參數(shù)和坐標(biāo)相對參數(shù)計(jì)算手部關(guān)鍵點(diǎn)坐標(biāo)在投影屏幕上的映射光標(biāo)位置。
14、根據(jù)本技術(shù)的一個實(shí)施例,獲取模塊,還用于:采集目標(biāo)對象的實(shí)時視頻流,并基于實(shí)時視頻流提取出目標(biāo)對象對應(yīng)的目標(biāo)圖像;將目標(biāo)圖像輸入肩部關(guān)鍵點(diǎn)識別網(wǎng)絡(luò),以獲取肩部關(guān)鍵點(diǎn)識別網(wǎng)絡(luò)輸出的肩部關(guān)鍵點(diǎn)坐標(biāo);將目標(biāo)圖像輸入手部關(guān)鍵點(diǎn)識別網(wǎng)絡(luò),以獲取手部關(guān)鍵點(diǎn)識別網(wǎng)絡(luò)輸出的手部關(guān)鍵點(diǎn)坐標(biāo)。
15、根據(jù)本技術(shù)的一個實(shí)施例,計(jì)算模塊,還用于:預(yù)先設(shè)定虛擬框?qū)?yīng)的虛擬框參數(shù),其中,虛擬框參數(shù)至少包括虛擬框的長度參數(shù)、高度參數(shù)、橫軸偏移參數(shù)和縱軸偏移參數(shù);將雙肩距離與長度參數(shù)的乘積作為虛擬框的虛擬框長度,將雙肩距離與高度參數(shù)的乘積作為虛擬框的虛擬框高度;將橫軸偏移參數(shù)與虛擬框長度的乘積的一半作為虛擬框的參考角點(diǎn)對應(yīng)的橫軸偏移距離,以及將縱軸偏移參數(shù)與虛擬框高度的乘積的一半作為虛擬框的參考角點(diǎn)對應(yīng)的縱軸偏移距離;針對左肩關(guān)鍵點(diǎn)坐標(biāo)和右肩關(guān)鍵點(diǎn)坐標(biāo)中的任一肩部關(guān)鍵點(diǎn)坐標(biāo),對肩部關(guān)鍵點(diǎn)坐標(biāo)、橫軸偏移距離和縱軸偏移距離進(jìn)行計(jì)算,獲取肩部關(guān)鍵點(diǎn)坐標(biāo)對應(yīng)的虛擬框的參考角點(diǎn)的參考角點(diǎn)坐標(biāo);根據(jù)參考角點(diǎn)坐標(biāo),結(jié)合虛擬框長度和虛擬框高度進(jìn)行虛擬框擴(kuò)展,以生成左虛擬框和右虛擬框。
16、根據(jù)本技術(shù)的一個實(shí)施例,計(jì)算模塊,還用于:響應(yīng)于參考角點(diǎn)為虛擬框的左上角起始角點(diǎn),則將肩部關(guān)鍵點(diǎn)坐標(biāo)的橫坐標(biāo)與橫軸偏移距離的和作為參考角點(diǎn)橫坐標(biāo),將肩部關(guān)鍵點(diǎn)坐標(biāo)的縱坐標(biāo)與縱軸偏移距離的和作為參考角點(diǎn)縱坐標(biāo);根據(jù)參考角點(diǎn)橫坐標(biāo)和參考角點(diǎn)縱坐標(biāo)確定參考角點(diǎn)坐標(biāo)。
17、根據(jù)本技術(shù)的一個實(shí)施例,投影模塊,還用于:獲取投影屏幕的橫向像素點(diǎn)個數(shù)和縱向像素點(diǎn)個數(shù);獲取坐標(biāo)相對參數(shù)中的橫坐標(biāo)值占虛擬框長度的第一比例,以及坐標(biāo)相對參數(shù)中的縱坐標(biāo)值占虛擬框高度第二比例;按照第一比例從橫向像素點(diǎn)個數(shù)中確定目標(biāo)列,并按照第二比例從縱向像素點(diǎn)個數(shù)中確定目標(biāo)行,將目標(biāo)行和目標(biāo)列對應(yīng)的像素點(diǎn)作為映射光標(biāo)位置。
18、根據(jù)本技術(shù)的一個實(shí)施例,計(jì)算模塊,還用于:對左虛擬框和右虛擬框進(jìn)行實(shí)時更新。
19、為達(dá)上述目的,本技術(shù)第三方面實(shí)施例提出了一種電子設(shè)備,包括:至少一個處理器;以及與所述至少一個處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以實(shí)現(xiàn)如本技術(shù)第一方面實(shí)施例所述的光標(biāo)映射方法。
20、為達(dá)上述目的,本技術(shù)第四方面實(shí)施例提出了一種存儲有計(jì)算機(jī)指令的非瞬時計(jì)算機(jī)可讀存儲介質(zhì),其中,所述計(jì)算機(jī)指令用于實(shí)現(xiàn)如本技術(shù)第一方面實(shí)施例所述的光標(biāo)映射方法。
21、為達(dá)上述目的,本技術(shù)第五方面實(shí)施例提出了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在被處理器執(zhí)行時實(shí)現(xiàn)如本技術(shù)第一方面實(shí)施例所述的光標(biāo)映射方法。
22、本技術(shù)至少實(shí)現(xiàn)以下有益效果:本技術(shù)所提出的光標(biāo)映射方法,映射的精度高,且本技術(shù)中人體雙肩距離和虛擬框大小進(jìn)行綁定,確保了不同用戶,距離相機(jī)不同距離時,能夠獲得良好的操作體驗(yàn),同時使用雙肩坐標(biāo)位置綁定虛擬框的位置,讓用戶在使用手勢時,可以通過對自身動作的記憶形成操作經(jīng)驗(yàn)。