全國中小學科展

電腦科學與資訊工程

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

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

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.

程式語言學習系統

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

由立體思維解循環式最大流量問題_以教師介聘為例

本研究旨在應用立體思維解決循環式的最大流量問題,於教師介聘中,可提出擁有品質保證之方法,並求得介聘成功人數之區間。教師介聘應為一限制的網路流(每個節點至少一入一出),試著求出最大循環流量。 教師介聘為學校間之教師調換作業,透過志願選填與其他參與者進行交換。以110年的介聘規則而言,介聘順序為單調→五角調→四角調→三角調→互調,相同者以積分高為優先。現有制度受限於作業期程、業務人員能力,約略簡化問題原型,但即使如此,介聘處理的結果仍不提供數據分析,導致無從分析其品質及過程,因此介聘的結果、數量和方法皆仍有很大的研究空間。 此研究除了可使媒合數量最大化外,進而由原模型衍伸出多種策略,可以透過調整參數並於結果與時間中取得平衡。單志願介聘中,透過使用不同模型使準確率(介聘成功人數/最多成功人數)介於88~100%,運算時間與準確率成正相關。多志願介聘以自訂規則作為範例,套用單志願介聘模型呈現效果。

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

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

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

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

Development of an autonomous Search and Rescue Drone

The number of natural disasters has risen significantly in recent years, and with climate change there is no end in sight. Consequently, the demands on rescue forces around the world are increasing. For this reason, I asked myself what I can do to improve the work of rescue teams. Advances in artificial intelligence and drone technology enable new possibilities for problem solving. Based on the technological advances mentioned above, an autonomous Search and Rescue drone was developed as part of this project. The system assists rescue workers in searching for survivors of natural disasters or missing people. This paper also suggests a method for prioritizing survivors based on their vitality. The system was implemented using a commercial Parrot ANAFI drone and Python. The software was tested on a simulated drone. To simplify the development, the whole system was divided into the following subsystems: Navigation System, Search System and Mission Abort System. These subsystems were tested independently. The testing of solutions and new concepts were performed using smaller test programs on the simulated drone and finally on the physical drone. The Search and Rescue system was successfully developed. The person detection system can detect humans and distinguish them from the environment. Furthermore, based on the movements of a person, the system can distinguish whether the person is a rescuer or a victim. In addition, an area to be flown over can be defined. If something goes wrong during the mission, the mission can be aborted by the Mission Abort System. In the simulation, the predefined area can successfully be flown over. Unfortunately, controlling the physical drone does not work. It stops in the air after takeoff due to the firmware of the drone. It does not change the flight state of the drone, which results in all subsequent commands from the system being ignored. This paper shows that artificial intelligence and drone technologies can be combined to deliver better rescue services. The same system can be applied to other applications.

Development of an autonomous Search and Rescue Drone

The number of natural disasters has risen significantly in recent years, and with climate change there is no end in sight. Consequently, the demands on rescue forces around the world are increasing. For this reason, I asked myself what I can do to improve the work of rescue teams. Advances in artificial intelligence and drone technology enable new possibilities for problem solving. Based on the technological advances mentioned above, an autonomous Search and Rescue drone was developed as part of this project. The system assists rescue workers in searching for survivors of natural disasters or missing people. This paper also suggests a method for prioritizing survivors based on their vitality. The system was implemented using a commercial Parrot ANAFI drone and Python. The software was tested on a simulated drone. To simplify the development, the whole system was divided into the following subsystems: Navigation System, Search System and Mission Abort System. These subsystems were tested independently. The testing of solutions and new concepts were performed using smaller test programs on the simulated drone and finally on the physical drone. The Search and Rescue system was successfully developed. The person detection system can detect humans and distinguish them from the environment. Furthermore, based on the movements of a person, the system can distinguish whether the person is a rescuer or a victim. In addition, an area to be flown over can be defined. If something goes wrong during the mission, the mission can be aborted by the Mission Abort System. In the simulation, the predefined area can successfully be flown over. Unfortunately, controlling the physical drone does not work. It stops in the air after takeoff due to the firmware of the drone. It does not change the flight state of the drone, which results in all subsequent commands from the system being ignored. This paper shows that artificial intelligence and drone technologies can be combined to deliver better rescue services. The same system can be applied to other applications.

利用半監督式學習進行自動星系分類

本研究使用半監督式機器學習搭配卷積神經網路來訓練核心模型,並將星系的圖片加入模型裡,讓電腦自動判斷出該星系的種類為何。我使用自行設計的CNN架構以及VGG-16當作我的卷積神經網路架構。資料集來源為EFIGI和Galaxy Zoo 2。我分為兩種任務,第一種任務是讓模型能分辨橢圓 (E)、螺旋 (S)、不規則 (I) 這三種類別的星系,訓練資料共有2,468張照片,最後的正確率能達到94%。第二個任務是將8種的星系照片(E、S0、Sa、Sb、Sc、SBa、SBb、SBc)進行分類,並使用自動編碼器作為預訓練,使用1,923張EFIGI的圖片以及1,258張Galaxy Zoo 2的照片當作訓練資料。由於各星系照片有許多外觀太過相似,測試準確度最高達到54.12%,基於我的研究,星系自動化辨識於天文學上應該有相當大的運用空間。

Development of an Android Application for Triage Prediction in Hospital Emergency Departments

Triage is the process by which nurses manage hospital emergency departments by assigning patients varying degrees of urgency. While triage algorithms such as the Emergency Severity Index (ESI) have been standardized worldwide, many of them are highly inconsistent, which could endanger the lives of thousands of patients. One way to improve on nurses’ accuracy is to use machine learning models (ML), which can learn from past data to make predictions. We tested six ML models: random forest, XGBoost, logistic regression, support vector machines, k-nearest neighbors, and multilayer perceptron. These models were tasked with predicting whether a patient would be admitted to the intensive care unit (ICU), another unit in the hospital, or be discharged. After training on data from more than 30,000 patients and testing using 10-fold cross-validation, we found that all six models outperformed ESI. Of the six, the random forest model achieved the highest average accuracy in predicting both ICU admission (81% vs. 69% using ESI; p<0.001) and hospitalization (75% vs. 57%; p<0.001). These models were then added to an Android application, which would accept patient data, predict their triage, and then add them to a priority-ordered waiting list. This approach may offer significant advantages over conventional triage: mainly, it has a higher accuracy than nurses and returns predictions instantaneously. It could also stand-in for triage nurses entirely in disasters, where medical personnel must deal with a large influx of patients in a short amount of time.