全國中小學科展

電腦科學與資訊工程

腦波辨識特徵提取於即時身分認證的研究

本研究的腦波辨識基於特徵提取,可應用於身分認證,具有不能被仿冒的優點。我們用低成本高便利性的腦波儀,自行撰寫程式讀取原始腦波,建立一致性的實驗程序。首先用腦波專心度的高低來控制智能車,再用腦波來測謊,有隱藏說謊行為時會觸發高電位腦波,在兩項前期研究後發現可用腦波特徵進行身分認證。三位受測者於不同日期提取10份腦波,每份腦波紀錄5120筆數據。接著我們反覆嘗試組合數十種統計函數進行特徵提取,找到兩項最佳特徵,達成將大量凌亂腦波資料降低維度又具有辨識力。我們腦波辨識分類方法使用近鄰演算法,測試程序用盲測交叉驗證法,辨識正確率百分百。最後我們用Arduino板來展示腦波辨識應用於腦波身分認證,資料庫中只要儲存每位受測者的腦波特徵值,就能在數秒內正確辨識說出受測者身分,顯示每個人腦波是不同的,而且能用特徵將其分辨出來。

Cross-lingual Information Retrieval

In this project, we evaluate the effectiveness of Random Shuffling in the Cross Lingual Information Retrieval (CLIR) process. We extended the monolingual Word2Vec model to a multilingual one via the random shuffling process. We then evaluate the cross-lingual word embeddings (CLE) in terms of retrieving parallel sentences, whereby the query sentence is in a source language and the parallel sentence is in some targeted language. Our experiments on three language pairs showed that models trained on a randomly shuffled dataset outperforms randomly initialized word embeddings substantially despite its simplicity. We also explored Smart Shuffling, a more sophisticated CLIR technique which makes use of word alignment and bilingual dictionaries to guide the shuffling process, making preliminary comparisons between the two. Due to the complexity of the implementation and unavailability of open source codes, we defer experimental comparisons to future work.

圖論演算法學習用之繪圖程式

本研究針對學習圖論演算法的需求,設計一套使用者友善的繪圖軟體Graphene。Graphene繪圖程式除了提供高可讀性的繪製結果,作為輔助繪圖的工具外,也可直接輸入競賽題目的文字格式測試資料產生繪圖結果,並結合現有繪圖演算法,改善、優化樹與類樹圖的繪製結果。此外,也加入時間軸、自訂外觀、參數調整、匯出圖片等功能,幫助學習者理解圖論演算法,亦可幫助教師製作教材,有助於圖論演算法教學。 Graphene採用的繪圖演算法以force-directed graph drawing演算法為基礎,實作節點的分布。然而初始的節點分布會影響繪圖結果,因此我們利用biconnected component、block-cut tree等圖論結構對圖的繪製進行優化。首先找出圖的biconnected component及關節點,重新定義block-cut tree裡的block,接著利用radial tree的布局方式配置每個block,再套用force-directed graph drawing演算法,得到最後的布局結果。如此可以減少不同block之間的交錯,得到較佳的結果。

以隨機噪音生成技術為基礎的驗證碼對抗式攻擊防禦機制

網路上常常會使用驗證碼(CAPTCHA)防止自動化程序取得網站資源,而一般而言,若驗證碼是可以輕易取得,十分容易被深度學習網路破解。然而,對抗式攻擊(adversarial attack)可以騙過許多深度學習網路。因此,本研究目的為建立能夠破解對抗式攻擊的深度學習網路。主要包含三個部分:建立Captcha breaker、使用對抗式攻擊影響breaker、防禦對抗式攻擊。Captcha breaker的部份使用模擬的目標驗證碼作為訓練資料,以解決訓練資料不足以及人工標籤的問題;而破解adversarial attack會使用adversarial training以及random noising的技術進行。

Solving Mathematical and Chemical Equations using Python

Max Gold's project, titled “Solving Mathematical and Chemical Equations using Python”, is a website comprising of 4 main programmes: one to find the smallest possible combination of two chemical compounds or elements; a self-made parsing function to convert a chemical equation into a matrix, then using Gaussian-Jordan elimination to find coefficients for an equation; a programme to parse a mathematical expression and use that parsed expression in algebraic division of an algebraic dividend of nth degree polynomial by a divisor of 1st degree polynomial; finally, a programme to solve binomial equations for the power s∈Q. This website was originally made so that Max Gold could improve his programming skills for GCSE computer science but expanded to incorporate his passion for chemistry and maths and thus allow others to use these programmes to help them with their problems as well. A problem with many conventional calculator websites is their lack of specificity – they tend to be able to compute some functions but not all. These programmes are tailored to GCSE and A level maths and chemistry, meaning this website provides an outlet to compute specific topics of problems.

Method of prosthetic vision

This work is devoted to solving the problem of orientation in the space of visually impaired people. Working on the project, a new way of transmitting visual information through an acoustic channel was invented. In addition, was developed the device, which uses distance sensors to analyze the situation around a user. Thanks to the invented algorithm of transformation of the information about the position of the obstacle into the sound of a certain tone and intensity, this device allows the user to transmit subject-spatial information in real time. Currently, the device should use a facette locator made of 36 ultrasonic locators grouped in 12 sectors by the azimuth and 3 spatial cones by the angle. Data obtained in such a way is converted into its own note according to the following pattern : the angle of the place corresponds to octave, the azimuth corresponds to the note and the distance corresponds to the volume. The choice of the notes is not unambiguous. However, we used them for the reason that over the centuries, notes have had a felicitous way of layout on the frequency range and on the logarithmic scale. Therefore, the appearance of a new note in the total signal will not be muffled by a combination of other notes. Consequently, a blind person, moving around the room with the help of the tone and volume of the sound signals, will be able to assess the presence and location of all dangerous obstacles. After theoretical substantiation of the hypothesis and analysis of the available information, we started the production of prototypes of the devices that would implement the idea of transmitting information via the acoustic channel.

Solving Mathematical and Chemical Equations using Python

Max Gold's project, titled “Solving Mathematical and Chemical Equations using Python”, is a website comprising of 4 main programmes: one to find the smallest possible combination of two chemical compounds or elements; a self-made parsing function to convert a chemical equation into a matrix, then using Gaussian-Jordan elimination to find coefficients for an equation; a programme to parse a mathematical expression and use that parsed expression in algebraic division of an algebraic dividend of nth degree polynomial by a divisor of 1st degree polynomial; finally, a programme to solve binomial equations for the power s∈Q. This website was originally made so that Max Gold could improve his programming skills for GCSE computer science but expanded to incorporate his passion for chemistry and maths and thus allow others to use these programmes to help them with their problems as well. A problem with many conventional calculator websites is their lack of specificity – they tend to be able to compute some functions but not all. These programmes are tailored to GCSE and A level maths and chemistry, meaning this website provides an outlet to compute specific topics of problems.

Art Recovery through PConv (Partial Convolutions) and GLCIC (Globally and Locally Consistent Image Completion)

在生成性模型(Generative Models)中的一個主要應用就是“影像修復” (Image Inpainting) 也稱為“影像完成”(Image completion)。 影像修復經常被應用於許多影像處理,包含在生活照片中移除背景不必要的物件再回填移除後缺損的影像。 但是,或許之前的研究較多著墨於技術而非美學,至目前為止,很少有影像修復的研究著重於藝術作品的重建應用。 所以,本研究計畫提出三個新的模型來針對藝術作品做更優化的影像修復,以達到較一般處理日常照片所使用的如Places2 和ImageNet等影像修復技術在視覺上更為自然逼真的處理: 第一種模型是PConv (Partial Convolutions),它利用部分旋積(partial convolution) 來避免一般由於遮蔽區域中畫素起始值設定而常見的影像模糊問題。 第二種模型是GLCIC (Globally and Locally Consistent Image Completion),是一種以GAN (Generative Adversarial Network) 為基礎,進一步在全域鑑別器 (global discriminator) 之上,再建構一個區域性鑑別器(local discriminator),以確保在整體畫面與細部畫面的合理與一致性的方法。 最後一個模型是一個在本研究中所提出的全新、整合性的模型–PConv-GAN。 在這個創新的模型中,我們將GLCIC模型中常用於旋積過程中”補零”(zero padding) 的手法,以PConv模型中部分旋積的方式來取代。最後我們會利用一系列的印象派畫作為例,以L1 loss 和PSNR (peak signal-to-noise ratio) 兩種方法來評估這三個模型。

Automated Debugging System – Implementing Program Spectrum Analysis and Information Retrieval on Fault Localization

在程式專案開發中,偵測錯誤常為最耗時的環節,進而影響整個專案的開發時長。而現今雖有些許輔助開發者提升偵錯效能的工具,但這些工具也只能藉由提供編譯執行中的資訊讓開發者省去偵錯時的繁瑣步驟,仍須開發者自行評估每段程式碼的正確性。此研究透過程式段落分析與資訊檢索實現自動錯誤定位,在每個程式段落標記其成為臭蟲(bug)的可能性。在程式段落分析中,執行使用者之原始碼,並透過歸納最終結果為正確及錯誤之執行路徑差異分析出每個程式段落的可疑性。接著運用資訊檢索技術於資料庫中找尋相似之原始碼,並參考其偵錯結果優化現有之可疑性,形成最終之可疑性排名。此研究不只結合了上述兩種技術,更優化可疑程度之計算方法以及資訊檢索中的相似度比對機制,達到更完善的錯誤定位。(此指「臭蟲」非語法錯誤(Syntax Errors),而為邏輯錯誤(Logic Errors)。)

深度學習掌紋疾病分析系統

遠距醫療及自我健康檢測在最近幾年逐漸崛起,其講求利用大眾化的工具即可掌握醫療知識與自我健康監測,並透過大數據分析及人工智慧技術,協助醫師與病患進行更有效的治療,但目前中醫在這方面的研究不多,與影像辨識相關的也只有舌診。目前對於手掌的研究多半止步於身分辨識,因此手診還需中醫師切脈或檢查。 本研究作品旨在發展自動手診方法,提供民眾自我健康監測。利用兩種方式1.整張手的CNN圖像分類 2.用YOLO物件偵測進行掌中的特徵點抓取,使其能分辨肝掌、富貴手、蜘蛛痣、汗皰疹、無症狀,最後,並將模型與手機APP結合。