自從微信推出走路排行榜以來(lái),不少小伙伴想出了各種方法來(lái)霸占排行榜,其中就有人將運(yùn)動(dòng)手環(huán)綁在狗狗身上。那么手環(huán)綁在狗身上,算不算微信步數(shù)呢?微信官方首次揭秘:要理解這些問(wèn)題,需要先用1分鐘解釋一個(gè)簡(jiǎn)單的道理,“步數(shù)”的依據(jù)究竟是什么?
步數(shù)背后的秘密:加速度
即使看似勻速的閑庭信步,對(duì)我們攜帶的設(shè)備來(lái)說(shuō)(如手機(jī)、運(yùn)動(dòng)手環(huán)),每一步都經(jīng)歷了過(guò)山車般的“加速度”變化。一般來(lái)說(shuō),抬腿邁出一步的時(shí)候,加速度是最大的。我們把它放到一個(gè)坐標(biāo)軸上,加速度的變化看起來(lái)就像一個(gè)cos波形。
(x軸表示時(shí)間,y軸表示加速度)
兩個(gè)波峰之間,可以被認(rèn)為是一步。如果連續(xù)出現(xiàn)了8個(gè)(不同硬件廠商有不同標(biāo)準(zhǔn))波峰,就可以基本確定這個(gè)人在運(yùn)動(dòng)狀態(tài)。設(shè)備就開(kāi)始把這些前面的波動(dòng)以及后面的波動(dòng),算成步數(shù)。這就是最基本的計(jì)步原理了。
在實(shí)際場(chǎng)景中,算法還要去掉一系列的“噪音”。比如我們走路時(shí),手機(jī)放兜里會(huì)上下抖動(dòng),產(chǎn)生不同方向的加速度。這時(shí)算法就要判斷并去掉“噪音”,只留下最主要的運(yùn)動(dòng)特征。
而這些工作是由一個(gè)采集器(加速度傳感器)和一個(gè)處理器(SensorHub,協(xié)處理器)共同完成的。采集器采集加速度信息,并提供給處理器進(jìn)行分析。目前iPhone5s及以上的蘋果手機(jī)和部分安卓手機(jī)都集成了這個(gè)采集、分析的框架。而運(yùn)動(dòng)手環(huán)等外接設(shè)備,也是基于類似框架對(duì)數(shù)據(jù)采集和分析后,通過(guò)藍(lán)牙傳給手機(jī)。(是的,以上都是硬件廠商解決的,還沒(méi)有說(shuō)到微信,稍安毋躁。)
那么,現(xiàn)在你已經(jīng)對(duì)計(jì)步的基本原理有了一定的了解。頓時(shí)覺(jué)得好簡(jiǎn)單有沒(méi)有!就讓我們看一看下面幾個(gè)簡(jiǎn)單的例子吧。
問(wèn):原地踏步算嗎?
答:算啊,跟走路一樣的。因?yàn)槟阍靥げ剑m然沒(méi)有相對(duì)于地面的位移,但加速度是存在的。同理,在跑步機(jī)上跑步,放心,步數(shù)都記著呢。
問(wèn):坐著抖腿呢?
答:這與你抖腿的幅度和頻率都有關(guān),且看少年你骨骼驚奇還是手機(jī)廠商算法高深。任何震動(dòng)會(huì)被采集到,但不同硬件廠商算法對(duì)這些場(chǎng)景處理可能不一樣。
問(wèn):綁狗身上行嗎?
答:既然你這么問(wèn)了,那我恐怕只能說(shuō)這與狗狗的性格有關(guān)。文靜一些的,或者幼犬,走路比較慢的話,它邁步產(chǎn)生的加速度不一定有人那么高,達(dá)不到算法的閥值。性格活潑的,或者大一些的狗狗,運(yùn)動(dòng)加速度特征與人相似,“騙過(guò)”算法的可能性較高。不同手機(jī)廠商也有不同的算法優(yōu)化方案。
問(wèn):我生活三點(diǎn)一線,一天就幾千步,如果有機(jī)會(huì)坐火車,是不是可以狠狠刷一把步數(shù)?
答:計(jì)步的基本原理不是采集距離,也不是采集速度,而是采集加速度。不管火車走多遠(yuǎn)、跑多快,大多數(shù)情況是勻速(或勻加減速)運(yùn)動(dòng),加速度變化不顯著,且無(wú)法形成與走路相似的波形。火車上,如果你不走路的話,計(jì)算步數(shù)的可能性是非常小的。
追問(wèn):那在火車上搖手機(jī)呢?
答:搖也可以啊,因?yàn)橛幸粋€(gè)縱向加速度,在縱向上會(huì)產(chǎn)生波紋。但這與火車無(wú)關(guān),和原地抖腿沒(méi)有本質(zhì)區(qū)別。
問(wèn):為什么我坐公交車就算步數(shù)了呢?
答:對(duì),公交車上被計(jì)算步數(shù)的概率是比較高的。路況有一定影響,繁忙路段行駛時(shí),走走停停都會(huì)產(chǎn)生加速度的變化。還和司機(jī)的開(kāi)車習(xí)慣有關(guān),如果司機(jī)不停地剎車,或者顛得厲害,加速度影響就大。如果遇上開(kāi)車開(kāi)得平穩(wěn)又熟悉路況的本地老司機(jī),車上乘客比較不容易計(jì)步。
問(wèn):微信運(yùn)動(dòng)的步數(shù)計(jì)算周期是什么?晚上10點(diǎn)排行榜以后步數(shù)還算嗎?
答:零點(diǎn)到夜里24點(diǎn)。但微信運(yùn)動(dòng)排行榜在晚上10點(diǎn)推送,用戶一般都在那個(gè)時(shí)候查看排行、相互點(diǎn)贊。如果你晚上11點(diǎn)去跑步的話,記上是記上了,但別人都沒(méi)看到,就少了一些攀比的樂(lè)趣。步數(shù)過(guò)零點(diǎn)清零。
問(wèn):廠商各有算法,不同設(shè)備用戶在微信運(yùn)動(dòng)上一起排名,如何公平呢?
答:實(shí)際上,在抖腿、公交之外,走路、跑步才是日常運(yùn)動(dòng)最主要的場(chǎng)景。這些基本場(chǎng)景的算法,業(yè)界是較為統(tǒng)一的。微信對(duì)主要場(chǎng)景也有一套測(cè)試流程,確保不同設(shè)備計(jì)入的步數(shù)差距不大。對(duì)極端場(chǎng)景,也會(huì)持續(xù)優(yōu)化算法。
最后還有你們一直想問(wèn)的,作弊問(wèn)題。
其實(shí)可以作弊的地方有很多。特別是安卓,作為一個(gè)開(kāi)源的系統(tǒng),人為變更上報(bào)數(shù)據(jù)都是可能的。微信有一套反作弊機(jī)制,比如在用戶手機(jī)端對(duì)速度做簡(jiǎn)單的合法性校驗(yàn)。假如一秒鐘就走了10步,這種數(shù)據(jù)就可能被系統(tǒng)直接抹掉。而且還給他暫停計(jì)步,讓他覺(jué)得作弊沒(méi)用。
如你所想,抖腿、綁狗,小小“作弊”,完全杜絕是不太可能的。對(duì)于嚴(yán)重、明顯的連續(xù)作弊,微信會(huì)請(qǐng)他進(jìn)入黑名單,他的數(shù)據(jù)不會(huì)再被別人看到,就只能自嗨了。