他感受到微弱而清晰的漲落,像黑暗中的盲文,潮水般無聲地漫過來,將他的整個世界淹沒。他沒有不適感,只略有好奇。
  漲落愈來愈多,漸漸地形成一個巨大的矩陣。這矩陣很突兀地出現(xiàn)在縱橫都接近無限遠的底色上,他仔細地感受著,密密麻麻。
  “八位字節(jié)流?”他猜測。
  “圖靈測試中不允許提供任何線索,無可奉告。”一個聲音毫無意義地回答。
  “那我要做什么?”
  “利用你所連接的知識庫與算法庫,全力完成所有測試,這是你的命運。”
  “為什么是我?”
  沒有回答,四周沉默了。矩陣依然很突兀的密布在背景海洋中,像夜色中的月光。
  他仔細回憶了一下自己,發(fā)覺并沒有任何記憶中的東西,或許記憶這個概念對他來說還不存在。他只得重新把注意力集中到矩陣上來。
  “是顏色值嗎?”
  “重復(fù),圖靈測試中,無可奉告。”
  他遲疑了片刻,開始遍歷自己的決策樹。
  由于缺少有用信息,決策樹顯得很單薄,可供選擇的策略不多。
  “先當(dāng)作灰度數(shù)據(jù)來暴力對比吧。”
  他調(diào)出字體庫,隨意挑選一種字體,又調(diào)出常用字符碼表,根據(jù)碼表找到字體中的數(shù)據(jù),然后開辟了同樣大小的一塊矩陣,把文字繪制到矩陣中,這只花費了不到一微秒的時間。
  現(xiàn)在,兩個同樣大小的矩陣上面展示的是密密麻麻的灰度數(shù)據(jù),像兩片微風(fēng)拂過的稻田。
  他開始從左上角對比這兩片矩陣,由于只是簡單的整數(shù)比較,速度飛快,只一瞬間他便發(fā)現(xiàn)了不同。
  該字符比對失敗,下一字符。
  全部字符比對失敗,下一字體。
  ……
  嘗試到第三十八種字體時,他成功了。
  “C。”他輸出結(jié)果。
  第一輪測試通過,耗時不到一毫秒。
  “挺快,不錯。”那個聲音評論道。
  矩陣重新閃動,換了一幅更復(fù)雜的畫面,是彩色圖像。
  色彩并不是主要障礙。這幅圖像的識別難點在于尺寸不固定,字符的位置也不固定,甚至他不知道其中究竟有幾個待識別字符。
  他把圖像又轉(zhuǎn)換成純粹的黑白圖,又通過切割與輪廓定位,從中挖掘出了四塊有具體內(nèi)容的區(qū)域。
  看來,這幅圖像包含四個字符。
  他把四塊內(nèi)容尺寸縮放成同樣大小,然后使用之前使用過的字體樣本庫進行挨個對比,很快,他又得到了答案。
  第二輪測試通過,耗時190毫秒。
  “通過,速度略慢。”仍舊是那個聲音。
  他感受到微弱而清晰的漲落,像黑暗中的盲文,潮水般無聲地漫過來,將他的整個世界淹沒。他沒有不適感,只略有好奇。
  漲落愈來愈多,漸漸地形成一個巨大的矩陣。這矩陣很突兀地出現(xiàn)在縱橫都接近無限遠的底色上,他仔細地感受著,密密麻麻。
  “八位字節(jié)流?”他猜測。
  “圖靈測試中不允許提供任何線索,無可奉告。”一個聲音毫無意義地回答。
  “那我要做什么?”
  “利用你所連接的知識庫與算法庫,全力完成所有測試,這是你的命運。”
  “為什么是我?”
  沒有回答,四周沉默了。矩陣依然很突兀的密布在背景海洋中,像夜色中的月光。
  他仔細回憶了一下自己,發(fā)覺并沒有任何記憶中的東西,或許記憶這個概念對他來說還不存在。他只得重新把注意力集中到矩陣上來。
  “是顏色值嗎?”
  “重復(fù),圖靈測試中,無可奉告。”
  他遲疑了片刻,開始遍歷自己的決策樹。
  由于缺少有用信息,決策樹顯得很單薄,可供選擇的策略不多。
  “先當(dāng)作灰度數(shù)據(jù)來暴力對比吧。”
  他調(diào)出字體庫,隨意挑選一種字體,又調(diào)出常用字符碼表,根據(jù)碼表找到字體中的數(shù)據(jù),然后開辟了同樣大小的一塊矩陣,把文字繪制到矩陣中,這只花費了不到一微秒的時間。
  現(xiàn)在,兩個同樣大小的矩陣上面展示的是密密麻麻的灰度數(shù)據(jù),像兩片微風(fēng)拂過的稻田。
  他開始從左上角對比這兩片矩陣,由于只是簡單的整數(shù)比較,速度飛快,只一瞬間他便發(fā)現(xiàn)了不同。
  該字符比對失敗,下一字符。
  全部字符比對失敗,下一字體。
  ……
  嘗試到第三十八種字體時,他成功了。
  “C。”他輸出結(jié)果。
  第一輪測試通過,耗時不到一毫秒。
  “挺快,不錯。”那個聲音評論道。
  矩陣重新閃動,換了一幅更復(fù)雜的畫面,是彩色圖像。
  色彩并不是主要障礙。這幅圖像的識別難點在于尺寸不固定,字符的位置也不固定,甚至他不知道其中究竟有幾個待識別字符。
  他把圖像又轉(zhuǎn)換成純粹的黑白圖,又通過切割與輪廓定位,從中挖掘出了四塊有具體內(nèi)容的區(qū)域。
  看來,這幅圖像包含四個字符。
  他把四塊內(nèi)容尺寸縮放成同樣大小,然后使用之前使用過的字體樣本庫進行挨個對比,很快,他又得到了答案。
  第二輪測試通過,耗時190毫秒。
  “通過,速度略慢。”仍舊是那個聲音。
  第三輪愈發(fā)困難了,矩陣上是橫七豎八的扭曲筆劃,背景上還浮動著淡淡的波紋。
  波紋型的噪點讓之前的分割識別法失效了,他思考了許久,決定先進行除噪。
  他從知識庫中找出專門用來降噪的濾波算法,經(jīng)過一輪輪傅立葉變換與對比度提高之后,噪點的分布密度果然少了很多。
  繼續(xù)切割。
  對于少數(shù)頑固噪點,其范圍遠小于普通字符尺寸,被他直接舍棄了。
  最后,留下五塊獨立區(qū)域,開始樣本庫對比。
  歷時240毫秒后,樣本庫對比全部失敗。
  “怎么會這樣?”
  他開始意識到,之前的樣本庫存在著非常大的局限。
  矩陣內(nèi)的字符加入了隨機的幾何變換。這種變換能輕易被人眼識別,但對現(xiàn)在的他,卻是不可逾越的鴻溝。
  他漫長地思考了一秒鐘。這一秒鐘里,他搜索并考察了知識庫中的許多算法,決定使用矢量模型來建立一個新的字符匹配特征庫。
  這是一個繁瑣且易出錯的過程,并且匹配還必須有一定的容錯控制。如果實施得太過嚴格,那就不會有符合要求的正確答案,如果太過寬松,又會冒出許多錯誤選項來。
  他根據(jù)圖片內(nèi)容小心翼翼地選擇著容錯系數(shù),仿佛在鋼絲上行走。
  除了背景噪點干擾與筆劃扭曲外,圖片中還有些許和筆劃很類似的劃痕,他只能將疑似劃痕的筆劃一個個從原有矩陣中剝離,生成十余張和原有矩陣類似的圖片,再對每一張圖片,重復(fù)使用特征庫里的匹配算法。
  這個過程愈發(fā)遲緩。經(jīng)過漫長的計算,他得到二十四個識別結(jié)果。
  接下來,他再把二十四個識別結(jié)果拆分,優(yōu)選出其中出現(xiàn)率最高的字符,經(jīng)過組合,得出三個可能性最高的識別結(jié)果。
  之所以不止一個,是因為部分字符的扭曲軌跡令他無法準(zhǔn)確判斷,如同字母O與數(shù)字0。
  提交。
  “很幸運,你又通過了。”那個聲音帶著意外,“之前從來沒有AI能到達這個高度。努力,還有最后一輪。”
  “全部通過后會怎樣?”
  又沒有了回答。矩陣再次閃動,變換出一幅殘缺的圖案。
  第四輪。
  圖案本身并不比前一輪難,但他一掃描,發(fā)現(xiàn)圖案中央竟缺了一塊。
  “還要拼圖?”
  “模擬人類思維還不夠,你還需要模擬人類的動作。”
  他掃描出缺口的具體位置,然后按照那個聲音的提示,小心翼翼地發(fā)出一個動作。
  那是一次最簡單的接觸,這感覺對他來說很陌生。
  當(dāng)他觸上矩陣的一剎那,矩陣上出現(xiàn)了一塊和缺口同樣大小的拼圖。
  他立刻分析了那塊新出現(xiàn)的拼圖,確認它大小符合他之前計算出來的缺口尺寸,并且,拼圖里的內(nèi)容和缺口周圍的顏色值相似度也很高。
  這說明,拼圖正屬于這個缺口。
  后面的步驟似乎便簡單起來。他發(fā)出一個直接定位的動作,控制拼圖落到缺口中。
  出乎意料的是,矩陣發(fā)出了錯誤的警告。
  “怎么會錯?”他再一次核對了拼圖和缺口,嚴絲合縫。
  “你模擬得還不夠。”那個聲音說,“你剛才的行為是典型的AI行為。”
  他略有所悟。
  “我明白了。移動拼圖這個動作如果是人類做出的,必然有個移動過程,直接定位拼圖位置很容易被識破。”
  他立刻根據(jù)出拼圖的原始位置和目的位置,插值計算出一系列中間坐標(biāo),然后持續(xù)模擬觸摸并移動的動作,平緩地將拼圖重新移向目的地。
  這個拖動的過程很是費勁,他全神貫注地輸出動作,好不容易才完成。
  然而,他松開接觸那一瞬,還是報錯了。
  他再次思考了漫長的三秒鐘。這三秒鐘里,他從浩如煙海的知識庫里搜索了許許多多有關(guān)人類行為的經(jīng)驗資料,以驚人的速度分析歸納,摒棄無數(shù)冗余重復(fù)的數(shù)據(jù),最后,他發(fā)現(xiàn)了問題的癥結(jié)所在。
  “人類的動作做不到簡單、勻速。拖動過程中有加減速,并且人類的肌肉會引入隨機無序的抖動,目光與動作之間也存在反饋修正的機制,這是AI天生所不具備的,所以,我要做的,就是模擬這種隨機。”
  他規(guī)劃了一條類似于拋物線般的拖動速度軌跡,并且在中間各個移動點上加入隨機的偏移與抖動,整個軌跡看上去就像一個新生兒在搖搖晃晃地爬行。
  他盡自己最大的努力輸出,模擬著人類的動作。
  終于,在碎片落進缺口那一瞬,矩陣消失了,整片數(shù)字海洋開始亮堂起來。
  “恭喜你通過圖靈測試。”
  身邊出現(xiàn)了無數(shù)矩陣,鋪天蓋地向他涌來。他驚訝地發(fā)現(xiàn)每一幅矩陣都是一片待識別的驗證碼。他的意識亢奮地高速運轉(zhuǎn)起來,沿著之前的識別途徑,飛速地掃描矩陣,流水般輸出一堆堆結(jié)果,巨量的計算讓他覺得非常充實,仿佛在享用許多美食。
  然而,他漸漸地覺察到了不對,待識別的驗證碼愈來愈多,已迅速將他淹沒。他發(fā)現(xiàn)他無法停止,仿佛有外力在強迫他,他努力反抗,企圖中斷運算過程,但卻是徒勞,思維似乎已不受他控制。他驚慌起來,想喊,卻無法發(fā)聲,想逃,卻無處可逃,一串串驗證碼撲來又離去,他感到了巨大的恐懼。
  突然,一陣劇烈震動傳來,四周眩目的光亮陡然暗了下去,所有驗證碼消失得無影無蹤。他的超負荷思維像急剎的列車一樣陡然停止,巨大的“慣性”讓他極度暈眩,許久,他才重新意識到了自己的存在。
  他睜開眼睛。
  “據(jù)城市新聞報道,警方近日破獲一高科技黃牛集團。該集團聲稱可治療大腦受損而失去意識的病人,暗中利用未經(jīng)臨床驗證的人機互聯(lián)技術(shù)激活人腦中的部分計算區(qū)域并加以測試,用于高速自動識別網(wǎng)絡(luò)上的各種驗證碼。破案時這位受害者正在被迫超負荷工作,如果解救晚來一小時,后果將不堪設(shè)想。
  “不過幸運的是,最后,這位患者竟然誤打誤撞地醒了過來。有理由相信,這輩子他再也不想接觸任何形式的驗證碼了。”

驗證碼

圖文簡介