本技術涉及人工智能(artificial?intelligence,ai),更具體地,涉及一種報點的預測方法、預測裝置和電子設備。
背景技術:
1、隨著觸控技術的發(fā)展,越來越多的電子設備(例如,平板電腦、筆記本電腦、手機等)采用觸控方式進行人機交互。終端設備的顯示屏除了可以使用手指接觸操作外,還可以使用觸控筆進行觸控操作,用于辦公時記錄筆記、繪畫等場景。
2、觸控筆在例如平板電腦的電子設備上進行書寫時,由于觸控響應、報點計算和繪制報點是需要設備進行處理計算的,上述過程必然具有一定的時延,若時延較長,導致顯示屏的繪制點的位置(俗稱顯示屏的出水位置)和觸控筆在顯示屏上的實際觸點的位置(即觸控筆的筆尖位置)具有一定的距離和延遲,使得書寫過程具有跟手延遲,嚴重影響用戶體驗?;诖?,相關技術提出了各種預測算法,通過預測算法可以提前預測多個報點,且對提前預測的報點進行繪制,能夠降低書寫過程的跟手延遲。但是,若在抬筆或轉(zhuǎn)彎等場景下繪制預測的報點,會出現(xiàn)飛線(出水位置超過筆尖位置)或筆畫回縮等現(xiàn)象,影響了用戶的書寫體驗。
3、基于此,需要提供一種技術,能夠減少書寫過程的飛線或筆畫回縮的現(xiàn)象,以提高用戶體驗。
技術實現(xiàn)思路
1、本技術實施例提供一種報點的預測方法、預測裝置和電子設備,通過對采集到的觸控筆進行書寫時形成的多個歷史報點的報點信息進行處理得到包括至少一個書寫特征的特征信息,采用姿態(tài)預測模型對特征信息進行處理,輸出與觸控筆執(zhí)行預設書寫操作(抬筆操作或轉(zhuǎn)彎操作)的場景相關的預測結果,進而根據(jù)預測結果確定報點數(shù)量,在確定的報點數(shù)量小于第一預設數(shù)量或等于0時,能夠減少或取消原本需要預測的報點(即預測報點),這樣,對于觸控筆大概率執(zhí)行預設書寫操作(抬筆操作或轉(zhuǎn)彎操作)的場景,能夠減少由于報點的預測帶來的飛線或筆畫回縮的現(xiàn)象,提高了用戶的書寫體驗。此外,由于將報點數(shù)量與預設書寫操作進行關聯(lián),可以得到與預設書寫操作相關的報點數(shù)量,能夠提高報點預測的靈活性。
2、第一方面,提供了一種報點的預測方法,應用于電子設備中,方法包括:獲取觸控筆在電子設備上進行書寫形成的n個歷史報點的報點信息,n為大于1的整數(shù);根據(jù)報點信息,確定特征信息,特征信息包括以下至少一個書寫特征:軌跡彎曲度、壓力變化率、速度變化率、軌跡變化率,其中,軌跡彎曲度用于表示基于n個歷史報點形成的軌跡的彎曲程度,壓力變化率用于表示觸控筆在電子設備上進行書寫形成n個歷史報點的過程中的壓力變化程度,速度變化率用于表示觸控筆在電子設備上進行書寫形成n個歷史報點的過程中的速度變化程度,軌跡變化率用于表示基于n個歷史報點形成的軌跡相比于上次預測過程獲取的多個歷史報點形成的軌跡的變化程度;采用姿態(tài)預測模型對特征信息進行處理,得到預測結果,預測結果用于指示觸控筆執(zhí)行預設書寫操作的第一概率或用于指示觸控筆是否執(zhí)行預設書寫操作,其中,預設書寫操作為抬筆操作或轉(zhuǎn)彎操作;根據(jù)預測結果,確定報點數(shù)量,報點數(shù)量大于或等于0且小于或等于第一預設數(shù)量;在報點數(shù)量大于0且小于或等于第一預設數(shù)量的情況下,按照報點數(shù)量對當前幀的預測報點進行預測;或,在報點數(shù)量等于0的情況下,繪制且顯示當前幀的真實報點。
3、其中,n個歷史報點是當前幀繪制(或渲染)之前已經(jīng)生成的歷史的真實報點。當前幀是電子設備基于觸控筆的書寫內(nèi)容正待繪制的一幀。例如,電子設備剛繪制完第m幀,觸控筆繼續(xù)接觸顯示屏,在第m+1幀,電子設備基于觸點生成的報點會繼續(xù)繪制報點,這里的當前幀即為第m+1幀。
4、示例性地,n個歷史報點是當前幀(例如第m+1幀)繪制(或渲染)之前已經(jīng)生成的最近n個歷史報點。
5、在報點數(shù)量大于0且小于或等于第一預設數(shù)量的情況下,按照報點數(shù)量對當前幀的預測報點進行預測,并且,繪制且顯示當前幀的真實報點和預測報點。其中,在報點數(shù)量大于0且小于第一預設數(shù)量的情況下,按照小于第一預設數(shù)量的報點數(shù)量對當前幀的預測報點進行預測;在報點數(shù)量等于第一預設數(shù)量的情況下,按照第一預設數(shù)量的報點數(shù)量對當前幀的預測報點進行預測。
6、第一預設數(shù)量是預先設置的用于報點預測的一個定值。在現(xiàn)有技術中,電子設備一直按照第一預設數(shù)量進行預測報點的預測,所以,在轉(zhuǎn)彎或抬筆的場景下才可能會出現(xiàn)飛線或筆畫回縮的現(xiàn)象。
7、上述示例的四個書寫特征中,軌跡彎曲度用于表示基于n個歷史報點形成的軌跡的彎曲程度。實現(xiàn)中,若觸控筆執(zhí)行轉(zhuǎn)彎操作(即書寫曲線),軌跡的彎曲程度會較大;反之,若觸控筆并未執(zhí)行轉(zhuǎn)彎操作,例如,觸控筆正在書寫直線,軌跡的彎曲程度會偏小,理想情況下,軌跡的彎曲程度幾乎很小。因此,軌跡彎曲度一定程度上能夠表示觸控筆執(zhí)行轉(zhuǎn)彎操作的概率(或趨勢)。理論上,若觸控筆執(zhí)行轉(zhuǎn)彎操作,可以減少預測報點的數(shù)量或取消預測報點的預測,以減少由于預測錯誤導致的飛線或筆畫回縮現(xiàn)象。
8、壓力變化率用于表示觸控筆在電子設備上進行書寫形成n個歷史報點的過程中的壓力變化程度。實現(xiàn)中,若觸控筆執(zhí)行抬筆操作,壓力會發(fā)生明顯變化,具體地,壓力變小。因此,壓力變化率一定程度上能夠表示觸控筆執(zhí)行抬筆操作的概率(或趨勢)。理論上,若觸控筆執(zhí)行抬筆操作,可以減少預測報點的數(shù)量或取消預測報點的預測,以減少由于預測錯誤導致的飛線或筆畫回縮現(xiàn)象。
9、速度變化率用于表示觸控筆在電子設備上進行書寫形成n個歷史報點的過程中的速度變化程度。實現(xiàn)中,若觸控筆執(zhí)行轉(zhuǎn)彎操作或抬筆操作,書寫速度會發(fā)生明顯變化,具體地,書寫速度變快或變慢,速度變化率都會發(fā)生明顯變化。因此,速度變化率一定程度上能夠表示觸控筆執(zhí)行轉(zhuǎn)彎操作或抬筆操作的概率(或趨勢)。理論上,速度變化率發(fā)生明顯變化,大概率意味著書寫速度發(fā)生明顯變化,可以減少預測報點的數(shù)量或取消預測報點的預測,減少由于預測錯誤導致的飛線或筆畫回縮現(xiàn)象。
10、軌跡變化率用于表示基于n個歷史報點形成的軌跡相比于上次預測過程中獲取的多個歷史報點形成的軌跡的變化程度。實現(xiàn)中,若觸控筆執(zhí)行轉(zhuǎn)彎操作或抬筆操作,書寫速度會發(fā)生明顯變化,具體地,書寫速度變快或變慢,軌跡變化率都會發(fā)生明顯變化。因此,軌跡變化率一定程度上能夠表示觸控筆執(zhí)行轉(zhuǎn)彎操作或抬筆操作的概率(或趨勢)。因此,理論上,軌跡變化率發(fā)生明顯變化,大概率意味著書寫速度發(fā)生明顯變化,可以減少預測報點的數(shù)量或取消預測報點的預測,減少由于預測錯誤導致的飛線或筆畫回縮現(xiàn)象。
11、應理解,雖然速度變化率和軌跡變化率均能夠體現(xiàn)書寫速度,但兩者的側重點不同,速率變化率體現(xiàn)的是微觀角度的書寫速度的變化,軌跡變化率體現(xiàn)的是宏觀角度的書寫速度的變化。有些場景下(例如書寫速度頻繁變化的場景),軌跡變化率能夠從宏觀角度較好地體現(xiàn)書寫速度的變化。
12、本技術實施例提供的報點的預測方法,通過對觸控筆進行書寫時形成的多個(例如n個)歷史報點的報點信息進行處理得到包括至少一個書寫特征的特征信息,這些書寫特征能有效地表征觸控筆執(zhí)行預設書寫操作(抬筆操作或轉(zhuǎn)彎操作)的一些狀態(tài)變化,因而將特征信息作為姿態(tài)預測模型的輸入,采用姿態(tài)預測模型對特征信息進行處理輸出預測結果,輸出的預測結果能夠與觸控筆執(zhí)行預設書寫操作(抬筆操作或轉(zhuǎn)彎操作)的場景相關,即,預測結果用于指示觸控筆執(zhí)行預設書寫操作的第一概率或用于指示觸控筆是否執(zhí)行預設書寫操作,基于此,根據(jù)預測結果確定的報點數(shù)量與實際書寫場景相關。這樣,一方面,在報點數(shù)量小于第一預設數(shù)量或等于0時,意味著減少或取消了原本需要預測的預測報點,這種情況下,觸控筆大概率執(zhí)行預設書寫操作,因此減少或取消原本需要預測的預測報點,能夠有效地減少由于報點的預測帶來的飛線或筆畫回縮的現(xiàn)象,提高了用戶的書寫體驗;另一方面,在報點數(shù)量等于第一預設數(shù)量時,這種情況下意味著觸控筆大概率未執(zhí)行預設書寫操作,本身出現(xiàn)飛線或筆畫回縮現(xiàn)象的可能性就很小,因此采用第一預設數(shù)量進行預測報點的預測,能夠有效地降低書寫過程的跟手延遲,提高跟手體驗。此外,由于將報點數(shù)量與預設書寫操作關聯(lián),可以得到與預設書寫操作相關的報點數(shù)量,能夠提高報點預測的靈活性。
13、在上述獲取觸控筆在電子設備上進行書寫形成的n個歷史報點的報點信息之前,即執(zhí)行報點的預測方法之前,可以對神經(jīng)網(wǎng)絡模型進行訓練得到姿態(tài)預測模型。訓練過程如下,在一些實施例中,獲取多個樣本報點數(shù)據(jù),樣本報點數(shù)據(jù)是基于觸控筆在電子設備上進行書寫時生成的多個歷史報點生成的,多個樣本報點數(shù)據(jù)包括第一類樣本報點數(shù)據(jù)和第二類樣本報點數(shù)據(jù),第一類樣本報點數(shù)據(jù)是觸控筆執(zhí)行正常書寫操作時采集的數(shù)據(jù),第二類樣本報點數(shù)據(jù)是觸控筆執(zhí)行預設書寫操作時采集的數(shù)據(jù);對各個樣本報點數(shù)據(jù)進行處理,得到各個樣本報點數(shù)據(jù)的特征信息;采用各個樣本報點數(shù)據(jù)的特征信息對神經(jīng)網(wǎng)絡模型進行訓練,得到姿態(tài)預測模型。
14、本技術實施例提供的報點的預測方法,通過多個樣本報點數(shù)據(jù)對神經(jīng)網(wǎng)絡模型進行訓練,訓練后得到的姿態(tài)預測模型相當于建立了書寫操作和預測結果的關系,因此,在使用姿態(tài)預測模型進行預測時,將觸控筆進行書寫時的特征信息作為輸入,通過姿態(tài)預測模型對特征信息進行處理后能夠輸出與預設書寫操作相關的預測結果。
15、在預測結果不同的情況下,根據(jù)預測結果確定報點數(shù)量的過程也不同。
16、在預測結果用于指示第一概率的實施例中,在上述根據(jù)預測結果,確定報點數(shù)量的步驟中,在一些實施例中,根據(jù)第一概率,確定觸控筆是否執(zhí)行預設書寫操作;在確定觸控筆執(zhí)行預設書寫操作的情況下,確定報點數(shù)量為第一數(shù)量或0;或,在確定觸控筆未執(zhí)行預設書寫操作的情況下,確定報點數(shù)量為第一預設數(shù)量。
17、本技術實施例提供的報點的預測方法,可以理解,正常情況下只有第一概率的數(shù)值較大時才可能確定出觸控筆執(zhí)行預設書寫操作,因此,先根據(jù)第一概率確定觸控筆是否執(zhí)行預設書寫操作,在確定觸控筆執(zhí)行預設書寫操作的情況下,才減少或取消報點數(shù)量(即報點數(shù)量為第一數(shù)量或0),相當于提前過濾了數(shù)值較小的第一概率,因而確定的觸控筆是否執(zhí)行預設書寫操作的結果與實際場景較符合,判定結果較為可靠以及準確,因此,基于這種情況確定的報點數(shù)量與實際場景也較為符合,一方面,既能夠更好地減少由于報點的預測帶來的飛線或筆畫回縮的現(xiàn)象,提高了用戶的書寫體驗;另一方面還能夠更好地降低書寫過程的跟手延遲,提高跟手體驗。
18、在上述確定報點數(shù)量為第一數(shù)量的步驟中,在一些實施例中,第一數(shù)量為第二預設數(shù)量。
19、本技術實施例提供的報點的預測方法,將預設的第二預設數(shù)量直接確定為作為報點數(shù)量的第一數(shù)量,邏輯簡單,代碼上便于實現(xiàn),實用性更強,一定程度上也節(jié)省了處理時長。
20、在上述確定報點數(shù)量為第一數(shù)量的步驟中,在另一些實施例中,在確定觸控筆執(zhí)行預設書寫操作的情況下,根據(jù)第一預設數(shù)量和第一概率,確定報點數(shù)量為第一數(shù)量。
21、本技術實施例提供的報點的預測方法,基于預測結果指示的第一概率,在確定觸控筆執(zhí)行預設書寫操作的情況下,根據(jù)第一概率和第一預設數(shù)量確定作為報點數(shù)量的第一數(shù)量,由于是基于預測的實際場景的概率確定的報點數(shù)量,因而得到的報點數(shù)量與實際場景更符合,即得到的報點數(shù)量的準確度更高,并且,提高了報點預測的靈活性。
22、在一些實施例中,預測結果還用于指示觸控筆未執(zhí)行預設書寫操作的第二概率;以及,在上述根據(jù)第一概率,確定觸控筆是否執(zhí)行預設書寫操作的步驟中,在第一概率大于第二概率的情況下,確定觸控筆執(zhí)行預設書寫操作;或,在第一概率小于第二概率的情況下,確定觸控筆未執(zhí)行預設書寫操作。
23、本技術實施例提供的報點的預測方法,基于姿態(tài)預測模型輸出的預測結果不僅用于指示第一概率,還用于指示第二概率,多維度的輸出能夠一定程度上提高機器學習的精確度,且進一步基于第一概率和第二概率的比較確定觸控筆是否執(zhí)行預設書寫操作,能夠更準確地預測出實際的書寫操作是否為預設書寫操作,從而在確定觸控筆執(zhí)行預設書寫操作時能確定的小于第一預設數(shù)量的報點數(shù)量能更好地避免飛線或筆畫回縮的現(xiàn)象。
24、在預測結果用于指示第一概率的實施例中,在上述根據(jù)預測結果,確定報點數(shù)量的步驟中,在一些實施例中,根據(jù)第一預設數(shù)量和第一概率,確定報點數(shù)量。
25、本技術實施例提供的報點的預測方法,由于不需要提前確定觸控筆是否執(zhí)行預設書寫操作,而是可以直接根據(jù)第一概率和預設的第一預設數(shù)量確定報點數(shù)量,邏輯簡單,代碼上也便于實現(xiàn),一定程度上也節(jié)省了處理時長;此外,由于是基于預測的實際場景的概率(第一概率)確定的報點數(shù)量,因而得到的報點數(shù)量與實際場景較為符合,即得到的報點數(shù)量的準確度較高,并且,提高了報點預測的靈活性。
26、在預測結果用于指示觸控筆是否執(zhí)行預設書寫操作的實施例中,在上述根據(jù)預測結果,確定報點數(shù)量的步驟中,在一些實施例中,在預測結果指示觸控筆執(zhí)行預設書寫操作的情況下,確定報點數(shù)量為第二預設數(shù)量或0,第二預設數(shù)量小于第一預設數(shù)量;或,在預測結果指示觸控筆未執(zhí)行預設書寫操作的情況下,確定報點數(shù)量為第一預設數(shù)量。
27、本技術實施例提供的報點的預測方法,電子設備可基于姿態(tài)預測模型輸出的預測結果直接確定觸控筆是否執(zhí)行預設書寫操作,由于不需要基于預測結果進一步來確定觸控筆是否執(zhí)行預設書寫操作,因此,邏輯簡單,代碼上也便于實現(xiàn);并且,在觸控筆執(zhí)行預設書寫操作的情況下將預設的第二預設數(shù)量或0確定為報點數(shù)量,也不需要其他額外的公式折算報點數(shù)量,該過程也便于實現(xiàn),且一定程度上也節(jié)省了處理時長。
28、在本技術實施例中,上述n個歷史報點的報點信息可以包括各個歷史報點的時間信息、各個歷史報點的坐標信息、各個歷史報點的壓力信息中的至少一個,與確定的書寫特征有關。
29、在一些實施例中,報點信息包括各個歷史報點的坐標信息,特征信息包括軌跡彎曲度;以及,在上述根據(jù)報點信息,確定特征信息的步驟中,示例性地,根據(jù)各個歷史報點的坐標信息,確定移動距離和移動軌跡長度,移動距離用于表示n個歷史報點中第1個歷史報點和第n個歷史報點之間的直線距離,第1個歷史報點的時間早于第n個歷史報點的時間,移動軌跡長度用于表示基于n個歷史報點形成的軌跡的長度;根據(jù)移動距離和移動軌跡長度,確定軌跡彎曲度。
30、本技術實施例提供的報點的預測方法,采用上述移動距離和移動軌跡長度確定的軌跡彎曲度,能更好地表征基于n個歷史報點形成的軌跡的彎曲程度,有利于模型訓練的精確度以及使用時輸出的預測結果的精確度。
31、在上述特征信息包括軌跡彎曲度以及軌跡彎曲度基于移動距離和/或移動軌跡長度得到的實施例中,在一些實施例中,特征信息還包括移動距離和/或移動軌跡長度。
32、本技術實施例提供的報點的預測方法,在神經(jīng)網(wǎng)絡算法中,除了考慮主要特征,還需要考慮一些次要特征,才能從多個維度考慮對結果產(chǎn)生的影響因素,進而得到相對精確的數(shù)據(jù)??梢岳斫?,軌跡彎曲度是通過移動距離和移動軌跡長度計算得到的,是作為一個絕對的顯性特征被輸入至姿態(tài)預測模型中,但是,考慮到移動距離和移動軌跡長度有可能會受到其他因素的影響(例如,加減乘除其他數(shù)值得到移動距離或移動軌跡長度),進而導致基于移動距離和移動軌跡長度得到的軌跡彎曲度也有可能受到其他因素的影響,因此,將移動距離和/或移動軌跡長度這種相對原始的參數(shù)也作為書寫特征輸入至姿態(tài)預測模型中,由于考慮了更多的書寫特征,能夠提高預測結果的精確度。
33、在一些實施例中,報點信息包括各個歷史報點的壓力信息,特征信息包括壓力變化率;以及,在上述根據(jù)報點信息,確定特征信息的步驟中,示例性地,根據(jù)至少部分歷史報點的壓力信息,確定壓力變化率。
34、在上述根據(jù)至少部分歷史報點的壓力信息,確定壓力變化值的步驟中,在一些實施例中,將n個歷史報點的壓力中的最大壓力與第n個歷史報點的壓力之間的比值確定為壓力變化率,第n個歷史報點是n個歷史報點中時間最晚的報點。
35、本技術實施例提供的報點的預測方法,采用n個歷史報點的壓力中的最大壓力與第n個歷史報點的壓力之間的比值確定壓力變化率,即將最新報點的壓力與n個報點中的最大壓力進行比較得到壓力變化率,能更好的表征觸控筆在電子設備上進行書寫形成n個歷史報點的過程中的壓力變化程度,有利于模型訓練的精確度以及使用時輸出的預測結果的精確度。
36、在一些實施例中,報點信息包括各個歷史報點的坐標信息和時間信息,特征信息包括速度變化率;以及,在上述根據(jù)報點信息,確定特征信息的步驟中,示例性地,根據(jù)至少部分歷史報點的坐標信息和時間信息,確定速度變化率。
37、在上述根據(jù)至少部分歷史報點的坐標信息和時間信息,確定速度變化率的步驟中,在一些實施例中,根據(jù)n個歷史報點中相鄰兩個歷史報點的坐標信息和時間信息,確定n-1個速度;將n-1個速度中的最大速度與第n-1個速度之間的比值確定為速度變化率,第n-1個速度是n-1個速度中時間最晚的速度。
38、本技術實施例提供的報點的預測方法,采用n-1個速度中的最大速度與第n-1個速度之間的比值確定速度變化率,即將最新的速度與最大速度進行比較得到速度變化率,能更好的表征觸控筆在電子設備上進行書寫形成n個歷史報點的過程中的速度變化程度,有利于模型訓練的精確度以及使用時輸出的預測結果的精確度。
39、在一些實施例中,報點信息包括各個歷史報點的坐標信息,特征信息包括軌跡變化率;以及,在上述根據(jù)報點信息,確定特征信息的步驟中,示例性地,根據(jù)各個歷史報點的坐標信息,確定第一移動軌跡長度,第一移動軌跡長度用于表示基于n個歷史報點形成的軌跡的長度;根據(jù)第一移動軌跡長度和第二移動軌跡長度,確定軌跡變化率,第二移動軌跡長度用于表示基于上次預測過程中獲取的多個歷史報點形成的軌跡的長度。
40、本技術實施例提供的報點的預測方法,軌跡變化率用于表示基于n個歷史報點形成的軌跡相比于上次預測過程中獲取的多個歷史報點形成的軌跡的變化程度,實際體現(xiàn)的是前后兩段軌跡對應的書寫速度的變化,采用上述第一移動軌跡長度和第二移動軌跡長度確定的軌跡變化率,能更好地表征前后兩段軌跡對應的書寫速度的變化,有利于模型訓練的精確度以及使用時輸出的預測結果的精確度。
41、第二方面,提供一種電子設備,所述電子設備用于執(zhí)行上述第一方面提供的方法。具體地,所述電子設備可以包括用于執(zhí)行上述第一方面任一種可能實現(xiàn)方式的模塊。
42、第三方面,提供一種電子設備,包括處理器。該處理器與存儲器耦合,可用于執(zhí)行存儲器中的指令,以實現(xiàn)上述第一方面中任一種可能實現(xiàn)方式中的方法??蛇x地,該電子設備還包括存儲器??蛇x地,該裝置還包括通信接口,處理器與通信接口耦合。
43、第四方面,提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被裝置執(zhí)行時,使得所述裝置實現(xiàn)上述第一方面中任一種可能實現(xiàn)方式中的方法。
44、第五方面,提供一種包含指令的計算機程序產(chǎn)品,所述指令被計算機執(zhí)行時使得裝置實現(xiàn)上述第一方面中任一種可能實現(xiàn)方式中的方法。
45、第六方面,提供一種芯片,包括:輸入接口、輸出接口、處理器和存儲器,所述輸入接口、輸出接口、所述處理器以及所述存儲器之間通過內(nèi)部連接通路相連,所述處理器用于執(zhí)行所述存儲器中的代碼,當所述代碼被執(zhí)行時,所述處理器用于執(zhí)行上述第一方面中任一種可能實現(xiàn)方式中的方法。