2009年6月3日 星期三

尚未完成的簡單辨識



還沒完成

我是想弄出之前學長講的簡單辨識

要的是2-->4-->6

輸入123456

在第六行的時候跳出OK

程式結束

2009年6月1日 星期一

極重度多重障礙孩童如廁訓練成效之研究

撇開經濟能力不論。一個人能獨立生活與否,基本的如廁技能是一個非常重要的指標。我想,絕大多數的身心狀況正常的人們在心智上發展至一個程度時,如廁即成了在基本不過的行為。甚至大多數的人連自己是怎麼學會的都不記得。但是,對於身心障礙者而言,如廁則成為了相當艱鉅的難關。文中緒論的一項統計中提到,31.7%的智障孩童在7歲時還未發展出控制膀胱的能力。17%的20歲智障成人也無法順利控制排尿。試想,一個人若是一生中都得在旁人的協助下如廁,不但代表著無法獨立生活。更會造成對心理上的負面影響。這部分也許一個心靈發展健全的成年人可以適應,但對涉世未深的智障孩童來說。周遭人異樣的眼光甚至是排擠,想必會對幼小的心靈造成嚴重的創傷。有鑑於以上,如廁訓練的重要性可見一般。

文中提到了三種如廁訓練方法。分別是前向移動訓練法,快速如廁訓練法以及便盆提示法。各有各的優缺點,因此應該參酌每個智障孩童的狀況,例如感官能力、手部控制能力、心智年齡等等...去設計出最適合個案的訓練方法。再者,現今科技輔具的發展已今非昔比。利用更有效的輔具來提升並改良訓練方式及效率,將能造福更多需要幫助的孩童。我們實驗室另一小組所研究的Zigbee即正往此方向發展。

訓練方法固然重要,也是本篇文章主要闡述的重點。但我認為心理上的輔導以及教學方式的調整也是在面對智障孩童一個非常重要的環節,包括在如廁訓練的流程中,都應該加入更多心理層面輔導的要素以及另外設計過的教學方法,去和一般的如廁訓練法做結合。畢竟,讓孩童能夠具備足夠的”能力”以及”自信心”面對未來是最重要的。好的訓練法應該是要將兩者都考量進去的。

2009年5月25日 星期一

Personalizing Threshold Values on Behavior Detection with Collaborative Filtering

這是一篇利用RFID來辨識高階人類行為的論文。在之中,他們所讀取到的RFID標籤和我們的專題相同為一有順序性和次數性的序列資料


此為一個讀取結果的例子,分為兩個使用者以及兩個不同的狀況。


再者,他們將數據依照先後關係做個別整理並統計。藉此推論出每個使用者在特定情況下的行為模式。其詳細步驟如下圖。
將多組結果建構成資料庫後。在使用時輸入某數據樣本,即可輸出經比對後的對應行為模式。其中關鍵包括門檻值(threshold value)的決定,此值為各物件和大方向的一個用百分率描述的關係值(例如:關烤箱à離開家裡 的機率值為28%),文中提供了兩個決定此值的方法。經了解後,我想對於思考我們專題的辨識問題是有幫助的。畢竟又多瞭解一種幫助辨識的方式。
PS:圖皆擷取自本論文

一個辨識的想法

如同前面的文章,本篇仍將工作流程切割為(AàBàC),並嘗試以信念網路的方式來表達工作被完成的機率。




此為我所假定的簡單信念網路。流程B與流程C旁邊的表格表示在A為是(否)的情況下B和C被完成的機率。而最下表表示在B和C為是(否)的情況下工作完成的機率。實際使用時,可將標準訂為”P(完成)>0.85,則判定為完成工作"

實際應用時,為了加入次數性的考量。ABC各會被分為A1A2…B1B2..C1C2等等…再者,機率值的決定也需要透過實驗來達成。各流程間的關係也將不是如上表所示,而是會由A1A2..B1B2..C1C2所組成的複雜網路。此只為一個想法…..

2009年5月20日 星期三

一個辨識的想法

之前的想法是,先將演算法的基本觀念及相關知識瞭解到一個程度之後,在開始來看問題。但後來發現要將所學的演算法實際與要解決的問題相結合是件相當困難的事。有種不斷在紙上談兵的感覺。後來跟學長討論加上老師的一句話。讓我決定反過來先看問題,在嘗試可以搭上邊的任何演算法。藉此來加強邏輯思考能力。

這是滿久以前在看搜尋方法時想到的。

現在將一個工作的流程切割為(A-->B-->C),在此順序中。假設我們已經針對這項工作的”順序次”進行了多次實驗並加以統計分析。得到了一組最佳的標籤順序為:

(A-->B-->C)

並假設我們已經針對這項工作的”讀取次數”進行了多項實驗並加以統計分析。得到了一組最佳的次數標準為:

A*1 B*1 C*1

(P.S此即為5/17所發表的玉米濃湯問題的簡化版本)

設計一個類似樹狀圖的圖如下
此為一個簡單模型。其中,將每個A,B,C設為代表工作物件的標籤。最上面一層為Reader讀取到的第一個標籤的可能,以此往下類推。圖中每個顏色線段都是一個向下方向的箭頭。藉此,在一個階段的工作中,所讀取到的所有標籤組合都會包含在這個類樹狀圖中。而其表達可看成是一條路徑。例如(B-->B-->B-->A-->B-->C)或(紅-->紅-->黑-->紅-->藍),這樣的組合即包含了順序性及次數性。
前面所假設出來的順序次數為A-->B-->C各一次。換句話說,每組路徑只要達到ABC的先後順序及各一次的次數。即辨識為完成工作。
再者,可以透過一些限制上的設計,來提升辨識品質。例如在搜尋至第10層後還未達到標準,及辨識為未完成。或是連續5個同樣標籤,即啟動提醒等等…..

當然,現實問題不可能每個工作項目只設置一個標籤,次數性上也不可能將標準設為一次。但我想解決問題還是從簡單化開始,所以才會有這個想法。也許還搬不上檯面,圖也很陽春。但畢竟是第一步,希望老師和學長可以毫不留情的給予評論…

2009年5月18日 星期一

RFID開發程式理解 爛透了的第一步

今天開始研究Sirit PnP Rfid Demo應用軟體的程式碼。

由於程式背景基礎(相當)不佳的關係

在解讀的過程中一直碰壁

雖然有用MSDN以及GOOGLE等工具來輔助

但總是有種不得其門而入的感覺

後來在學長的指導下,總算大概掌握了一些方法

byte AFI; //宣告一個範圍8位元不帶正負號的整數
delegate void UpdateText(string str); //委派並回傳 更新str資料行的一部分
delegate void UpdateCheck(CheckBox bx, bool active);
delegate void UpdateButtonEnable(Button btn, bool enable);
private bool m_Detect = false;//宣告一個布林值 m_Detect = false 即為0
private bool doDisable = false;//宣告一個布林值 doDisable = false 即為0
TagType type = TagType.None; //取得與無命名空間相對應的....
string tag_id = string.Empty;//宣告一個空字串 tag_id,其中,tag_id是一個包含8 byte標籤ID的陣列
string prev_tag = string.Empty;//宣告一個空字串prev_tag
int tagLength = 256; //宣告標籤字元長度為256個整數
byte[] key = new byte[16];//新增一個16位元key
byte num_keys = 0x02;//宣告一個8位元的陣列 0x02為 num_keys
byte key_settings = 0x00;//宣告一個代表設置key的陣列 0x00
byte communication_settings = 0x03; //宣告一個代表通訊模式的8位元陣列
byte[] access_rights = new byte[2]; //新增一個代表存取權利的8位元陣列
byte name_num = 0x01;//宣告一個陣列 0x02為 name_num
byte pn_num = 0x02;//宣告一個陣列 0x02為 pn_num
byte pt_num = 0x03;//宣告一個陣列 0x02為 pt_num
byte pd_num = 0x04;//宣告一個陣列 0x02為 pd_num
uint _read_offset = 0x000000;//unit為長度度量 0x000000
uint _data_length = 0x00001D;//unit為長度度量 0x000000
byte[] AID = new byte[3];//新增一個3位元的AID

以上為今日慘不忍睹的結果,有許多細節的部分仍然需要詳加解釋與補充

我將於近日補上完整版

.................程式真是個麻煩的東西

2009年5月17日 星期日

工作行為感測-問題模型

問題模型:

在本系統中,該如何透過所讀取到設置於工作物件上的RFID標籤來判讀學員工作完成與否。是項艱鉅的任務。在此,我們以煮玉米濃湯為例。將本問題分為順序性與次數性兩個面向來加以分析。在情境中,我們將煮玉米濃湯這項工作的流程分割為:
1. 拿湯鍋煮水。
2. 將碗放置於電子秤上,並慢慢倒入湯粉量出一定重量。
3. 待水滾後,將湯粉倒入湯鍋,並使用勺子加以攪拌。

接著,透過流程的釐清,我們將RFID標籤分別設置於湯鍋、碗、電子秤、湯粉及勺子等五個工作物件上。視為準備工作完成。
其實,在一個工作流程的分割中,就已經隱含著一種順序上的趨勢了。假設我們已經針對這項工作的”順序次”進行了多次實驗並加以統計分析。得到了一組最佳的標籤順序為:

得到一個被定為標準的順序次後,往後針對學員所測得的實際標籤順序次,都將透過與此標準的比較來判斷工作完成與否。以機率的角度來看,即順序越接近標準,工作被完成的機率越大。以上,即為工作辨識問題順序性的描述。
在一次工作中,對於單一工作物件所讀取到的標籤次數。也是對於辨識判讀具有極大影響力的一個要素。因為在工作環境中,即有可能發生誤讀以及漏讀等狀況。再者,我們也需要透過讀取次數的多寡來做為辨識的依據並藉以提升辨識的正確度。因此再度假設我們已經針對這項工作的”讀取次數”進行了多項實驗並加以統計分析。得到了一組最佳的次數標準為:

湯鍋×1 電子秤×2 碗×1 湯粉×3 勺子×5
我們將此定為標準的”讀取次數”,往後學員進行實際工作時所產生的數據都將偷過與此標準的比較來判斷工作完成與否。以機率來看,越接近標準,工作被完成的機率越大。以上,即為工作辨識問題次數性的描述。
將順序性與次數性兩大要素融合在一起進行判讀,即本系統在辨識比對方面的問題模型。欲解決此問題,我們必須透過設計良好的演算法來加以分析。而以下的章節我們將提出動態時間扭曲(Dynamic Time Wrapping, DTW ),類神經網路,隱藏式馬可夫模型(Hidden Markov Model,HMM),此三種常見的辨識用演算法來進行比較整理。