2016年前,市場上開發的很多計步軟體基本都是通過重力感應來計算步數,重力感應模式的軟體一般使用頻率很高,且其原理和軟體應用模式都非常簡單。那麼,重力感應如何計算我們的步數呢?也就是手機每震動一次,軟體內部的算法就算你走了一步。這個方法其實很好用來鑽空子。因為你只要搖晃一下手機,就相當於「走了一步」。因此,許多網友用搖晃手機的方式來給自己的步數「作弊」,每天為自己增加些步數,微信、支付寶等大型APP可是可以看到排名的啊。因為這個漏洞,各個計步軟體可算是傷透了腦筋,許多計步軟體都加大對計步算法開發的投入。
但是,現在隨著計步軟體算法的不斷發展和升級,以及手機內置傳感器敏感度的不斷增加,對於網友來說,這種簡單粗暴的作弊方法越來越行不通了。
我們可以看到,現在微信等主流APP的計步程序都是通過將手機內置的陀螺儀、重力感應器、加速度傳感器等等一系列傳感器,組合起來計算出我們每個人每天行走的步數的。
其中,陀螺儀可以測量出手機的角度,經過一系列機器的計算,可以檢測到人體重心的偏移方向。因為當我們在行走的時候,手中握著的手機,或者放在口袋中的手機是會隨著人體運動不斷出現角度偏移的,當手機中的陀螺儀檢測到不間斷性而且有變化規律的角度偏移時,系統就會開始判斷用戶是否正在走路。
通過測量出的角度,我們手機中的陀螺儀還能判斷用戶是在走路、跑步、騎自行車還是平穩的駕駛汽車。這是因為跑步的時候,對手機而言,人體正在做激烈運動,重心角度的偏移會發生劇烈且持續性很強的大範圍變化。而人體在行走時,變化範圍很大,但是變化速度不會太過激烈。而在騎車的過程中,相比人體行走或者跑步時,人的運動姿態會顯得更加平穩,尤其重心幾乎不會發生大方向的偏移,這時陀螺儀收集到的變化角度會更小。同理,我們在平穩的駕駛汽車時也是一樣的。
因此,為了更高的精確度,一些計算技術比較高的計步軟體不會把騎自行車所產生的步數也計算到正常步數當中去。
那麼,加速度傳感器的作用是什麼呢?當我們在走路時,都會產生一個比較穩定的非勻速加速度,這與騎車時相對穩定的加速度幾乎完全不同。通過手機上的加速度傳感器,也可以輕鬆判斷我們是在走路還是跑步還是騎自行車(駕駛汽車更是如此)。
而對精確度追求更加高的計步軟體還會利用GPS來定位我們每一個人的運動路線,通過後臺公式計算出平均時速,來判斷人體是處於走路、跑步、騎自行車還是駕駛汽車的狀態。因為畢竟相比起走路和跑步,騎自行車和駕駛汽車的速度要快得多。
但是,即使現在手機上所擁有的傳感器已經非常豐富多樣,計步軟體內部的算法也更加嚴謹,可以基本判斷人體所處的運動狀態了。可是,畢竟人每天的運動的姿態和形式是非常多樣且頻繁的。在此基礎上,我們的計步軟體偶爾也還是會出現步數漏計或者多計的情況。
不管怎麼說,我們的軟體也是在慢慢的進步當中。欲速則不達,未來計步算法的演變如何呢?還是讓我們拭目以待吧。你們覺得呢?