皮禮明
(派博生命科技(深圳)有限公司,深圳 518000)
智能手表的發(fā)展日新月異,從蘋果iwatch到華為的血壓手表Watch D,功能多種多樣,在智能手機(jī)市場趨于飽和同質(zhì)化的背景下,可穿戴設(shè)備作為結(jié)合了智能性和便攜性的產(chǎn)物,是消費(fèi)電子市場的下一個發(fā)展契機(jī)[1]。尤其是智能手表為代表的穿戴式設(shè)備,發(fā)展日新月異,但智能手表作為結(jié)合傳統(tǒng)手表的升級,目前更多是充當(dāng)手機(jī)的配件,且手表唯一不變的永恒屬性就是時間。輕智能手表就是結(jié)合傳統(tǒng)實(shí)體表針和表盤,融合智能芯片,既有傳統(tǒng)手表的機(jī)械感,又可以連接手機(jī)與之交互,包括接收手表的運(yùn)動數(shù)據(jù),手表網(wǎng)絡(luò)校時、倒計時等。但智能化的手表由于復(fù)雜度提升,非機(jī)芯專用驅(qū)動芯片、整體工藝不成熟等原因,導(dǎo)致會出現(xiàn)走時誤差,這個誤差相對傳統(tǒng)手表要大得多,所以需要解決校時的問題。
在這一類手表中,由于硬件設(shè)計的不同,有的調(diào)時通過表冠手動調(diào)整指針,有的通過手機(jī)App 設(shè)置好時間,無線發(fā)送給手表,手表控制機(jī)芯調(diào)整指針到準(zhǔn)確的時間。針對后者,通常會有三種方式校準(zhǔn):
(1)在校準(zhǔn)前,讓手表時分秒針都?xì)w到12點(diǎn),手機(jī)App再把當(dāng)前網(wǎng)絡(luò)時間發(fā)送到手表,手表計算時分秒針需要移動的度數(shù)。這種方式的優(yōu)點(diǎn)是手機(jī)App端可以一鍵操作,缺點(diǎn)是手表的調(diào)整時間由于每次都需要“歸零”,導(dǎo)致調(diào)整用時會大大增加。
(2)人工在手機(jī)App端輸入手表當(dāng)前的時間,手機(jī)App計算手表當(dāng)前時間與網(wǎng)絡(luò)時間的偏差之后,發(fā)送偏差到手表,手表依據(jù)偏差調(diào)整當(dāng)前的表針,這種方式的優(yōu)點(diǎn)是表針運(yùn)動時間少,缺點(diǎn)是還需要人工在手機(jī)App端輸入手表的當(dāng)前時間。
(3)在App 端設(shè)置一個虛擬表盤,通過手動順時針或逆時針滑動表盤,手表指針跟隨順時針或逆時針轉(zhuǎn)動,通過人眼識別手表指針指到了標(biāo)準(zhǔn)時間位置,停止滑動即可,此方案的問題是需要手動不斷觸摸虛擬表盤,且人眼同時緊緊盯住手表表針,用戶操作體驗(yàn)差、效率低,還不及傳統(tǒng)表利用表冠來調(diào)試。手表最終停止的位置依據(jù)人眼和虛擬表盤,誤差可能較大。
針對目前輕智能手表自動校時的不足,在方法(2)的基礎(chǔ)上提出了一種基于圖像識別的方式來自動快速校時。可以利用手機(jī)的攝像頭快速采集當(dāng)前表盤的圖像,替代人工輸入當(dāng)前表盤時間,繼而手機(jī)App 解析出表盤上面表針的時間,本方法自動化程度更高,準(zhǔn)確度高,滿足實(shí)際應(yīng)用的需求。
實(shí)現(xiàn)表針的識別關(guān)鍵在于圖像分割,圖像分割是指將圖像劃分成互不相交的、有意義的子區(qū)域,在同一個區(qū)域的像素點(diǎn)具有一定的相關(guān)性,不同區(qū)域的像素點(diǎn)存在一定的差異性,即是對圖片中有相同性質(zhì)的像素賦予相同標(biāo)簽的過程[2]。通過圖像識別的方式來識別表針時間,需要做表盤、時針、分針和/或秒針的目標(biāo)識別,再計算出各表針相對表盤上參考時刻刻度線的偏移角度,最后轉(zhuǎn)換為當(dāng)前智能手表的時間信息。算法處理流程如圖1。

圖1 算法處理流程
圖像的輸入可以采用掃一掃的方式而不是拍照識別,一個主要原因是拍照識別需要用戶主動觸發(fā),而用戶主動觸發(fā)的情況下,只會進(jìn)行一次識別嘗試,一旦沒有識別清楚,用戶的感受就會很差,另外由于手表一般是戴在手上的,用戶另一只手操作手機(jī),面對手機(jī)屏幕越來越大,幾乎不可能單手操作聚焦、拍照等情況下,采用掃一掃方式可以大幅提高用戶體驗(yàn)和智能程度。總體實(shí)現(xiàn)步驟如下:
用戶的掃一掃界面對準(zhǔn)手表刻度盤掃描,盡量把表盤的圓心和12 點(diǎn)位置和手機(jī)端的虛擬位置重合,智能手機(jī)端會自動選取一張圖像清晰的圖片送入后續(xù)程序進(jìn)行處理。其中,掃描過程結(jié)束,智能手機(jī)呈現(xiàn)給用戶的是等待片刻校正進(jìn)度條。這里我們選取市面常用的一款智能手表,其表盤圖像如圖2(a)所示。

圖2 表針的分割
由于彩色圖像包含R、G、B 三個分量,而灰度化是使得R、G、B三個分量相等的過程,灰度圖像中的一個像素僅有一種采樣顏色,其灰度是位于黑色與白色之間的灰度顏色,灰度值大的像素點(diǎn)比較亮,反之比較暗,像素值最大為255(表示白色),像素值最小為0(表示黑色)。輸入圖像灰度化之后,用于不均勻光照的影響,為了后面二值化處理更方便,這里需要對灰度圖像進(jìn)行增強(qiáng),圖像增強(qiáng)在預(yù)處理過程中一直占據(jù)著重要地位[3]。這里我們可以采用頂帽變換(即灰度圖像減去開運(yùn)算后的圖像)的方法,增強(qiáng)黑背景下的亮圖像。
二值化是圖像分割的一種最簡單的方法。圖像二值化就是將數(shù)字圖像轉(zhuǎn)化為二值黑白像素的矩陣形式,將某些區(qū)域從背景中分離出來,為后續(xù)圖像的邊緣提取及其他圖像處理奠定基礎(chǔ)[4]。二值化可以把灰度圖像轉(zhuǎn)換成二值圖像,每一個像素的取值只有0 或1,把大于某個臨界灰度值的像素灰度設(shè)為1(黑色),把小于這個臨界值的像素灰度設(shè)為0(白色),這樣就可以得到一個黑白圖像,二值化后的效果如圖2(b)所示。為了把表針從圖像中分割出來,采用的方法是計算圖像中最大連通域方法,因?yàn)闀r分秒針是圍繞一個軸心連接的,最大連通域是一種常用的圖像分割方法,一般方法是對圖形查找輪廓,這里找到表針為最大輪廓,也就是最大連通域,這樣就把表針單獨(dú)分離出來,去除了圖像中一些背景噪聲,依據(jù)表針軸得到表的圓心,這個圓心就是表針坐標(biāo)系的圓心,對后續(xù)的表針的角度的準(zhǔn)確計算有重要作用,同時對直線的判斷有作用,計算了最大連通域后的效果如圖2(c)所示。
利用霍夫變換檢測圖像的直線,霍夫變化尋找直線可以更好地減少圖像背景噪聲。霍夫變換也可以檢測圓弧、拋物線等。圖像空間的一個點(diǎn)(x0,y0),可以通過y0=kx0+b來表示,轉(zhuǎn)換到參數(shù)空間就是:b=y0-kx0,圖像空間的一個點(diǎn)就和參數(shù)空間的一條直線一一對應(yīng),假如圖像空間中有兩條直線,那么對應(yīng)參數(shù)空間就有兩個峰值點(diǎn)。在參數(shù)空間相交的直線最多的點(diǎn),就是需要找的對應(yīng)圖像空間的直線。一般我們用極坐標(biāo)方式來表示這個參數(shù)空間:r=xcosθ+ysinθ,這樣圖像空間的每個點(diǎn)(x,y)就對應(yīng)極坐標(biāo)空間(r,θ)的正弦曲線,在極坐標(biāo)空間中檢測曲線相交的點(diǎn)來確定圖像空間中的直線。圖3 是經(jīng)過霍夫變化檢測到三條直線,同時標(biāo)記檢測出來的直線的首尾兩點(diǎn)。根據(jù)直線的長短判斷出時針、分針和秒針。

圖3 時分秒針判斷
依據(jù)霍夫變換得到的三條直線方程,可以利用反三角計算出相應(yīng)的角度,利用角度就可以推算出時間,市針、分針、秒針對應(yīng)的時間。計算公式分表為:
小時計算公式:

分針計算公式:

秒針計算公式:

輸入圖像得到的三條直線方程,反三角計算得到時針是275°,分鐘228°,秒針108°,繼而通過時證、分鐘和秒針計算公式得到時間是9點(diǎn)38分18秒。注意這里的時分秒取整各不相同,時針最小分辨率是1,計算得到的結(jié)果直接向下取整,分針和秒針最小分辨率是0.5,計算得到的結(jié)果直接四舍五入。
通過圖像識別的方式快速準(zhǔn)確識別出常規(guī)表盤的指針的實(shí)際時間,相當(dāng)于把傳統(tǒng)的手表進(jìn)行了數(shù)字和信息化升級,這種識別方法可以拓展更廣泛的應(yīng)用,隨著物聯(lián)網(wǎng)的發(fā)展,底層數(shù)字化是必經(jīng)之路,目前進(jìn)行更多是把傳統(tǒng)的設(shè)備升級改造成智能化的設(shè)備,但智能設(shè)備帶來的可能是頻繁的充電、質(zhì)感的下降等,所以智能化的升級需要考慮交互及用戶的使用,未來在物聯(lián)網(wǎng)的發(fā)展浪潮中,會有更多基于圖像識別的方法,來提升用戶的交互體驗(yàn)。