參賽單位:蘇州大學
參賽隊伍:Gmirror
參賽作品:基于EAIDK-310的智能鏡系統(tǒng)
作者姓名:文晨銳
獲獎等級:第十五屆中國研究生電子設計競賽Arm中國企業(yè)命題二等獎
我的研電賽記憶
初識比賽時,一直對研電賽“激勵創(chuàng)新、鼓勵創(chuàng)業(yè)、提高素質(zhì)、強化實踐”的十六字宗旨印象深刻。研究生期間不像本科期間,各類電子競賽層出不窮,研究生的圈子范圍往往不大于實驗室范圍,然而實驗室內(nèi)研究方向大抵相似。因此,研電賽給予的一個與不同專業(yè)相互協(xié)作的機會,是我們研究生生涯中的一大福音。
我們的作品設定是專為女性量身打造了一款非接觸式的智能美妝鏡——Gmirror(Girl Mirror)。本文設計的智能鏡子以EAIDK 310為控制核心,核心功能為膚質(zhì)、膚色、臉型檢測,妝容選擇和對比分析,為女生提供了一套全面的出門方案。同時還帶有一些輔助功能,例如,時間、天氣顯示,重大新聞提示、音樂播放等,能夠帶給用戶更加舒適便利的體驗。所做研究工作與研究結(jié)論如下:
分析智能鏡子的研究背景,結(jié)合目前的市場需求,研究智能鏡子的實現(xiàn)方式和所配備功能。熟悉并掌握人臉識別、圖像處理等算法原理。學習前端開發(fā),實現(xiàn)交互式界面。
完成硬件選擇和整體電路設計,進行實現(xiàn)功能所需的軟件開發(fā),共分為交互式界面的系統(tǒng)設計和硬件模塊的功能實現(xiàn)兩方面。前者利用JavaScript語言開發(fā)智能鏡的顯示界面,同時融入了手勢識別,人臉屬性檢測以及語音同步等多個交互式功能,后者通過人體紅外感應模塊感應人體的靠近,并通過攝像頭采集圖像,電源開關(guān)進行通電等之,實現(xiàn)對智能鏡功能的完善以及整個系統(tǒng)穩(wěn)定有效運行。
對智能鏡的各功能模塊進行測試,查看其實際使用情況。結(jié)果表明,智能鏡能夠進行一系列的檢測,為用戶提供智能化的服務,實現(xiàn)了預期的目標。
拂曉
選題初始,結(jié)合團體人員專業(yè)和實驗室研究內(nèi)容,選取了Arm的非接觸智能控制設備的選題。于是,導師和我們便開始了漫長的幻想道路,我們登錄各大商品網(wǎng)站開始搜羅新奇事物,直到我們發(fā)掘到了一款智能試穿鏡子。就智能魔鏡這個項目來說,它能夠?qū)崿F(xiàn)我們自身專業(yè)的優(yōu)勢,又能夠滿足女生對于一款優(yōu)越的化妝鏡的幻想,最后還能夠滿足Arm對于非接觸智能控制設備的設定。
曙光
確定項目要做的內(nèi)容后,黎明的曙光方才展現(xiàn)。從設計魔鏡的功能到設計進程中的不斷改善,歷經(jīng)波折。需要考慮不同場景下的使用,以及實現(xiàn)的實時性與實際生活能否匹配,最后還需考慮的便是不同任務的時間分配問題。由于旨在做出一款美妝推薦型魔鏡,一開始,女生們的討論便如火如荼地展開了,有的想要一覽無余鏡中人的毛孔,有的想要清晰明確地指出鏡中人的膚色,還有想要魔鏡能夠提供美妝的手法以及美妝的內(nèi)容,以供學習實踐。在進行物件的選型時,充分考慮了想要實現(xiàn)的功能所要的硬件設施,由于Arm公司直接提供邊緣智能板子,便省去了部署硬件的選擇。
整個項目的進行主要是圍繞功能展開,為實現(xiàn)不同的功能,除了思考算法上的實現(xiàn)外,最后算法的部署,以及實時地測試,占據(jù)了我們絕大部分時間。有對實現(xiàn)的內(nèi)容滿意的地方,也有不滿的地方。早期對于linux系統(tǒng)不太熟悉,甚至對于這種推理板子也不太熟悉,前期花費了較多的時間去摸索,正是這種不斷摸索的精神,使人愈戰(zhàn)愈勇。最終能夠熟練使用板子以及在板子上開發(fā)前端與后端算法的鏈接,是我們最滿意的地方。對我們自己不滿的地方在于訓練的模型導出時,無法順利轉(zhuǎn)出onnx,最終使用傳統(tǒng)的圖像處理算法進行的一些功能實現(xiàn),這是最挫敗的地方。傳統(tǒng)的算法能夠快速給予反饋,但是準確率并不能滿足于我們對于魔鏡的幻想。但是挑戰(zhàn)的出現(xiàn)永遠帶來更好的實現(xiàn),既然準確率不高,那就自己提高,無論是從硬件上,還是算法上。在處理挑戰(zhàn)的階段,所有的人都處于一種特別“燃”的狀態(tài)下,即使最終到不了頂峰,但那時的我們永遠是最好的狀態(tài)。
破曉
黑夜逐漸下沉,東方的日光沖破了黑夜的身影。我們對著鏡子貢獻著自己的面龐,自己的皮膚,自己的手掌用來調(diào)試實物最后的顯示階段。里面有隱藏的手勢交互,還有天氣預報,科技新聞,日歷等插件,通過人體感應模塊,感應到人的靠近,隨后便開始進行膚質(zhì)膚色、臉型的檢測,將根據(jù)匹配到的臉型提供一定的妝容建議,界面會停留足夠的化妝時間,并通過手勢交互實現(xiàn)對妝容的對比度分析。
系統(tǒng)測試流程圖
后記
這個手勢識別來之不易,前期由于HSV空間調(diào)參,實現(xiàn)膚色分割,再通過凸包點實現(xiàn)的手勢識別。但是不同的人膚色略微有效差距,調(diào)參就很費時費力。好在經(jīng)典手勢可以最終實現(xiàn)交互!
智能鏡子的信息顯示模塊主要由顯示屏、原子鏡組成,信息顯示是智能鏡與用戶交互的基礎模塊,可以顯示包括天氣、新聞、時間等由互聯(lián)網(wǎng)獲得的信息。信息顯示模塊主要依托顯示技術(shù),在智能鏡上顯示用戶想要獲取的信息。最重要的是,鏡子本身的成像特性不會受到影響,因此要對顯示的信息提前進行篩選、排版,僅應使用鏡子的外角顯示信息,以此在中部留出足夠的空間作為普通鏡子使用。下圖是設計并實現(xiàn)的顯示界面。
下圖是小師妹友情貢獻的面龐來測試81個關(guān)鍵點,由于目前對于臉型的定義,僅僅是定性的定義,通過查閱資料,從定性的定義中結(jié)合81個關(guān)鍵點,設計出一套定量使用的臉型測試模板。
下圖為找到人臉的81個面部關(guān)鍵點,通過不同關(guān)鍵點的連線分割臉部化妝區(qū)域。常見的臉部化妝區(qū)域有眉眼、臉頰、嘴唇三大區(qū)域,分割這三個區(qū)域,將不同妝容的三個區(qū)域兩兩對比,對比計算同樣區(qū)域下的不同色彩點的數(shù)量,通過直接調(diào)用直方圖函數(shù)實現(xiàn),再將其標準化后進行對比。
下圖是疫情期間,合照不易,斗膽從以往合照中截出老師頭像用來拼接團體合照。