幹部測評統計分析系統的設計與實現

論文類別:計算機論文 > 計算機應用論文
論文作者: 費江濤 閻慧
上傳時間:2008/7/30 15:55:00

摘 要 通過分析幹部測評工作的特点,利用圖像識別技術采集數據,采用優化的數據統計算法计算測評結果,提供了靈活的表格定制功能,設計了幹部測評統計分析系統,從而提高了测評數據的統計速度和準确率。
   關鍵詞 幹部測評;圖像識别;數據統計;表格定制
1 引言
   黨的十六屆四中全會提出了“抓緊制定体現科學發展觀和正確政绩觀要求的幹部實績考核評價標準”的要求。為了做好領導幹部的考核和評價,各單位需要結合實際情況設定考評內容、指标,科學設置實現的途徑、方法,以及正确運用考評結果,從而產生不同種類的測評表和統計分析方法。因此,迫切需要一個功能完善的測評統計系統對各種測評內容進行識別,對測評數據進行統計分析。
本文通過分析幹部測評工作的特點,設計出幹部測評统計分析系統的體系結构,然後對系統中的關鍵技術進行了闡述,最後介紹了系統的應用情況。

2 系統設計

2.1 需求分析

   通過對幹部測評的內容和標準進行分析,我們發現幹部測評的內容较多,測評項目變化比較頻繁,如果系統采用統一的測评格式不能滿足用戶的需要。同時,大部分單位采用“無記名投票”的方式對幹部進行評價,这種方式簡單易行,用戶容易接受。我們對用戶的選票進行对比後發現:用戶的選票的內容和數目雖然各不相同,但是基本格式比較類似,可以歸類实現。因此,我們決定從選票著手,對選票進行掃描转換成圖像格式,利用圖像識別和分析算法對選票進行分析计算,從而得到準確的測評數據。
   通過對基於圖像識別的相關系統進行對比,我们發現對於圖像的識別可以分為三類:①對復雜的圖像進行識別,如人臉、指紋的識別。②利用的專用的硬件設備對專用的卡片進行識別,如考試答題卡的識别。③對簡單圖像的模式識別;如对汽車牌照數字的識别。我們使用的選票(測評表如圖1所示)是普通的表格(圖1),既沒有指紋的復雜圖像,也沒有答題卡的標準格式。在每个表格中一般是用戶填寫的勾或圈。如果系統進行模式識别,需要存儲大量的勾或圈的特征模式庫,將用戶的勾和模式庫中的圖像數據進行對比,这樣識別結果受到模式庫大小的限制,同時識別的速度較慢。因此我們采用“定位識別區域,比較像素數目”的方法對測評表图像進行識別,這種識別方法在保證識別正確率的同時,提高了識別的速度。
干部测评统计分析系统的设计与实现圖1 測評表圖例

   系統完成對測評表圖像的识別後,得到了測評數據。我們需要对測評數據進行存儲。测評系統的數據主要包括:測評主體信息,測評表信息、測评數據和系統配置信息。系統中沒有多媒體數據,數據量不大,因此,采用小型的數據庫系統可以滿足數據的存儲需求。
系統需要為用戶提供統計結果。因為測評的內容較多,並每個測評項目包括多個測評小項,所以,系統要提供對不同測評項目的結果進行統計,同時將得票數加權計算成百分制,最後按照不同的排序方式直觀地顯示給用戶。
   最後,不同的測評表具有不同的格式,相同的表包括測評項目不同,因此,系統需要提供修改測評表类型和測評項目的表定制功能。

2.2 系統結構

   根據系統的需求分析,系統采用三層結構:數據庫層、數據處理层和用戶接口層,如圖2所示。
   (1)數據庫层是存儲數據的數據庫系统。為了達到較小的數據冗余,保證數據記錄间邏輯關系合理,在測評項目修改時,減少對測評數据的影響。數據庫的設計按照“数據表盡量小,多表連接”的原則,使用小型的數據表存儲基本數據,將基本表連接後提供不同的数據視圖。數據庫的結構如圖3所示,數據庫中主要包括7個表:測评數據表、人員信息表、測評客體表、測評內容表(测評小項表)、測評等級表、测評大項表和表基本信息表。各個表之間按照惟一的ID號进行關聯。從而構成完整的測評数據庫。
圖2 系統結構圖
干部测评统计分析系统的设计与实现

圖3 數據庫結構和關系圖

免費論文下載中心 http://www.hi138.com
   (2)数據處理層包括數據的讀寫、分析和統計接口。這一层是系統的核心部分,它負責從底層數據庫中讀取數据,將數據統計分析後,提交給上層界面顯示;並且從用戶接口層接收到輸入的數據进行處理,最後寫入到數據庫中存儲。處理層包含系統主要的類:初始化和連接数據庫的CADORecordset 類和CADOConnection類,用於數據管理的CDataMgr類,用於數據統计的CDataStat類。
   (3)用戶接口層包括圖像识別、數據顯示、系統设置和打印排序等功能。圖像識別功能提供了用戶選擇測評主體和顯示識別進度的界面。數據顯示功能具有按照測評項目、測評小項、測評等級等多種形式顯示測评結果的能力。系統設置包括對測评主體、測評表類型、測評表等級、測評表項目等信息的設置。排序操作提供了對測评結果按照不同屬性進行排序的功能。打印操作和普通系統的打印功能不相同,它將測評結果數據導出到Word中顯示,用戶可以根據自己的需要,修改格式後打印。它避免了部分系統不能完全顯示打印數據的缺陷,同時提高了打印操作的靈活性。用戶接口层含有最多的類,其中有:完成打印功能的CDataPrint类,提供排序的CDataSort類,顯示主窗口的CMainFrame類,顯示主要框架的CUserInfoView類和CUserListView類,还有實現系統設置功能的類。

3 关鍵技術

3.1 圖像識别

   由於經過掃描設備掃描生成的是8位BMP灰度圖像文件,文件的每個字節數據對應圖像的单個像素,根據這一特點對圖像的每個有關像素進行讀取和分析。
   處理步驟如下:
   (1)將文件中的數據讀入緩沖區中,並得到位圖文件的大小,如圖像高度、寬度以及每一行的像素個數。
   (2)從數據緩沖區的一個較小偏移處開始順序读取。為了避免掃描圖像出現黑邊干擾判讀,取值應避免是圖像邊界,以後每讀到圖像邊界都應跳過邊界範圍。
   (3)由於對於位圖的读取是按照從下至上、從左至右的順序逐行逐個像素點读取。因此,理想情況下得到的第一個深色像素點且滿足兩根線交叉点條件的點應是表格的左下角點,如果得到的第一個这樣的點經過判定不是左下角点,則應該是圖像出現右下傾斜的情況,得到的應是右下角點。為避免這種情況,可給出一定的判定條件,保證得到的第一個滿足這些條件的點應是表格的左下角點。
   (4)根據表格的特點和實際測評对象數沿線搜索得到評价區域的左下起始位置點。在搜索過程中,通過得到的一些與表格起始位置點同行或同列的點的情況,判斷出表格是否發生倾斜,如果傾斜超過一定程度,則應認為這個圖像出錯,應重新掃描這個表格生成新的圖像文件。
   (5)找到評價區域左下起始点後,從通用性來講,應該找到第一行每個單元格的下邊界点,從而以此為依據得到每一列單元格的寬度;再找到第一列每個單元格的左邊界點,從而可以得到每一行單元格的高度。根據這些寬度和高度值得到每一個單元格的四個角點的位置,確定每一個單元格的範圍。
   (6)根據每個單元格的範围,取一定的子範圍搜索每個單元格內的深色像素點的個數,為避免可能將邊框包括在內的情況,對于單元格中同行或同列的深色像素點只按照一個深色像素點來計数,這樣即使將四個邊框都包括進來,也只會認為只有四個像素點,不會對結果有大的影響。
   (7)根據測評表要比較的項目情況,根據先前給出的有关參數,以一定數目的單元格为一組,對中間出現的深色像素點個數進行比較,找到深色像素點個數最多的單元格,得到其对應位置,進行相應項的计數,作為後面的統計依據。

3.2 數據統計和分析

   按照需求分析,系統需要提供按照測評項目和不同的測評小項的數據統計,同時提供票數、分數和等級百分比等多種形式的綜合測評結果。因此,系統需要將測評数據統一存儲,按照用戶的需求快速地查找並統計出測評結果。為了實現這個目標,系統從数據庫層到數據的處理層進行了合理的設計。
   首先,為了減少數據的冗余,并提供綜合的測評數據,系統的基本數據:人員信息、測評項目、測評等級、测評小項等分別存儲在不同的基本表中,並且具有連續的惟一ID號。如圖4所示,測評等級信息表中的每一個等級具有惟一的ID號“dj_djid”,並且ID號從‘1’連續編號到‘5’。因此我們在測評數據表“cpdata”中的等級字段只需要存儲等級ID號即可,從而保證了較小的數據冗余度和靈活的数據修改能力,最重要的是ID號可以用於數據統計時數组的下標。
圖4 測評等級信息表
   所有的測評數據儲存在基本表“cpdata”中。如圖5所示,這個表包含基本信息的ID號,如人員ID,測評項目ID和測評等级ID,除此之外,还有所對應的得票數“cd_shumu”。因此,系統通過读取此表的信息就可以獲得所有的數據。
图5 測評數據表
   對多人員、多項目的分別統計是非常耗時的工作,SQL語句沒有提供這種功能。因此,我們采用一種基於项目ID號的統計方法。系統将測評數據讀入到一個二維數組中,同時初始化統計結果的數組。假設我們需要統計不同等級的得票數,我們初始化一個长度為等級數目的數組dj[DJNUM]後從第一條記錄開始計算。如圖5所示,第一條記錄等级ID號為‘2’我们將對應的得票數‘12’加入到數組dj[1]中。依次類推,當我们瀏覽完所有記錄時,各個等級的總得票數存入到数組dj中。我們僅讀取一遍數據就可以完成不同數據的統計,從而大大提高了數據的統計速度。
   如上所述,我們在瀏覽記錄的同時可以對多項內容進行累加,從而得出多項統計結果。同時,每一測評等級本身具有权值,將此等級所得的票數和權值相乘就得出用戶所得分數。因此,系統只需進行一次數據記錄的遍歷,就可以得出所有的統計值,保證了數據統計的效率。

3.3 測評表的定制

   用戶使用的測評表多種多样,不但格式不盡相同,測評项目也有所變化。因此,為了對多種测評表進行圖像識別和數據統計,系統需要提供對測評表的定制功能。通過對不同的測評表進行對比,我們發現測評表所包含的信息有五類:測評主體、測評客體、測評項目、測評等級和基本信息。
   (1)測評主體,即被評價人員。不同的測評表所包含的測評主體的数目不相同,相關信息有所差異。因此,測評表的定制功能需要設置測評主體的數目并提供填寫相關信息的接口。
   (2)測評客體是指參评人員的類型,如領导和普通人員對測評主體的評價分量是不相同的。不同測評客體的權值也不相同。
   (3)測評項目指評價指標,測评表的評價項目不相同,每一種評價指標的權值不相同。並且可能測評项目下含有不同的測評小項。测評項目是測評表的關鍵內容,需要詳細進行劃分。所以,系統設置了測評項目和測评小項兩類數據,分別存储在不同的基本表中。
   (4)測評等級的變化不大,每一種等級需要對應不同的分值,用於最終測評主体得分的計算。
   (5)表基本信息包括表的ID號、表的名稱、所屬的基本類型、表的行列數、表的測評項目數、表的测評等級數和相關的備註信息。
   根據以上對測評表的分析,系統需要分別提供對這些內容的設置接口。用戶定制或修改表內容是一個自頂向下的過程。首先,用户添加表的基本信息,如:表名稱、表的基本類型和行列數。然後,用戶分別添加各項的信息,在添加測評項目時,先添加测評大項,然後將所屬的測評小項逐一加入。同時,在每項內容的設置界面上提供了查看、修改和刪除項目的功能。
   通过對測評表每項內容的設置,系統提供了統一的表定制功能,這種設置方式簡單、靈活。用戶添加新型的測評表後,系統自動讀取表的關鍵信息,如行列數,從而確定圖像識別的有效區域;讀取測評項目和等級信息,完成圖像信息和測評數據的轉換;讀取所有信息完成測评數據的統計和分析。

4 應用情況

   幹部測評統計分析系統已經應用於測評工作。我們使用富士通“fi-2150c”型掃描儀將紙質測評表掃描成灰度圖像,利用本系統對圖像文件進行識別和數據統计。
   首先,由於圖像的識別速度遠大於圖像的掃描速度,因此整個圖像识別工作的速度取決於測評表的扫描速度。同時系統對掃描的圖像要求較低,所以掃描速度相對較快,利用富士通掃描儀大约每分鐘可以掃描20張測评表。
   在圖像識別後,測評數据自動存儲到數據庫中,用戶根據自己的需要查看測評结果。數據的統計速度較快,我們利用10000張掃描表進行測试,數據計算所花費的時間为13ms。
   通過對統計結果進行验證,系統除不能識别嚴重變形的圖像外,統计數據的正確率達到100%。
   本系統利用圖像識別技術對測評表進行數據識別,采用优化的數據統計算法達到多种測評數據的高速統计,提供了靈活的表格定制功能,對不同格式的測評表進行數據統計,從而大大地提高測評數據的統計速度和準確率,減輕用戶的統計負擔。

參考文獻

[1] 建立體系科學發展觀要求的黨政領導班子和領導干部綜合考核評價軟件體系[EB/OL]. (2007-11-9) [2008-1-10].http://www.cnomr.com/software/165223297. html
[2]字符結构知識在車牌識別中的应用[EB/OL]. (2007-5-26) [2008-1-9]. http://www. okwang.cn/h/090130808/239820.htm
[3]于炳琪,陳傑春.用Delphi開发質譜圖掃描圖像識别系統[J/OL]. 電子器件,1999,22(4),317-321
[4]薩師煊,王珊. 數據库系統概論[[M].北京:高等教育出版社,2000.2:84-86
免費論文下載中心 http://www.hi138.com
下载论文

論文《幹部測評統計分析系統的設計與實現》其它版本

計算機應用論文服務

網站聲明 | 聯系我們 | 網站地圖 | 論文下載地址 | 代寫論文 | 作者搜索 | 英文版 | 手機版 CopyRight@2008 - 2017 免費論文下載中心 京ICP备17062730号