中山大學的學霸小哥開源了一個能幫你做高數題的AI

大數據技術2019-06-12 06:33:34

來自:開源最前線(ID:OpenSourceTop)

鏈接:https://github.com/Roujack/mathAI


中山大學的一名叫mathAI的碩士學霸小哥在GitHub上開源了一個拍照做題神器火了。


這個程序只需要輸入一張手寫數學題的圖片,這個AI就可以識別出輸入的數學公式,最後輸出計算結果,就像下面這樣:



這樣一個好用的項目,立馬收穫眾多網友收藏,評價道:以後輔導寶寶的數學就有救了!



mathAI是如何實現的?

整個程序使用python實現,具體處理流程包括了圖像預處理、字符識別、數學公式識別、數學公式語義理解、結果輸出:



本程序使用opencv對輸入的圖像進行預處理,並將字符裁剪出來再歸一化成固定大小的矩陣。


它在TensorFlow上實現了一個lenet5 的卷積神經網絡用來識別數學字符,訓練使用CHROME數據集。對於數學公式的識別,主要是將識別出的獨立的字符組織成計算機能夠 理解的數學公式(這裏的數學公式就是純字符的可求解的數學計算題)。大概的方法是使用編譯原理的算符優先法和遞歸下降法進行實現。 然後根據屬性文法的值傳遞思想,將數學公式的值計算出來。最後使用python的matlibplot庫把計算過程和答案打印出來。



圖像預處理


圖片預處理以OpenCV作為主要工具。預處理的主要目的是把圖片中的字符切割出來,同時避免無關變量對字符識別的影響



對圖片預處理的效果如下圖所示:



平均字符識別率已經高達96.23%



對 160 道測試題進行測試,系統做對 127 道題目,正確率為 79.38%



創建者將這個項目在GitHub上開源了,感興趣的不要錯過了



mathAI已經在GitHub上獲得 732 個Star,196 個Fork(GitHub地址:https://github.com/Roujack/mathAI



●編號833,輸入編號直達本文

●輸入m獲取文章目錄

推薦↓↓↓

開源最前線

https://hk.wxwenku.com/d/200843094