張安妮 葉文青 呂洵 任予行
關(guān)鍵詞:Flutter;跨平臺;OCR;記賬軟件
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2023)21-0058-03
0 引言
記賬是理財?shù)氖滓襟E之一,有助于控制收支情況和實(shí)現(xiàn)財富的增值保值[1]。生活中的消費(fèi)提高,國民對財務(wù)的管理更加重視, 隨著移動端的快速發(fā)展,記賬軟件也開始向移動平臺轉(zhuǎn)移。由于移動設(shè)備的便攜性和使用率,越來越多的人選擇使用手機(jī)記賬軟件,現(xiàn)在市面上手機(jī)記賬軟件功能已經(jīng)很全面,但是大多數(shù)的記賬App都需要手工錄入才能記賬[2]。此外為了提高跨平臺開發(fā)效率和減少開發(fā)成本,跨平臺方案被不斷提出,也引出了眾多跨平臺技術(shù),例如uni? app和Flutter等[3]。
基于此本次創(chuàng)新的將OCR技術(shù)運(yùn)用在小票識別中,使用Flutter框架實(shí)現(xiàn)跨平臺開發(fā),實(shí)現(xiàn)一碼多用,降低開發(fā)成本。服務(wù)端采用SpringBoot+Mybatis?plus, 實(shí)現(xiàn)前后端開發(fā),提高開發(fā)效率。
1 需求分析
1.1 用戶調(diào)研
本次調(diào)研首先將小組成員分為三組,針對青年(19~45歲),中年(45~60歲),老年人(60歲以上)三大用戶群進(jìn)行產(chǎn)品功能創(chuàng)新。青年組數(shù)據(jù)來源于小紅書帖子,本年齡段群體總共有效回答340份,其中男性有54人,占比15.9%,女性286人,占84.1%;中年組數(shù)據(jù)通過設(shè)計調(diào)查問卷實(shí)現(xiàn),本年齡段群體總共有效調(diào)查202人,主要來自5個省份;老年組數(shù)據(jù)通過設(shè)計調(diào)查問卷,共收到78份有效調(diào)查結(jié)果。
最終統(tǒng)計得到三組功能需求,如圖1為青年組功能需求。
1.2 競品分析
記賬軟件是一種方便用戶記錄財務(wù)信息的應(yīng)用程序。目前市面上的記賬本軟件種類繁多,功能也千差萬別[4]。通過對市場上幾種主流記賬本軟件的功能分析,可以幫助開發(fā)人員了解當(dāng)前市場需求,從而制定更加符合用戶需求的開發(fā)計劃。通過分析目前市面上記賬本軟件的功能差異,可以為開發(fā)記賬軟件提供參考和建議。
目前市面上有不少記賬軟件包括但不局限于例如隨手記、有魚記賬、小青帳、鯊魚記賬。這些主流軟件和本軟件對比如表1所示。
2 項目創(chuàng)新點(diǎn)及特色
本軟件采用Flutter開發(fā)跨平臺智能記賬軟件,旨在幫助用戶輕松管理個人財務(wù),實(shí)現(xiàn)財務(wù)自由和生活目標(biāo)。該軟件集成了多種實(shí)用功能,包括快速記賬、收支明細(xì)、數(shù)據(jù)可視化分析、預(yù)算管理等,可以幫助用戶全面掌握自己的財務(wù)狀況。
本軟件的核心創(chuàng)意是將記賬軟件與人工智能技術(shù)結(jié)合,采用OCR識別票據(jù)數(shù)據(jù),提供圖像增強(qiáng)處理,為用戶提供更加智能化的財務(wù)管理服務(wù)。此外針對老年用戶也提供了簡約版操作。
3 關(guān)鍵技術(shù)
3.1 數(shù)據(jù)同步
為了實(shí)現(xiàn)安卓端和蘋果端數(shù)據(jù)同步,本次將服務(wù)端維護(hù)的數(shù)據(jù)存取在阿里云服務(wù)器中,用戶通過聯(lián)網(wǎng)即可實(shí)現(xiàn)跨平臺數(shù)據(jù)同步。
3.2 OCR 票據(jù)識別
隨著移動支付的普及,越來越多的消費(fèi)者選擇使用手機(jī)掃碼支付來完成購物[5]。在這種情況下,商家通常會提供小票來記錄購買的商品和金額等信息。然而,傳統(tǒng)的手動錄入小票信息的方式存在效率低下、容易出錯等問題。因此,OCR技術(shù)可以自動化地識別小票上的文本信息,提高小票信息的處理效率和準(zhǔn)確性,為消費(fèi)者提供更好的購物體驗[6]。
但是,由于文本圖片的質(zhì)量不同,OCR識別的準(zhǔn)確性也會受到影響。因此,對于一些低質(zhì)量的圖像,需要進(jìn)行圖片增強(qiáng)處理,以提高OCR識別的準(zhǔn)確性。OCR識別小票的流程主要分為以下幾步:獲取圖片、圖像預(yù)處理、OCR識別、信息解析,即將OCR識別出的文本信息進(jìn)行解析,如解析商品名稱、數(shù)量、價格、訂單號等信息,最后將數(shù)據(jù)存儲。
在日常生活中,人們所涉及的消費(fèi)類型多且雜的,僅僅滿足一種消費(fèi)類型是遠(yuǎn)遠(yuǎn)不夠應(yīng)對人們的日常生活的。軟件在識別火車票、外賣票的基礎(chǔ)上,還支持識別出租車票、電子發(fā)票、電影票、購物小票、船票等消費(fèi)小票。技術(shù)方面主要選用了合合信息所提供的票據(jù)分類接口、國內(nèi)通用票據(jù)識別接口以及商戶小票識別接口。
主要實(shí)現(xiàn)過程如下:
1) 先對上傳的圖片進(jìn)行票據(jù)分類,識別出屬于哪一類票據(jù)。
2) 如果屬于購物小票、電影票以及外買票,則調(diào)用商戶小票識別接口。
3) 對于其他類型的小票,則統(tǒng)一使用國內(nèi)通用票據(jù)識別接口。
對于第2點(diǎn),主要是出于精確度的考慮,商戶小票這一類票據(jù)使用國內(nèi)通用票據(jù)識別接口識別出的效果并不是特別理想,所以單獨(dú)提出來使用專用的商戶小票識別接口進(jìn)行處理,提高數(shù)據(jù)的準(zhǔn)確性。對于第3點(diǎn),其他類型接口使用國內(nèi)通用票據(jù)識別接口識別后,根據(jù)識別結(jié)果中的type值判斷對應(yīng)的消費(fèi)類型,找到所屬的消費(fèi)類型后,再進(jìn)行金額、創(chuàng)建時間等消費(fèi)信息的提取處理。
綜上,OCR錄入消費(fèi)信息總體流程如圖2所示:
3.3 批量圖像導(dǎo)入
為了方便用戶快速地將多張圖片中的賬單信息批量導(dǎo)入記賬軟件,減少手動錄入的時間和工作量。本次在前端實(shí)現(xiàn)了通過圖片識別技術(shù),自動識別圖片中的賬單信息,并將其轉(zhuǎn)化為數(shù)據(jù)存儲在記賬軟件中,以提高記賬效率和準(zhǔn)確性。
1) 初始化階段:在組件初始化的時候,會根據(jù)傳入的參數(shù)進(jìn)行一些初始化操作。例如,如果傳入了一個item,那么會根據(jù)item的值設(shè)置一些文本框的初始值,并將圖片的路徑列表images賦值為item中的ima? geUrl字段的值。
2) 選擇圖片階段:在點(diǎn)擊floatingActionButton 上的image按鈕后,會彈出一個圖片選擇框,用戶可以選擇多張圖片。選擇完成后,會將所有圖片的路徑存儲到files列表中。
3) 預(yù)處理階段:在點(diǎn)擊floatingActionButton 上的upload按鈕后,會遍歷files列表中的所有圖片,針對每一張圖片,調(diào)用寫好的ocr方法進(jìn)行圖片識別。ocr方法返回一個Map類型的數(shù)據(jù),其中包含了圖片中的一些信息,例如商品名稱、價格等。
4) 處理階段:根據(jù)ocr方法返回的結(jié)果,更新一些文本框的值同時,會將所有識別出的商品信息保存到數(shù)據(jù)庫中,以便后續(xù)的查詢和統(tǒng)計。
5) 清理階段:在處理完所有圖片后,會彈出一個成功提示框,告知用戶圖片上傳成功。同時,會將files列表清空,以便下次選擇圖片。
4 軟件具體實(shí)現(xiàn)
4.1 系統(tǒng)總體結(jié)構(gòu)圖
本軟件共分五大模塊,其中包括跨平臺數(shù)據(jù)同步、消費(fèi)信息錄入和消費(fèi)數(shù)據(jù)的展示與編輯三個基礎(chǔ)功能,此外包括一些智能算法的高級功能和針對各種用戶需求開發(fā)的其他功能。
由于功能較多,下面將展示幾個主要功能的實(shí)現(xiàn)。
4.2 首頁
主界面底部有四個導(dǎo)航欄,分別是主頁、詳情、報表和發(fā)現(xiàn)。主頁中間使用時間序來展示用戶的收入和支出總數(shù),點(diǎn)擊具體日期可查看這一天的收支明細(xì),如圖4所示。
4.3 記賬
記賬的方式有三種,第一可以人工錄入消費(fèi)數(shù)據(jù),第二是進(jìn)行OCR識別,第三是可以批量記賬。點(diǎn)擊上傳圖片的按鈕,選擇拍照或者從相冊選擇圖片,選擇是否進(jìn)行圖片增強(qiáng)處理,然后點(diǎn)擊圖片中的識別按鈕,進(jìn)行OCR識別,最后點(diǎn)擊保存按鈕來保存消費(fèi)數(shù)據(jù)。批量導(dǎo)入界面的右下角有兩個懸浮按鈕,點(diǎn)擊上面一個,可以從相冊中選中多選圖片導(dǎo)入,再點(diǎn)擊下面一個懸浮按鈕進(jìn)行識別,識別出來的消費(fèi)數(shù)據(jù)將存儲到數(shù)據(jù)庫,并顯示在頁面上,如圖5所示:
4.4 用戶信息
在底部導(dǎo)航欄的任意一個界面左滑,打開抽屜界面,主要有以下幾個模塊,收入類型、支出類型、分析報表、批量導(dǎo)入、切換老年版和登出。左滑打開抽屜,點(diǎn)擊抽屜界面的用戶名,會進(jìn)入用戶信息界面,在這里可以更改用戶名和修改密碼,也可以添加個性簽名,如圖6所示。
4.6 模式切換
切換老年版界面是普通模式的簡約版,它去掉了報表界面和發(fā)現(xiàn)界面,并且把字體調(diào)大了,如圖7所示,解決老年人在視覺上可能存在的一些問題,如視力下降、老花眼等,提高軟件的可讀性和可用性,從而為老年人提供更好的數(shù)字體驗。
5 結(jié)束語
本軟件通過對用戶和市場進(jìn)行調(diào)研,開發(fā)了一款跨平臺的智能記賬軟件。本軟件創(chuàng)新性地實(shí)現(xiàn)了跨平臺的財務(wù)管理服務(wù),具備OCR智能記賬功能,并為面向更多年齡層而推出了簡約版模式,同時還積極推廣品牌,成為全面、便捷的財務(wù)管理解決方案。在軟件中,用戶可以輕松管理自己的財務(wù),包括收入、支出等方面。該軟件不僅具有快速記賬的功能,還提供了數(shù)據(jù)可視化分析,幫助用戶更好地了解自己的財務(wù)狀況。特別是為了提高記賬效率,開發(fā)者提高了OCR錄入,為了確保準(zhǔn)確性和穩(wěn)定性,采用了分類識別的方法,根據(jù)不同類型的票據(jù)調(diào)用不同的接口進(jìn)行識別,此外也利用OCR實(shí)現(xiàn)了批量圖片的導(dǎo)入,做到無痛快速記賬。