摘要:本文介紹了中小學學校環(huán)境下,人工智能模型訓練所需的個性化圖像數據集的設計、收集、制作等過程,其中的關鍵技術是運用Python語言編程,對大批量的圖像進行分割、重命名、分類保存等批處理操作,快速高效地生成個性化的數據集。
關鍵詞:個性化數據集;Python;圖像分割;批處理;人工智能
中圖分類號:G434 ?文獻標識碼:A ?論文編號:1674-2117(2022)13-0070-03
人工智能的智能識別算法往往取決于人工智能模型的訓練,而數據集則是人工智能模型訓練的基礎??v觀網絡資源,雖有著海量的資源網站,卻難以找到符合項目的數據集,更別提能滿足個性化的人工智能模型訓練的需求了。因此,本文將以電路、天氣、表情等圖標為例,對中小學校園中個性化數據集創(chuàng)建展開討論。
● 問題提出
由于校園中人工智能項目,需要創(chuàng)建一系列的人工智能圖像識別模型來實現簡單的電路、天氣、表情等圖標的識別功能,而在強大的網絡中并沒有現成的電路、天氣、表情等圖標的數據集,因此如何動手創(chuàng)建數據集成了項目開展的關鍵。
● 思考、分析與設計
用于人工智能模型訓練的數據集需要滿足一定的數量,因為有學生的助力,中小學中數據集的制作非常容易實現,其關鍵的三個環(huán)節(jié)分別是:①獲得紙質數據集原始圖像,轉為數字原始圖像;②從數字原始圖像中分割得到電路、天氣等圖標;③按圖標分類保存圖標。其中,環(huán)節(jié)②和環(huán)節(jié)③可通過編寫程序批量處理實現。
1.數據集收集表的分析與設計
本文中涉及的數據集包含電路、天氣、表情和植物4種圖像數據,其中每種圖像數據中又有4個小分類,具體如表1所示。
為了保證學生繪制圖標和后期圖像批量處理的質量,需要進行范例圖標的設計和手繪區(qū)域的設計。在Word空白文檔中,插入一張表格,參數如表2所示。在數據集收集表文檔中增加提示性文字和范例圖標(如下頁圖1)。
2.圖像處理的算法分析
如下頁圖2所示,手繪圖標分別位于區(qū)域1至區(qū)域16的位置,批量分割區(qū)域1至16并分類存放,是圖像處理算法的核心。鑒于Python語言語法簡單、圖像處理庫豐富的特點,本案例采用Python中的pillow庫編程實現圖像批量分割、分類處理。
圖像的分割裁剪,需知待分割區(qū)域的左上角和右下角點的坐標,如分割區(qū)域1需知點A1和A7的坐標。
以A0為原點(0,0)建立平面直角坐標系,如圖3所示。
由于每個單元格的寬度、高度大小統(tǒng)一,因此A1至A40點的坐標數值間的關系如下:
(w為表格寬度;h為表格高度)
裁剪數字原始圖像,僅留表格部分,w、h分別為新圖像的寬度、高度。因此,圖像分割分類前需進行預處理:裁剪圖像,僅留表格區(qū)域。
● 核心代碼
根據以上分析,圖像處理一共分為以下幾步:①圖像預處理,得到表格寬度w、高度h數據;②計算區(qū)域坐標;③分割圖像,分類存儲。
1.圖像預處理核心代碼(如下頁圖4)
2.計算區(qū)域坐標核心代碼
定義imageCutXY函數,獲取待分割區(qū)域坐標,代碼如下頁圖5所示。
3.圖像分割、分類核心代碼
在imageCut函數代碼基礎上,增加圖像分類代碼,圖像分類的命名如表3所示。
因篇幅有限,僅展示1個大類的圖片分類保存的核心代碼,如下頁圖6所示。
圖像分割批處理的主程序代碼如下頁圖7所示。
● 數據集制作
有了前期的準備工作,后期只需要進行以下幾個簡單步驟就能得到想要的數據集了:
①打印數據集收集表,并請學生完成手動圖標的繪制;②收集紙質數據集收集表,并掃描得到JPG格式的數字圖像;③運行圖像預處理程序,得到預處理的圖像文件;④運行圖像處理程序,得到電路、天氣、表情等圖標的數據集(如下頁圖8)。
● 結語
在數據集制作的過程中,Python簡潔的語言和強大的圖像處理庫,大大減少了大量圖像分割、分類、命名等煩瑣重復的工作,讓枯燥的制作過程變得簡單而快速。除了pillow庫,Python還有很多其他功能強大的圖像處理庫,如OpenCV等。
在制作過程中也遇到了一些問題,在此做兩點交流分享。
問題1:數據集收集表的印刷。雖然數量需求較多,但仍然建議采用“打印”而非“速印”的方式印刷。究其原因是,“速印”會造成印刷內容位置偏移、大小變化,影響圖像后期的批量處理。
問題2:紙質數據集收集表的掃描。在采用掃描儀批量掃描時,確保:①紙質收集表的整齊;②掃描儀托盤夾的位置調整,保證稿件掃描過程中位置偏移最小化。
參考文獻:
[1]王媛媛,卜凡亮.基于Python的數字圖像處理簡單應用[J].電子技術與軟件工程,2022(03):129-132.
[2]雷霖,范烊,趙永鑫.一種基于圖的圖像分割法及Python實現[J].內江科技,2020(07):34.
[3]李志,陳入云.Python在數字圖像處理課程教學中的應用探索[J].創(chuàng)新創(chuàng)業(yè)理論研究與實踐,2022(10):11-13.