迎大家關(guān)注騰訊云技術(shù)社區(qū)-博客園官方主頁,我們將持續(xù)在博客園為大家推薦技術(shù)精品文章哦~

作者:劉瀟龍

前言

首先需要說明,這里所說的數(shù)字識(shí)別不是手寫數(shù)字識(shí)別!

但凡對機(jī)器學(xué)習(xí)有所了解的人,相信看到數(shù)字識(shí)別的第一反應(yīng)就是MNIST。MNIST是可以進(jìn)行數(shù)字識(shí)別,但是那是手寫數(shù)字。我們現(xiàn)在要做的是要識(shí)別從九宮格圖片中提取出來的印刷體的數(shù)字。手寫數(shù)字集訓(xùn)練出來的模型用來識(shí)別印刷體數(shù)字,顯然不太專業(yè)。而且手寫體跟印刷體相差不小,我們最看重的正確率問題不能保證。

本文從零開始做一遍數(shù)字識(shí)別,展示了數(shù)字識(shí)別的完整流程。從收集數(shù)據(jù)開始,到數(shù)據(jù)預(yù)處理,再到訓(xùn)練KNN,最后進(jìn)行數(shù)字識(shí)別。

我們一步一步來說。

數(shù)據(jù)收集

為了便于處理,我百度找到了10張下面這樣按照1-9-0順序排列的圖片,作為我們的初始數(shù)據(jù)集。

有的圖片可能本來除數(shù)字區(qū)域外,周圍空白部分比較多。為了便于處理,首先用windows自帶的畫圖軟件把圖片裁剪成上面這樣只包含數(shù)字區(qū)域的樣子。

這十張數(shù)據(jù)集基本涵蓋了印刷數(shù)字體的不同樣式、字體,而且顏色、背景甚至漸變方式都各不相同。

數(shù)據(jù)處理

顯然,我們第一步要做的就是上一節(jié)的內(nèi)容,那就是把圖片中的數(shù)字分別提取出來。

訓(xùn)練knn,還有其他任何有監(jiān)督的機(jī)器學(xué)習(xí)模型,不光要有樣本數(shù)據(jù),還要有知道每一個(gè)樣本對應(yīng)的標(biāo)簽。這也是為什么我要選擇上面這樣按順序排列的數(shù)字圖片。

提取數(shù)字之后,我們可以對每一個(gè)數(shù)字的位置進(jìn)行排序,然后根據(jù)位置信息可以知道每一個(gè)數(shù)字是幾。標(biāo)簽也就由此生成了。

這一部分的內(nèi)容可以分兩部分來說,第一部分就是提取數(shù)字,第二部分是提取數(shù)字之后的數(shù)據(jù)預(yù)處理。

網(wǎng)友評(píng)論