Wednesday, September 06, 2006

Bayesian Theorem

簡單來說,貝氏定理是結合事前機率與條件機率,導出事後機率的過程。
Wike的解釋: here

pattern recognition

1. 張智星: 資料分群與樣式辨認
2. Wiki: 名詞解釋

Pattern recognition aims to classify data (patterns) based on either a priori knowledge or on statistical information extracted from the patterns. (定義pattern)The patterns to be classified are usually groups of measurements or observations, defining points in an appropriate multidimensional space.

(一個完整的樣式辨認系統應有的內容)
A complete pattern recognition system consists of a sensor that gathers the observations to be classified or described; a (特徵截取)feature extraction mechanism that computes numeric or symbolic information from the observations; and a (分類器)classification or description scheme that does the actual job of classifying or describing observations, relying on the extracted features.

常見字

iteration (n.) 重覆
stroke 筆劃
multi-expert strategy 多專家決策

Monday, September 04, 2006

今天的進度

弄了三天.. 終於成功寫出 Zhang-and-Suen 的 thining algorithm 了
發現處理後的雜訊還蠻多的, 當然也跟手寫字元的大小和有關

首先, 用直接用滑鼠在電腦上寫的字來進行 thining (用黃智群學長的程式寫的字)
結果其線條較直, 雜訊不多, 不過筆劃和筆劃交連的地方還是會有分叉的情形
之後用佩君和我的手寫字, 掃描到電腦後, 存成灰階的bitmap來進行 thining (掃描後的手寫字)

thining 前的影像分成兩種:
(1) 掃描後的不經縮放的手寫字, 存成 100x100 或120x120 pixel的大小
(2) 將手寫字放大至 300x300 pixel
結果, 兩種影像產生的 skeleton 很相似
不過比起直接在電腦上的手寫字, 掃描後再經 thin 的手寫字:
a) 雜訊較多,
b) 筆劃連結處的分叉較明顯,
c) 筆劃線段較為扭曲,
d) hairy problem 有出現
e) 太近的筆劃其 skeleton 會連在一起

之後希望能多找人來寫字, 然後從中挑出文字較具個性化的人, 做為手寫字的樣本來源, 使用這些人的文字來做分析, 以建立測試的手寫文字資料庫 (因為不知道如何能使用現成的手寫字資料庫), 希望用簽字筆來輸寫文字, 因為其文字較粗, 容易取得較佳的 skeleton.

Tuesday, August 22, 2006

使用fontforge

Font View
字型:
文鼎 PL 標楷體(繁)
排列順序是依照 Unocode 的順序排的, 沒有字元的地方會出現 X

























(1) A 96 pixel display showing the various vertical metric lines.
(2) 藍: vertical baseline, 紅: vertical origin, 綠: It shows where the vertical advance is while the green line on the right shows how long it is.(應該是指EM的大小吧...)

Wednesday, August 16, 2006

[目錄]Feature Extraction Methods

介紹截取特徵的方法和目的. (for OCT)
目前只看到 chapter 1
因為後面的演算法用了很多 "fourier transformation" 和 "線代"
要去複習才看得懂QQ...

《FEATURE EXTRACTION METHODS FOR CHARACTER RECOGNITION--A SURVEY》 (1995)

目錄

1. Introduction
1.1. lnvariants
1.2. Reconstructability

2. Features Extracted from Gray-scale Images
2.1. Template matching
2.2. Deformable templates
2.3. Unitary image transforms
2.4. Zoning
2.5. Geometric moment invariants
2.6. Zernike moments

3. Features Extracted from Binary Images
3.1. Template matching
3.2. Unitary image transforms
3.3. Projection histograms
3.4. Zoning
3.5. Geometric moment invariants

4. Features Extracted from the Binary Contour
4.1. Contour profiles
4.2. Zoning
4.3. Spline curve approximation
4.4. Elliptic Fourier descriptors
4.5. Other Fourier descriptors
4.6. Evaluation studies

5. Features Extracted from the Vector Presentation
5.1. Template matching
5.2. Deformable templates
5.3. Graph description
5.4. Discrete features
5.5. Zoning
5.6. Fourier descriptors

6. Neural Network Classifiers
7. Discussion
8. Summary

[內容整理] FEATURE EXTRACTION METHODS

《FEATURE EXTRACTION METHODS FOR CHARACTER RECOGNITION--A SURVEY》 (1995)

Abstract
This paper presents an overview of feature extraction methods for off-line recognition of
segmented (isolated) characters.

Selection of a feature extraction method is probably the single most important factor in achieving high recognition performance in character recognition systems. Different feature extraction methods are designed for different representations of the characters, such as solid binary characters, character contours, skeletons (thinned characters) or gray-level subimages of each individual character.

The feature extraction methods are discussed in terms of invariance properties, reconstructability and expected distortions and variability of the characters. The problem of choosing the appropriate feature extraction method for a given application is also discussed. When a few promising feature extraction methods have been identified, they need to be evaluated experimentally to find the best method for the given application.

* Different feature types may need different types of classifiers.

* ["特徵截取"的定義] Devijver and Kittler define feature extraction [page 12 in reference (11)] as the problem of"extracting from the raw data the information which is most relevant for classification purposes, in the sense of minimizing the within-class pattern variability while enhancing the between-classs pattern variability".
(就像之前有篇paper說的, 選用的特徵值, 必須使同一個使用者的每個文字間的差異
達到最小, 但不同使用者的文字間要有明顯差異, 這樣才能區分不同的人寫的字)

* 一個好的 feature extraction method 對你將應用到的地方是很重要的.

* Also, more than one pattern class may be necessary to characterize characters
that can be written in two or more distinct ways. (要考慮到一個字元的不同寫法)

Tuesday, August 15, 2006

standard font list

1. 文鼎鋼筆行楷

文鼎私房字

軟體介紹

談漢字電腦字型的寫法問題

from:《文鼎字型-字型教室》2003年

(一)文字之形成,必經演化及約定俗成之過程

電腦字形之產生,乃是近代印刷科技發展的一個配合產物。它雖然是一種科技的表現,但漢字的表現上其所要呈現的內涵,還是東方漢文字的風華再現。
.....
中國文字的結構,由於是由許多筆劃之元件所組成,而其發展及演變,也跟著書寫字體之演變,整個約定俗成的過程有其發展之軌跡,但真正要寫成什麼樣子一切還是操縱在書寫者手中。
.....
同樣一個字,由於結構、筆勢、書風之差異,而致使其展現出之文字風貌或柔媚、或勁健;或刀劈斧砍、或溫柔婉約,各呈風騷不同。
.....
因此在印刷字型的開發上,定義每一個字碼的明確文字形狀,這是絕對必要的。所謂書同文,車同軌,這是文字使用上,必須先行建立的共通標準。又因為文字寫法 之形成有其演化的過程,是有其文化性,及習慣性的,因此其完整文字之呈現通常是非常主觀地感受地。因此在一套印刷文字的開發同時,其文字應用的目的一旦設 定,就要同時考慮既要滿足共通標準之需求,又要滿足讀者習慣領域、文化感受的需求。

(二)字形之正、異體字問題及筆法、寫法的問題

圖一~三分別代表古代書法作品、現代業界印刷用字型、現代教育用字型之不同風貌。
.....
要探討寫法的問題,首先我們要先釐清正、異體字的存在的問題。我們從古代書法作品中發現無論寫法或運筆其自由度相當之高,如《既》、《高》、《顙》、《頤》之寫法,與現代之用字之寫法是不同的,原因為何呢?
.....
其原因乃在於文字歷史演化下之產物,這些同義同音卻不同形的字形,其演繹都散見於我國歷代的典籍書冊中,我們不能無視於它們的存在,因為這些就是我們文化 的一部分。
.....
而我們在繁體中文電腦系統中因為系統的限制、效率之問題,有使用字數之限制。因此 所使用的Big5字集,其中所收錄的字形就必須取較為常用的字形,因而形成正字與異體字的雜混情形。如《頤》、《顊》,前者被收錄在Big5字集中之第一 字面(常用字面),後者被收錄在Big5字集中之第二字面(次常用、罕用字面),因為我們使用的Big5字集收錄的漢字僅有13,060字,但依教育部所 收錄的異體字集,則共有106,152字。這是因為Big5字集是針對我們日常較常使用的漢字收錄,因此必須針對商業上使用頻率多寡而做取捨。但教育部異 體字之收錄則希望能儘量收盡文獻、文化用字,因此有106,152字之龐大之數,而這麼大的字集,如何使用也是一大問題,我們將於下其中討論。

除 了文化用字族群外,尚有一般人民之姓名用字之大族群,這部份依據最新的更新資料,文鼎提供給健保局承保系統所使用的ATE-EUC大字庫系統中,所使用的 字就有73,973字之多,這比現有戶政單位所使用的字數還略多些。但以文鼎承做主計處的CNS標楷體12~15字面時所做的文字整理,發現其中的重複 字,竟有上萬字,也就是說這73, 973字其實至少還可刪掉上萬字。為什麼會發生這樣的事呢?除了人為因素外,還有些瓶頸待克服,我們接著說明。

大家可能想知道,結合《文化用字》、《戶政用字》其聯集字集到底有多少字?目前來說是:不知道!

因 為這工作還未經整理過。但在整理前有一件事要先做,那就是要定義《寫法的標準化》,這邊的寫法不是指著正體、異體的寫法,正體、異體之差異,在文字發展上 是可考據的,因此要釐清並不難(我們已就此點做過說明)。但這裡的《寫法的標準化》,指的是一點一捺的正確寫法,因此更貼切的來說,應該是《筆法、寫法的 標準化》。(見下表)

























(三)應用上及形成的影響或是跨國際間漢字使用的狀況

在上期中我們談論了文字字形、寫法在實事求是的科學角度下,必須予以明確定義的必要性。

但若如教育部所定寫法、筆法規範,來設計所有的字體因為很難跳出這 個框架,所以很難適用於各種不同造型的字體,以符合市場各種不同的需求。因此,根據應用上的需要,通常會將寫法要求標準予以區分,就如發展較完整的日本來 說,就分為教育用字由文部科學省負責、產業用字則由通商產業省負責,而現今流通於市的平成明朝體,就是由此單位所規劃。

為避免使用字形紊 亂,大陸則是號令一致由《電子技術標準化研究所》訂定宋、仿、楷、黑四套外框字型標準、頒訂多種的點陣字國家標準,任何電子產品要內嵌字形,若要用到點陣 字,只能跟國家授權,不能跟廠商購買。
.....
而以國內來說,教育部曾開發多套標準字體書面母稿(宋、楷、黑、隷),希應用於國中小學教育用書中。但至今國內目前流通的電腦標準字體字型,也只有《文鼎標準楷書》取得教育部審核通過之認證書,其他標榜標準字體之廠商,並未能獲正式認證。

現 今,政府大力推動e-Taiwan之六年國建計畫,為能統一中文之使用。因此,若已被收內在國家標準CNS之用字,其寫法標準由教育部負責製作、審核未收納的字,則由行政院主計處負責編碼、整理、製作。但這些都屬官方正式用字,沿用的都是教育部的標準宋体、楷體之寫法、筆法標 準。但產業上的用字並沒有哪一個單位負責或出來整合。以目前來說仍以Big5字集為主,一共有13,060個漢字,但其中每一碼位的定義,並沒有標準,因 此就顯得非常雜亂,尤其是符號區,更是各家不一,不能說哪一家對,哪一家錯,因為沒有標準!

下表,列舉了國內兩大字型廠商、視窗系統所內附多種基本字型之寫法。
我們以經過教育部認證過的《文鼎標準楷書》為基準,來做一些比較。


‧MS新細明《神》、《祈》其部首寫法竟不同。
‧大部分印刷字體(明、黑、圓)與書法字體(楷、隷)會有兩種不同系列的寫法設計。
‧標準字體因經過來源出處的考證,因此會與仿間流傳的寫法有些出入。
‧總體來看,因為漢字之複雜及字數繁多,因此每家廠商之字體寫法統合上,都可見到不是那麼完整。


我們知道要維持產品的完整,必要的寫法整合、一致性當然是必要的,但若過度的追求標準化,則印刷文字的文化性、藝術性、設計性,相對的就會降低
.....
當我們的書寫習慣逐漸由手寫轉而使用電腦輸出時,以往豐富的個人特質書寫風格, 也會逐漸被制式的電腦字型所取代。因此在追求印刷字型這種工業藝術的更高產品品質時,我們也希望能找出一種能平衡工業與藝術的產品設計,文鼎希望能開創一 種字型產品,既能讓大家在電腦上方便使用,又極具藝術性、文化性,以作為當代印刷字型的精神之作
.....
但同一種字體,所有的《的》都是一樣的,不能像手寫文稿般,文字能依上下文字而去作行氣的調整變化,這非關正確性, 而是一份承載情感的感性。

這是我認為身為當代印刷字體開發廠商應該去追求的工藝文化,因此我認為具教育性、政府公文書用字,應嚴格追求寫法、筆法之標準化;但在產業、文化用字之寫法、筆法上,則應在標準化、文化性上求取應有的平衡,以求能創作出具風格特色的當代印刷字體,以豐富我們的人文生活。

我們一再強調印刷字型的文化性,我們來看看在追求全球化趨勢下,在此的現狀為何?

我都知道在電腦字型編碼上,我們已逐漸採用全球通行的Unicode編碼,大家原本認為一套Unicode/CJK就可通用於亞洲漢字語系,這是大家認為全球化趨勢下的一個設計,我們來看看在實際面上會有的問題。

下圖(圖一)是我擷取自大陸所出版的國家標準13000.1-93一書中,將Unicode中放在同一碼位中各國之來源字都列示在一起,如《台》字,都依序存在於原簡体GB、繁體CNS11643、日文JIS、韓文KSC編碼中(編碼說明見圖二)。


圖一


圖二

我們來仔細探討其中各地區編碼寫法上的差異,請見下表幾個例字及說明。



每個地區都有不同的寫法或筆法,雖在定義上該碼位上的字都視為同一個字,但使用在不同地區時,就是要用該地區習慣的寫法,甚至還要 分是教育及政府用字或是一般產業用字,這是全球化理想下無法以一套字通行於天下所滿足的,若硬要統一,則各地區的文化特色便蕩然無存,無論哪一個地區的政 府或是一般使用者都無法認同的。

我們一連談了三期的印刷字形寫法的問題,我們從漢文字的發展談到標準化的問題,也從文化傳承談到全球化趨 勢的面臨問題,希望能對大家有所幫助。這些文字是無時無刻都跟我們的生活結合在一起的,不相信的話拿起你的手機試試裡面的用字,看它的寫法是依據什麼?就 知道廠商有沒有用心?

不過在文章最後我想提出一點給大家思索,我們教育部所設計的標準宋體造型,很不同於一般市場的明體或宋體造型(見上表例字),我們有機會的話好好探討一下。

編碼標準比較

from: 《香港科技--數碼21資訊科技

大五碼 (Big-5)

大五碼是台灣各大中文軟件發展商十多年前訂立的編碼標準,包含約 13,000 個繁體中文字。

國家標準碼 (GB)

國家標準碼是中國政府的國家編碼標準。它的最新版本是於二零零零年公佈的 GB 18030-2000,包括約 27,000 個中文字符。

ISO 10646 國際編碼標準

ISO 10646 國際編碼標準是由國際標準化組織制訂的編碼標準,包含世界上主要語文的字符。其中的漢字部分,將中國、台灣、日本和韓國所訂立的漢字編碼標準統一,成為一個約有 70,000 個漢字的字集。ISO 10646 國際編碼標準可被視為與統一碼 (Unicode) 等同。

Sunday, August 13, 2006

Adobe Tecnical Notes 閱讀文件整理

from:Font technical notes

Technical Note #5080 ---May 27, 2003
《Adobe-CNS1-4 Character Collection for CID-Keyed Fonts 》
(發展字型時需要的字元集)

以下摘自其Introduction:
This document is useful for font developers wishing to develop Chinese language fonts for use with PostScript ® products, and for software developers and end users wishing to access glyphs based on this character collection.
(此文件適用於使用Postscrip的產品以開發中文字型者、軟體開發者、及想取得字型中的 glyph 資料的使用者)

Technical Note #5092 ---Sep. 12, 1994
CID-Keyed Font Technology Overview
之前文章有提到

文鼎中楷

CMAP
只有一個表
EncodeTab=0, PlatfID=3, EncodeID=4

Saturday, August 12, 2006

上屆大四學長的程式

TTFmodifier.cpp
1. 用 VC++ compile 時沒反應, 然後再按 execute 會出現記憶錯誤, 按"確定"後整個VC++就關掉了







2. 用 DevC 跑沒反應

Windows API 入門

Windows API入門 (2004-06-21)
from: 天藍工作室

目的: 使用 Windows API 來繪製視窗
GDI (Graphics Device Interface) 函數專責處理程式介面和顯示卡的資料傳送,我們只需建立一個 device context handler (HDC) 就能使用 GDI 函數

* 在視窗程式中,每個物件都需有一個 handler 作為介面,這點要緊記。