皮禮明
(派博生命科技(深圳)有限公司,深圳 518000)
智能手表的發(fā)展日新月異,從蘋(píng)果iwatch到華為的血壓手表Watch D,功能多種多樣,在智能手機(jī)市場(chǎng)趨于飽和同質(zhì)化的背景下,可穿戴設(shè)備作為結(jié)合了智能性和便攜性的產(chǎn)物,是消費(fèi)電子市場(chǎng)的下一個(gè)發(fā)展契機(jī)[1]。尤其是智能手表為代表的穿戴式設(shè)備,發(fā)展日新月異,但智能手表作為結(jié)合傳統(tǒng)手表的升級(jí),目前更多是充當(dāng)手機(jī)的配件,且手表唯一不變的永恒屬性就是時(shí)間。輕智能手表就是結(jié)合傳統(tǒng)實(shí)體表針和表盤(pán),融合智能芯片,既有傳統(tǒng)手表的機(jī)械感,又可以連接手機(jī)與之交互,包括接收手表的運(yùn)動(dòng)數(shù)據(jù),手表網(wǎng)絡(luò)校時(shí)、倒計(jì)時(shí)等。但智能化的手表由于復(fù)雜度提升,非機(jī)芯專(zhuān)用驅(qū)動(dòng)芯片、整體工藝不成熟等原因,導(dǎo)致會(huì)出現(xiàn)走時(shí)誤差,這個(gè)誤差相對(duì)傳統(tǒng)手表要大得多,所以需要解決校時(shí)的問(wèn)題。
在這一類(lèi)手表中,由于硬件設(shè)計(jì)的不同,有的調(diào)時(shí)通過(guò)表冠手動(dòng)調(diào)整指針,有的通過(guò)手機(jī)App 設(shè)置好時(shí)間,無(wú)線(xiàn)發(fā)送給手表,手表控制機(jī)芯調(diào)整指針到準(zhǔn)確的時(shí)間。針對(duì)后者,通常會(huì)有三種方式校準(zhǔn):
(1)在校準(zhǔn)前,讓手表時(shí)分秒針都?xì)w到12點(diǎn),手機(jī)App再把當(dāng)前網(wǎng)絡(luò)時(shí)間發(fā)送到手表,手表計(jì)算時(shí)分秒針需要移動(dòng)的度數(shù)。這種方式的優(yōu)點(diǎn)是手機(jī)App端可以一鍵操作,缺點(diǎn)是手表的調(diào)整時(shí)間由于每次都需要“歸零”,導(dǎo)致調(diào)整用時(shí)會(huì)大大增加。
(2)人工在手機(jī)App端輸入手表當(dāng)前的時(shí)間,手機(jī)App計(jì)算手表當(dāng)前時(shí)間與網(wǎng)絡(luò)時(shí)間的偏差之后,發(fā)送偏差到手表,手表依據(jù)偏差調(diào)整當(dāng)前的表針,這種方式的優(yōu)點(diǎn)是表針運(yùn)動(dòng)時(shí)間少,缺點(diǎn)是還需要人工在手機(jī)App端輸入手表的當(dāng)前時(shí)間。
(3)在A(yíng)pp 端設(shè)置一個(gè)虛擬表盤(pán),通過(guò)手動(dòng)順時(shí)針或逆時(shí)針滑動(dòng)表盤(pán),手表指針跟隨順時(shí)針或逆時(shí)針轉(zhuǎn)動(dòng),通過(guò)人眼識(shí)別手表指針指到了標(biāo)準(zhǔn)時(shí)間位置,停止滑動(dòng)即可,此方案的問(wèn)題是需要手動(dòng)不斷觸摸虛擬表盤(pán),且人眼同時(shí)緊緊盯住手表表針,用戶(hù)操作體驗(yàn)差、效率低,還不及傳統(tǒng)表利用表冠來(lái)調(diào)試。手表最終停止的位置依據(jù)人眼和虛擬表盤(pán),誤差可能較大。
針對(duì)目前輕智能手表自動(dòng)校時(shí)的不足,在方法(2)的基礎(chǔ)上提出了一種基于圖像識(shí)別的方式來(lái)自動(dòng)快速校時(shí)??梢岳檬謾C(jī)的攝像頭快速采集當(dāng)前表盤(pán)的圖像,替代人工輸入當(dāng)前表盤(pán)時(shí)間,繼而手機(jī)App 解析出表盤(pán)上面表針的時(shí)間,本方法自動(dòng)化程度更高,準(zhǔn)確度高,滿(mǎn)足實(shí)際應(yīng)用的需求。
實(shí)現(xiàn)表針的識(shí)別關(guān)鍵在于圖像分割,圖像分割是指將圖像劃分成互不相交的、有意義的子區(qū)域,在同一個(gè)區(qū)域的像素點(diǎn)具有一定的相關(guān)性,不同區(qū)域的像素點(diǎn)存在一定的差異性,即是對(duì)圖片中有相同性質(zhì)的像素賦予相同標(biāo)簽的過(guò)程[2]。通過(guò)圖像識(shí)別的方式來(lái)識(shí)別表針時(shí)間,需要做表盤(pán)、時(shí)針、分針和/或秒針的目標(biāo)識(shí)別,再計(jì)算出各表針相對(duì)表盤(pán)上參考時(shí)刻刻度線(xiàn)的偏移角度,最后轉(zhuǎn)換為當(dāng)前智能手表的時(shí)間信息。算法處理流程如圖1。
圖1 算法處理流程
圖像的輸入可以采用掃一掃的方式而不是拍照識(shí)別,一個(gè)主要原因是拍照識(shí)別需要用戶(hù)主動(dòng)觸發(fā),而用戶(hù)主動(dòng)觸發(fā)的情況下,只會(huì)進(jìn)行一次識(shí)別嘗試,一旦沒(méi)有識(shí)別清楚,用戶(hù)的感受就會(huì)很差,另外由于手表一般是戴在手上的,用戶(hù)另一只手操作手機(jī),面對(duì)手機(jī)屏幕越來(lái)越大,幾乎不可能單手操作聚焦、拍照等情況下,采用掃一掃方式可以大幅提高用戶(hù)體驗(yàn)和智能程度??傮w實(shí)現(xiàn)步驟如下:
用戶(hù)的掃一掃界面對(duì)準(zhǔn)手表刻度盤(pán)掃描,盡量把表盤(pán)的圓心和12 點(diǎn)位置和手機(jī)端的虛擬位置重合,智能手機(jī)端會(huì)自動(dòng)選取一張圖像清晰的圖片送入后續(xù)程序進(jìn)行處理。其中,掃描過(guò)程結(jié)束,智能手機(jī)呈現(xiàn)給用戶(hù)的是等待片刻校正進(jìn)度條。這里我們選取市面常用的一款智能手表,其表盤(pán)圖像如圖2(a)所示。
圖2 表針的分割
由于彩色圖像包含R、G、B 三個(gè)分量,而灰度化是使得R、G、B三個(gè)分量相等的過(guò)程,灰度圖像中的一個(gè)像素僅有一種采樣顏色,其灰度是位于黑色與白色之間的灰度顏色,灰度值大的像素點(diǎn)比較亮,反之比較暗,像素值最大為255(表示白色),像素值最小為0(表示黑色)。輸入圖像灰度化之后,用于不均勻光照的影響,為了后面二值化處理更方便,這里需要對(duì)灰度圖像進(jìn)行增強(qiáng),圖像增強(qiáng)在預(yù)處理過(guò)程中一直占據(jù)著重要地位[3]。這里我們可以采用頂帽變換(即灰度圖像減去開(kāi)運(yùn)算后的圖像)的方法,增強(qiáng)黑背景下的亮圖像。
二值化是圖像分割的一種最簡(jiǎn)單的方法。圖像二值化就是將數(shù)字圖像轉(zhuǎn)化為二值黑白像素的矩陣形式,將某些區(qū)域從背景中分離出來(lái),為后續(xù)圖像的邊緣提取及其他圖像處理奠定基礎(chǔ)[4]。二值化可以把灰度圖像轉(zhuǎn)換成二值圖像,每一個(gè)像素的取值只有0 或1,把大于某個(gè)臨界灰度值的像素灰度設(shè)為1(黑色),把小于這個(gè)臨界值的像素灰度設(shè)為0(白色),這樣就可以得到一個(gè)黑白圖像,二值化后的效果如圖2(b)所示。為了把表針從圖像中分割出來(lái),采用的方法是計(jì)算圖像中最大連通域方法,因?yàn)闀r(shí)分秒針是圍繞一個(gè)軸心連接的,最大連通域是一種常用的圖像分割方法,一般方法是對(duì)圖形查找輪廓,這里找到表針為最大輪廓,也就是最大連通域,這樣就把表針單獨(dú)分離出來(lái),去除了圖像中一些背景噪聲,依據(jù)表針軸得到表的圓心,這個(gè)圓心就是表針坐標(biāo)系的圓心,對(duì)后續(xù)的表針的角度的準(zhǔn)確計(jì)算有重要作用,同時(shí)對(duì)直線(xiàn)的判斷有作用,計(jì)算了最大連通域后的效果如圖2(c)所示。
利用霍夫變換檢測(cè)圖像的直線(xiàn),霍夫變化尋找直線(xiàn)可以更好地減少圖像背景噪聲?;舴蜃儞Q也可以檢測(cè)圓弧、拋物線(xiàn)等。圖像空間的一個(gè)點(diǎn)(x0,y0),可以通過(guò)y0=kx0+b來(lái)表示,轉(zhuǎn)換到參數(shù)空間就是:b=y0-kx0,圖像空間的一個(gè)點(diǎn)就和參數(shù)空間的一條直線(xiàn)一一對(duì)應(yīng),假如圖像空間中有兩條直線(xiàn),那么對(duì)應(yīng)參數(shù)空間就有兩個(gè)峰值點(diǎn)。在參數(shù)空間相交的直線(xiàn)最多的點(diǎn),就是需要找的對(duì)應(yīng)圖像空間的直線(xiàn)。一般我們用極坐標(biāo)方式來(lái)表示這個(gè)參數(shù)空間:r=xcosθ+ysinθ,這樣圖像空間的每個(gè)點(diǎn)(x,y)就對(duì)應(yīng)極坐標(biāo)空間(r,θ)的正弦曲線(xiàn),在極坐標(biāo)空間中檢測(cè)曲線(xiàn)相交的點(diǎn)來(lái)確定圖像空間中的直線(xiàn)。圖3 是經(jīng)過(guò)霍夫變化檢測(cè)到三條直線(xiàn),同時(shí)標(biāo)記檢測(cè)出來(lái)的直線(xiàn)的首尾兩點(diǎn)。根據(jù)直線(xiàn)的長(zhǎng)短判斷出時(shí)針、分針和秒針。
圖3 時(shí)分秒針判斷
依據(jù)霍夫變換得到的三條直線(xiàn)方程,可以利用反三角計(jì)算出相應(yīng)的角度,利用角度就可以推算出時(shí)間,市針、分針、秒針對(duì)應(yīng)的時(shí)間。計(jì)算公式分表為:
小時(shí)計(jì)算公式:
分針計(jì)算公式:
秒針計(jì)算公式:
輸入圖像得到的三條直線(xiàn)方程,反三角計(jì)算得到時(shí)針是275°,分鐘228°,秒針108°,繼而通過(guò)時(shí)證、分鐘和秒針計(jì)算公式得到時(shí)間是9點(diǎn)38分18秒。注意這里的時(shí)分秒取整各不相同,時(shí)針最小分辨率是1,計(jì)算得到的結(jié)果直接向下取整,分針和秒針最小分辨率是0.5,計(jì)算得到的結(jié)果直接四舍五入。
通過(guò)圖像識(shí)別的方式快速準(zhǔn)確識(shí)別出常規(guī)表盤(pán)的指針的實(shí)際時(shí)間,相當(dāng)于把傳統(tǒng)的手表進(jìn)行了數(shù)字和信息化升級(jí),這種識(shí)別方法可以拓展更廣泛的應(yīng)用,隨著物聯(lián)網(wǎng)的發(fā)展,底層數(shù)字化是必經(jīng)之路,目前進(jìn)行更多是把傳統(tǒng)的設(shè)備升級(jí)改造成智能化的設(shè)備,但智能設(shè)備帶來(lái)的可能是頻繁的充電、質(zhì)感的下降等,所以智能化的升級(jí)需要考慮交互及用戶(hù)的使用,未來(lái)在物聯(lián)網(wǎng)的發(fā)展浪潮中,會(huì)有更多基于圖像識(shí)別的方法,來(lái)提升用戶(hù)的交互體驗(yàn)。