国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python實現識別手寫數字大綱

Python實現識別手寫數字大綱

2021-01-09 00:47Hanpu_Liang Python

這篇文章主要為大家詳細介紹了Python實現識別手寫數字的大綱,具有一定的參考價值,感興趣的小伙伴們可以參考一下

寫在前面

其實我之前寫過一個簡單的識別手寫數字的程序,但是因為邏輯比較簡單,而且要求比較嚴苛,是在50x50大小像素的白底圖上手寫黑色數字,并且給的訓練材料也不夠多,導致準確率只能五五開。所以這一次準備寫一個加強升級版的,借此來提升我對Python處理文件與圖片的能力。

這次準備加強難度:

  • 被識別圖片可以是任意大小;
  • 不一定是白底圖,只要數字顏色是黑色,周圍環境是淺色就行;
  • 加強識別手寫數字的邏輯,提升準確率。

因為我還沒開始正式寫,并且最近專業課程學習也比較緊迫,所以可能更新的比較慢。不過放心,代碼質量肯定是不會下降的,我會盡我所能寫的邏輯明確、通俗易懂點。

所以這次面向的人群是擁有一定Python基礎,對數學算發有一點了解(識別圖像的算法嘛)的人。

但畢竟我不是專業的,也沒有看那么多論文,所以我這里運用的算法僅僅是我一個粗淺的想法,只是為了練手而已。如果和實際應用脫節,還望莫怪。

當然,如果諸位有什么比較好的想法,可以在下方評論或者私信我,我們可以探討一下,相互進步。

整體思路

大綱

對圖片的預處理

在最開始的時候,我們假設只擁有一個訓練庫,里面是從0到9的手寫數字圖案若干組。

所以我們首先應該將這些圖案讀入程序中,然后運用某種方式保存好,用來后面識別圖片。

這里的圖案我們假設是大小不一的,里面手寫的數字也是有大有小。所以我們可以將包住手寫數字圖案的最小矩形給裁剪出來,然后將裁剪出來的圖案統一給拉伸成相同大小的圖案。

以上操作得出一個矩陣,這個矩陣的值是圖案的灰度值。對于訓練用的圖片和被檢測的圖片我們都是這樣處理。

圖像識別的算法處理

我這里想用兩個方法來讓數字識別準確點:

  • 識別所寫數字的“洞數”;
  • 將圖片轉為1xn的向量,然后根據根據訓練圖片分出的類對被識別圖片圖片進行分類。

洞數就是某個數字是否有閉合的曲線,比如說7沒有洞,6有一個洞,8有兩個洞。所以我們根據洞數可以分成以下三類

0洞:1, 2, 3, 4, 5, 7
1洞:6, 9, 0
2洞:8

但是因為各種手寫差異,比如說6, 9, 8之類的沒有閉合,4上面閉合,所以會導致下面這種可能情況

0洞:1, 2, 3, 4, 5, 6, 7, 9
1洞:6, 8, 9, 0
2洞:8

雖然說這樣分類0洞占大多數,但是聊勝于無。

對于將圖片轉為向量的意思就是將圖片原本的二維矩陣展開稱為一維向量。這個用numpy的函數可以可以很簡單的實現。

對于這個分類,下面我就簡單的講一下原理。

假設我們在二維平面上有兩個點A=(1,1)和B=(5,5),我現在再放一個點C=(2,2),那么請問,C點離哪一個更近?

學過初中數學的都會知道肯定是離A點更近。所以我們換一種說法,我們現在有兩個類A和B,A類中包括了點(1,1),B類中包括了點(5,5),所以對于點(2,2),它可能屬于哪一類?

因為這個點離A類的點更近一點,所以它可能屬于A類。這就是結論。那么對于3維空間,A類是點(1,1,1)和B類是(5,5,5),那么對于點(2,2,2)肯定也是屬于A類。

可以看出,我們這里是將兩個點的距離來作為判斷屬于哪一類的標準。那么對于我們將圖片拉成的1xn維向量,他實際上投影到n維空間上就是一個點,所以我們將訓練向量分成10類,分別代表十個數字,那么被識別數字靠近哪一個類,那說明它有可能屬于這一個類。

那么我們這里可以假設對于被識別向量,列出距離他最近的前十個向量分別屬于哪一類別,然后根據名次加上一個權重,并計算出一個值。該值代表了可能是屬于哪一個類,因此這就是我們得出的最終的一個結果——被識別手寫數字圖片的值。

難點

保存已訓練圖片的向量。這一條我想就直接保存在csv文件中,每一次運算時先判斷是否有新的訓練圖片加入,如果有,則把新的圖片向量也存入csv文件中。若沒有,則直接讀取所有向量保存在一個大矩陣中用于計算。

將手寫數字從背景中分離。因為我這里令手寫數字為黑色(灰度值為0),其他背景色盡量為,所以就令灰度值大于某個界限(如50)的點全部為255(白色),其余不變。這樣子只要非255,那就是手寫數字的點。

識別手寫數字的洞。這個有算法,搞過程序設計競賽的應該會了解。具體我就不細講了,大概就是利用遞歸之類的去尋找。

求向量距離。這個更簡單了,求解每一個訓練向量與識別向量的距離就行,只不過當訓練向量比較大的時候可能比較慢。

總結

以上就是全部思路,如果諸位有更好的想法,歡迎評論/私信我,讓我們一起相互學習進步,謝謝。

原文鏈接:http://blog.csdn.net/hanpu_liang/article/details/78220774

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美色欧美亚洲另类七区 | 欧美精品欧美精品系列 | 一区二区三区在线视频播放 | 久久久美女 | 亚洲精品久久一区二区三区 | 国产免费自拍 | 精品免费视频 | 免费观看的av | 三级在线观看网站 | a视频在线 | 国产a级毛片 | 日日操夜夜操天天操 | 成人av一级| 免费一级特黄3大片视频 | 香蕉yeye凹凸一区二区三区 | 日韩av中文字幕在线播放 | 射久久 | 在线播放91 | 久久久久国产精品免费免费搜索 | 免费成人在线观看 | 波多野吉衣网站 | 在线视频自拍 | 欧美三区| 日韩精品专区在线影院重磅 | 国产精品一码二码三码在线 | 另类视频在线 | 亚洲精品国产9999久久久久 | 午夜天堂| 欧美日韩在线播放 | 一本亚洲 | 99国产精品久久久 | 午夜欧美 | 欧美成年网站 | 精精国产| 免费簧片 | 精品国产乱码久久久久久影片 | 一区二区三区免费 | 国产成人精品久久二区二区91 | 婷婷色综合 | 91免费小视频 | 一区二区国产精品 |