傅 駿,傅馨竹,吳高靜,彭皓鈺,諸冬婷
(1.四川工程職業(yè)技術學院 材料工程系,四川 德陽 618000;2.德陽市第五中學,四川 德陽 618000;3.四川工程職業(yè)技術學院 經濟管理系,四川 德陽 618000)
項目組在完成省級大學生創(chuàng)新創(chuàng)業(yè)課題“掌心的彝器——助力傳統文化”的過程中,調用百度AI 開放功能——圖像識別,通過選用Python 語言,探索了其SDK 和API 的使用流程,處理了對素材的要求,并提取了結果及其顯示方式(圖片或文本),最后采用Tkinter設計了用戶交互界面GUI,在標簽Label 中顯示結果或寫入文件[1-2]。
在https://login.bce.baidu.com/ 申請賬號并登錄,然后在控制臺中創(chuàng)建應用,選中全部開源功能,系統將自動生成APPID,API Key 及Secret Key,便獲得了各項功能的免費使用權限,可以查看各項功能的使用權限及次數說明。
通過“技術文檔”選擇API 或SDK 的代碼,加入APPID,API Key 及Secret Key。根據提示提供圖片,部分功能需要圖片的Base64 格式,加上print 語句打印結果,提供的結果是列表和字典,編寫代碼提取需要的信息。
采用Tkinter 設計用戶交互界面GUI,在標簽Label中顯示原圖片,在另外的標簽Label 上顯示結果或寫入圖片。
百度AI 提供了圖像識別的兩種開源實現途徑功能,分別通過SDK 或API 訪問,二者的使用方法各有千秋。使用API 需要先獲取令牌,過程稍顯復雜,對用戶要求較高且在訪問的過程中,要保持網絡暢通。
動物識別、植物識別、菜品識別等可以直接使用圖片,如jpg,png 格式等;人臉檢測、人臉比對需要提供Base64 格式。將圖片轉化為Base64 格式的代碼為:
(1)拷貝“快速入門”和“接口說明”中的代碼,一共兩段代碼輸入到Python。
(2) 修改APPID、API Key、Secret Key及圖片example.jpg。
(3)將最后1 行client.animalDetect(image)修改為2 行:
按照https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu 的提示獲取訪問令牌,再按各類識別進入不同的網址,如動物識別的網址為animal、植物識別則為plant。
百度AI 的識別結果,以列表和字典兩種類型混合顯示。根據用戶設置的參數不同,兩種類別的識別結果所包含的字段也不同,一般包括name,score 或probability。要注意識別結果score 或probability,有的為字符型,有的為數字型。
對圖像特效、圖像增強,結果還需要再次寫成圖片。寫成jpg 格式的代碼是,
采Python 原生Tkinter 設計用戶交互界面GUI。一般將窗體設計為尺寸不可變。在設計時,要隨時注重用戶體驗,提示出錯信息,顯示結果簡介,字體字號清晰。
開源人工智能平臺能夠避免用戶接觸高深的數學原理,有助于推廣人工智能技術的應用。項目組基于百度AI 開放功能——圖像識別和EasyDL 平臺,選用Python 語言,巧妙地結合開源平臺的API 和SDK 功能,進行了二次開發(fā),獲得了一系列成果。