條形碼 / 二維碼讀票機
原理:選民通過填寫或掃描條形碼 / 二維碼選票,機器讀取編碼后解析投票信息。
特點:
數(shù)據(jù)精度高,可存儲更多信息(如選區(qū)、候選人編號)。
需提前印制帶編碼的選票,適合電子化程度較高的選舉。
圖像預處理:優(yōu)化原始掃描數(shù)據(jù)
灰度化處理:將彩色圖像轉換為灰度圖,突出標記與背景的亮度差異(如鉛筆填涂區(qū)域灰度值較低)。
二值化轉換:通過設定閾值(如灰度值低于 128 視為標記),將圖像轉化為黑白二值圖,簡化后續(xù)計算(例:填涂框內(nèi)黑色像素占比≥30% 視為有效標記)。
噪聲過濾:利用中值濾波、高斯濾波等算法,消除紙張污漬、折疊陰影等干擾(如去除面積小于 10 像素的孤立黑點)。
幾何校正:通過檢測選票邊緣的定位標記(如 registration marks),校正因傳送歪斜導致的圖像旋轉或縮放,確保標記位置與預設模板對齊。
標記區(qū)域定位:鎖定選票上的有效選擇區(qū)
模板匹配:讀票機內(nèi)置選票格式模板,通過檢測預設的定位點(如角點、條形碼)確定候選人選項框、政黨符號等區(qū)域的坐標范圍。
興趣區(qū)域(ROI)劃分:將選票圖像分割為多個獨立 ROI(如每個候選人對應一個矩形區(qū)域),減少全局分析的計算量。
示例:美國大選使用的 “蝶形選票”(Butterfly Ballot)中,讀票機通過模板定位左右兩列候選人姓名旁的填涂框,避免因選民誤填相鄰區(qū)域?qū)е抡`判。
軟件算法:從識別精度到防篡改機制
1. 多重校驗算法架構
重復掃描比對:對每張選票進行至少 2 次獨立掃描(間隔 50ms),比對兩次圖像的像素差異,若標記區(qū)域灰度值偏差超過 15%,則觸發(fā)第三次掃描并人工介入(如日本選舉法要求對爭議票進行三次掃描)。
多特征融合判斷:結合填涂面積、邊緣輪廓、灰度梯度等多維度特征,采用加權投票機制(如面積占比權重 40%+ 邊緣匹配度權重 30%+ 濃度均勻性權重 30%),避免單一特征誤判(例:某區(qū)域面積達標但邊緣鋸齒狀,可能被判為 “無意涂抹”)。
機器學習模型迭代:利用歷史選舉的有效 / 無效票數(shù)據(jù)(如美國 EAC 公開的選票數(shù)據(jù)集)訓練 CNN 模型,對非標準標記(如超框填涂、輕描標記)的識別準確率提升至 99.2% 以上。
2. 防篡改與數(shù)據(jù)完整性保護
哈希值校驗:對每張選票的掃描圖像生成哈希值(如 SHA-256),存儲于區(qū)塊鏈節(jié)點或加密數(shù)據(jù)庫,任何圖像修改都會導致哈希值變更,可實時檢測數(shù)據(jù)篡改(如德國部分州采用區(qū)塊鏈存證選票圖像)。
軟件版本控制:讀票機操作系統(tǒng)與識別算法采用簽名固件更新機制,僅允許通過官方渠道推送的版本(附帶數(shù)字證書)安裝,防止惡意程序植入(如 2018 年美國佛羅里達州選舉前,對所有讀票機進行固件哈希值比對,攔截 3 臺異常設備)。

