
作者:莫凡
來源:大數據DT(ID:hzdashuju)
導讀:12306為什么要設置那么復雜的驗證碼機制呢?就是因為OCR。
今天聊OCR。
OCR是人工智能、機器學習特別是深度學習,在圖像識別方向最為重要的應用之一。OCR全稱Optical Chararcter Recogition,中文翻譯為光學字符識別,通常簡寫為OCR。
如果之前沒有接觸過OCR,光看名字上又光學又識別的,容易產生“聽起好像很高端很復雜”的距離感,但實際上,計算機科學的每一項技術都是為了機器具備多一項技能,而OCR要機器具備的,是一項對于我們人來說屬于最最基本的技能——“看圖識字”。
我們可能對這個能力習以為常了,以至于不會覺得這算是一項能力,但仔細想一想就知道,看圖識字雖然最最基本,不過同樣也最最基礎,很多工作都需要首先具備看圖識字這項技能才能開展。同樣的道理,OCR現在也已經是我們日常生活中應用最為廣泛的智能技術之一。
如果一時沒想起來,不妨從咱們中國人都很熟悉的春運說起。12306大家應該都知道,是訂火車票的官方網站,2015年12306出了一個轟動全國的“大新聞”,12306改變“驗證碼機制”了。買火車票之前,用戶先得要做幾道頗為棘手的智力題,譬如要求在幾張圖片中找出某位名人,據說有些用戶因為知識面比較窄最后選擇放棄了購買火車票。
這事大家都知道,不過有沒有想過一個最基本的問題:12306為什么要改變驗證碼機制呢?
就是因為OCR。
▲網友惡搞的12306驗證碼
驗證碼之所以叫驗證“碼”,是因為最開始驗證碼大都是一串保存在圖片里的四位數字。驗證碼的作用自然是區別真人和機器,聽起來很厲害,其實原理異常簡單:機器擅長處理結構化數據,而對于圖像、文本和音頻這些生活中很常見但屬于非結構化的數據,對機器來說,用傳統的算法處理難度非常大。
為什么呢?不妨想象一個最最傳統的驗證碼,白底黑字,上面一共四個阿拉伯數字,我們人自然看一眼就知道是哪四個數字。但是在機器看起來,這張圖片是由一個挨一個的像素數值構成的數據矩陣,這就產生一個問題,我們人看起來是“空白”的地方,在機器看起來同樣也存在著數字,并沒有什么不同,自然無法區分到底上面寫了什么。
OCR的研究人員當然也沒有偷懶,努力嘗試了很多辦法,有一種思路是提取圖片特征,也研究出兩種傳統的提取方法,分別是基于結構形態的特征提取,和基于幾何分布的特征提取,也取得一些成果。
但總的來說,要求機器準確識別圖片中的數字仍然很困難,只要圖片中存在一點點雜質干擾,識別的正確率就大幅度下降,這就是為什么后來驗證碼都會選擇采用一些隨機線條,對于OCR來說,這都是低成本高收益的防破解手段。但對人來說卻輕而易舉,只需要看一眼就能識別。
正是因為人和機器在處理非結構化數據存在能力鴻溝,在驗證碼這里,就是人和機器在識別圖片中字符上的能力存在顯著差異,因此,只要簡單使用驗證碼,就能相當準確地辨別正在輸入的究竟是人還是機器。
那為什么12306在2015年就非得換了很好用的驗證碼機制呢?是因為就在2012年,發生了一件轟動整個研究界的事件,這個事件影響深遠,推動OCR技術發生飛躍,從此機器也能很輕易就準確識別圖片上的數字了。
OCR并不是新出現的概念,起步非常早。根據《深度實踐OCR:基于深度學習的文字識別》一書介紹,早在1929年,德國科學家就已經提出了OCR的想法,后續又有一些科學家加入進行這方面研究,不過,直到計算機出現以后,想法才慢慢落地。
相比之下,中國對OCR的研究起步稍晚,起步于70年代,算起來也有近50年的歷史了。
但是,雖然早就開始了對OCR的研究,科學家們也從各個方面貢獻了很多頗有益處的奇思妙想,為后續研究奠定了堅實基礎,但總的來說,OCR技術的應用發展遲緩,直到前些年仍然處于學術研究的領域。不過,每一項科研領域的僵局都最終會被一項劃時代的技術打破,打破OCR領域僵局的就是鼎鼎大名的深度學習技術。
2012年發生了什么事呢?發生了這么一件事,基于深度學習的卷積網絡模型AlexNet,在ImageNet圖像分類比賽中拔得頭籌。拔得頭籌這事本身不算什么,畢竟只要有比賽就一定會有人拔得頭籌,問題是在以往的比賽,不同模型之間的差距很小,第一名都是“險勝”,第二名都是“惜敗”。
而到了2012年,AlexNet不但贏了第一名,而且在識別準確率方面超過第二名10%,相當于百米短跑我第一名沖線,而且我不但沖線了,我還在終點吃了頓飯,然后第二名才剛剛跑完全程。這種碾壓式的勝利讓業界對這場賽事的評論紛紛變成了B站的彈幕,概括來說就一句話:大人,時代變了。
當然了,前面這段講得很戲劇化,也有很多人喜歡用“石破天驚”之類的詞來形容,但應該說,深度學習并不是什么憑空出現的新技術,它是由機器學習下面的神經網絡模型發展而來的。
人工智能、機器學習和深度學習三者之間千絲萬縷的關系,我們在前面的文章已經進行了細致的介紹,不再贅述,但深度學習的崛起,確實給OCR的應用注入了全新的活力。
深度學習很快火遍全球,有意思的是,很多面向初學者的深度學習教程不約而同選擇了將使用深度學習模型識別MNIST手寫數據集作為深度學習領域的“Hello World”,從前極為困難的驗證碼識別,在深度學習時代居然變成了初學者的第一堂功課,這是深度學習與OCR結合最為成功的案例。從此,OCR展翅飛出象牙塔,飛入尋常百姓家。
不過,我還是想特別說明一下,OCR是一項通用性非常強的技術,OCR與深度學習的結合逼得12306改驗證碼機制,這只是OCR技術的能力展示,OCR活躍的天地遠比驗證碼廣闊得多,我們的機器距離我們的生活差的最后一公里,可能就有賴OCR來打通。
你可能會問,機器和生活還差最后一公里,我怎么沒感覺到,這是什么意思?
回想一下,我們現在的生活其實是有兩套并行記錄體系,就拿最常見的去銀行辦理業務來說吧,我們先得用筆手工填寫一份紙質的表格,上面包含了各項信息,這是一套記錄體系。然后我們給銀行柜臺的工作人員提交表格,工作人員會讓我們先等一會,等什么呢,就是等工作人員通過電腦終端把信息轉錄到另一套記錄體系。
現代銀行基本都依靠各類信息系統進行管理,但這些信息系統是不能直接讀取紙質表格的信息,那怎么辦呢,只好通過人來轉錄,這個轉錄的過程免不了需要消耗人的時間和精力,增加了辦理業務的成本,甚至成為限制提升業務辦理效率的瓶頸之一。
兩套并行記錄體系對我們的影響當然遠不止于銀行,從更為宏觀的視角來看,消耗了人類社會大量的人力物力,以及對于人來說更為寶貴的時間。
你可能又要說了,這些都是窗口業務,和日常生活關系并不緊密。其實不然,舉一個我們很熟悉例子,二維碼。
就拿春晚的觀眾互動來說吧,過去主持人是說想要和春晚互動的觀眾朋友,可以把信息發到屏幕下方公布的號碼。那么,觀眾如果真要互動,就必須得把在屏幕上看到的這串長長的數字逐個逐個敲進手機,光是想就覺得麻煩,再加上有時候看錯或者敲錯,感覺就更費勁了。
現在有了二維碼,主持人說想要和春晚互動的觀眾朋友,掃描屏幕下方的二維碼就可以了,操作起來就簡單太多了。所以,現在滿大街都是二維碼,就是因為二維碼更為便捷。
不過,二維碼只能解決兩套記錄體系并行問題的很小一部分,其它手段譬如內置芯片也只能治標不治本,畢竟我們人類社會幾千年來都以紙作為信息的記錄介質,已經產生了太多不可能符合機器讀取要求的信息,要從根本上解決兩套記錄體系并行的問題,還是需要機器具備和人一樣的“看圖識字”的能力,也就是最終還得依靠OCR。
那么,現在的OCR技術發展到什么水平,又解決了什么實際問題了呢?
我認為,一項應用技術最重要的不是聽起來有多前沿多高端,而是能解決什么實實在在的問題。我們說OCR突飛猛進,是因為OCR和深度學習結合以后,只需要簡單拍照,就可以直接從圖片中提取相應的文字,在很多應用場景已經有點“掃碼即可”的意思了。
很多紙質的表格,譬如前面說的銀行各類業務的表格,現在只需要簡單地拍照就可以一下完成信息錄入。以前我們拿到紙質名片,還需要手工敲字記錄,現在很多APP都提供一項功能,只要對名片進行拍照,就能自動提取上面的文字。
同時,OCR帶來的不僅僅是簡化錄入,很多傳統的軟件功能,也因為OCR技術的發展,而帶來了全新的使用體驗。就說我印象最深的翻譯軟件,翻譯軟件當然不是什么新產品,大家應該都用過。
但一直以來使用翻譯軟件都有一個限制,那就是不管軟件本身的翻譯能力有多強,你得先錄入原文然后才能看到譯文,這有一個什么問題呢?有一些外語的原文我不知道怎么通過英文鍵盤輸入,譬如日文、德文、法文,相信不是專門學這些語言的朋友都有和我同樣的困擾。
現在有了OCR就方便多了,只需要直接拍照就能提取文字,不但解決了輸入問題,效率還要高得多,有些翻譯軟件干脆就在原圖上P上譯文,更加直接明了,讓我對翻軟件有一種耳目一新的感覺。
除了翻譯軟件,OCR給我們熟悉的產品帶來的改變還有很多,畢竟只要可以從圖片中準確提取文字,就有太多的地方等待著我們發揮廣闊的想象力。譬如說,通過OCR技術,即使是掃描生成的PDF也支持文本搜索了。
如果覺得這個例子太小,那就說搜索引擎,現在的搜索引擎還笨得很,輸入文字只能搜到文字,輸入圖片只能搜到圖片,文字和圖片是涇渭分明,如果你想用文字搜帶有這段文字的圖片呢?對不起不行。
不過使用了OCR,以后也可以以文搜圖了。譬如你翻老照片時找到一張你光著屁股坐在一塊寫著一段文字的石頭上,你想知道這張照片在哪拍的??墒乾F在你去搜這段文字,很可能要么就什么都找不到,要么就找到一大堆無關的內容。
未來如果搜索引擎支持搜索圖中文字的功能,你就能馬上找到帶有這段文字的其它照片,沒準其中就有你想要找的內容。
OCR就介紹到這里,相信大家對于OCR是什么,能做什么,未來會有怎樣的發展已經有了初步的了解??墒?,OCR技術的原理是什么,傳統的做法是什么,現在和深度學習又是怎樣結合在一起?
我推薦大家閱讀前面提過的這本專門介紹這些問題的書,《深度實踐OCR:基于深度學習的文字識別》。這本書對OCR的介紹很全面,先從OCR的發展歷程和經典的技術原理說起,然后介紹了深度學習的主要技術,最后再仔細介紹OCR和深度學術如何結合,而且還對如何通過代碼實現進行了詳細說明??赐赀@本書,對OCR的全貌、原理和應用,應該就能有比較清晰的了解。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25在當今數字化時代,數據分析師的重要性與日俱增。但許多人在踏上這條職業道路時,往往充滿疑惑: 如何成為一名數據分析師?成為 ...
2025-04-24