全國中小學科展

電腦科學與資訊工程

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

本研究針對學習圖論演算法的需求,設計一套使用者友善的繪圖軟體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之間的交錯,得到較佳的結果。

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) 兩種方法來評估這三個模型。

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.

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

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

程式語言學習系統

『程式解題系統』是提供不同難易的題目給學習程式設計者使用的系統,主要透過測試資料來驗證程式碼的正確性和效能姓。然而,這類系統大多為私人用。台灣著名的程式解題系統有台中女中程式解題系統及高中生解題系統(Zero Judge)等,題目雖然繁多卻分類雜亂,不能讓教師客製化題目給學生,只能從眾多題目中,零散的挑出適合學生的題目,給學生練習。基於以上理由,此研究目的是做出不同於一般程式解題系統的功能,希望能讓教師彈性增刪題目。使用Python為基礎語言,後端採用Django框架,已經架構出系統的原型,並上架至Heroku(zeaf.herokuapp.com)。希望循序漸進地讓學習者有成就感,也讓教師能監督每一個學生學習狀況。

提升戶外物件辨識模型表現之研究

近年來由於電腦視覺的蓬勃發展,物件辨識模型被廣泛運用在生活中,例如自動駕駛、醫療影像、農作物檢測等等。對於要在戶外運作的模型,由於檢測物體的背景會隨著時間、地點、季節、光照強弱等因素不斷改變,通常需要大量且多元的資料才能避免模型過擬和,然而取得多元的資料需要花費大量的人力與時間在收集以及為這些新資料標籤。 本研究利用影像風格轉換模型作為資料增強的方法,將於晴天拍攝的街景圖轉成夜晚及雨天,使原本只有晴天的資料集有更多元的資料。結果證實使用風格轉換模型生成的影像訓練的物件辨識模型的準確率在某些情況下有顯著的提升。此方法的優點在於能夠快速產生多樣風格的資料,由於是對影像的風格做轉換,影像的內容沒有改變,因此能夠沿用原有的標籤,同時節省了蒐集及為新影像標籤的人力及時間。

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.

The GoClub-梅花棋演算法效率及適用性分析

本研究旨在研究一款自創棋類遊戲「梅花棋」,找出效率最佳的演算法及分析AI的適用性。遊戲規則如下:雙方玩家輪流在19階的棋盤上下棋,先手執黑子,後手執白子,任一方形成梅花即獲勝。隨著棋子的增加,肉眼判斷勝負愈發困難,因此希望借助電腦的力量完成它。我們透過C++編寫程式,持續改良優化演算法,提升電腦的精確度與流暢度。過程中依序提出了平均演算法、畢氏定理演算法、向量演算法、以及網狀編碼演算法。目前最新版本中,我們使用含有螺旋編碼表的網狀編碼演算法,這可使電腦快速正確地判斷勝負。得到最佳的演算法後,我們嘗試運用撰寫Minimax演算法編寫AI,並且不斷增加演算法的深度,從而提升電腦的實力。透過Victory notion的概念分析兩者間的相似度,判斷其對於梅花棋的適用性。透過不斷與Minimax演算法測試遊戲,將梅花棋規則中,先後手的優勢差距逐漸縮小。目前本研究已可順利進行單純的雙人對戰與複雜的人機對戰模式。

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

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

以分散式邊緣運算網路架構實現智慧機器人代理系統之研究

本研究企圖建構一個運用邊緣運算技術(Edge Computing)之人工智能機器人代理人(AI Agent),並將之運用於實體人型格鬥用機器人的研究開發中。 在此以人型格鬥機器人做為場景需求使用設定目標,運用彈性化模組,加上分散式、嵌入式即時網路技術來降低系統設計的複雜度,整合通訊協議與深度學習YOLO影像演算法,進一步運用ZMP運動控制理論,以及多維感測器融合技術(sensor fusion),融合陀螺儀(GYRO)、加速儀(accelerometer)、CMOS Sensors、FSR(Force sensing resistor)作為人形機器人智慧平衡基礎,再藉由圖形識別做為預測辨識以及智慧姿態ZMP控制技術作為攻防策略判斷。 整體系統藉由AI 晶片與嵌入式系統網路作為整合。透過網路即時傳輸環境資訊與指令,使機器人可以知道高層的指令目的資訊。值得一提的是本系統網路設計建構依照仿生哺乳類動物的分層式架構。神經系統將反射以及即時控制交由智慧代理人軟體作為即時演算與控制來達到高性能與彈性發展的需要,未來可用在高等擴充性的人形機器人使用,包括格鬥機器人,人形機器人工地建材搬運、具自平衡醫療外骨骼機器人......等,使人與機器人能並肩工作,提升人與機器人整合互動。