Hello,大家好我是梅森Mason,我曾在幾年前參加了一次挖掘化石的活動,那次經歷讓我深刻體會到考古現場確認化石種類的困難,進而研發出一款能透過影像辨識化石的APP,而近期我從舊版APP開始大幅改造,透過更改演算法、重新設計UI等等方式,研發出辨識率更高且更實用的「AI化石通」APP。

創作動機

我的創作靈感源於幾年前參加的一次挖掘化石活動。當時,我深切體會到在考古現場確認化石種類的困難。傳統上,這需要查閱厚重的化石圖鑑,但這些笨重的圖鑑在野外挖掘環境中顯得非常不便捷。再加上新出土的化石常常佈滿泥土,使得辨識工作變得更加艱鉅。而綜合這些困擾,讓我啟發了開發這款APP的想法,旨在幫助考古學家能夠更高效、準確地識別化石。這款APP利用影像識別技術,使用者僅須通過拍攝化石即可快速獲得該化石的種類及資料。

軟體製作

在開發APP時,我選擇採用由麻省理工學院(MIT)開發的App Inventor。App Inventor是一款相當有名的軟體開發工具,它以其友善的介面和程式編寫環境而聞名。透過不斷自學,我成功製作出了一些基本的軟體。在這次專案中,我首次嘗試製作更為複雜的應用程序。在經過前後多次試驗和調整後,我開發了兩個版本的化石辨識應用程序。

這兩個版本的應用程序採用了不同的影像處理和模型訓練方法。為了提高APP的辨識準確度,我不斷地進行修正和優化、更換了不同演算法之後,成功提高軟體之辨識率及更人性化的UI,也進而提升了使用者體驗。

不過其中比較可惜的是,目前App Inventor僅支援為Android4.0以上的系統使用,尚未支援ios使用,因此未來希望有機會透過Swift製作出ios版本的APP。

化石辨識APP(舊版)

幾年前,我開發了第一版的化石辨識器APP,這是一個運用深度學習技術進行化石識別的應用程式。影像辨識功能是建立在Personal Image Classifier上,通過對大量化石影像的深度學習訓練,使其能夠準確識別各種不同的化石。而在軟體製作的部分,我則透過MIT App Inventor來打造介面和程式,並且在APP內部嵌入由Personal Image Classifier訓練成的影像辨識模型。

當時介紹的Youtube影片 當時介紹的PDF

使用者介面&操作說明

將欲辨識之化石對準中間「圖像框」,對焦完成後,按下「照相機」按鈕進行拍照辨識,「辨識結果」就會顯示辨識出的化石種類。

「照相機」按鈕── 拍照辨識。 「轉換鏡頭」按鈕── 轉換前後鏡頭。 「辨識結果」── 顯示辨識出的化石種類。 中間「圖像框」── 顯示攝影機鏡頭畫面。

個人影像分類器

Personal Image Classifier是一款同樣由MIT開發的App Inventor附屬工具,用於機器深度學習訓練,首先先將訓練用的化石照片上傳到Personal Image Classifier官網,而我們採用了其中的Microsoft CustomVision神經模型來訓練影像模型,接著將模型匯入到App Inventor中並撰寫辨識程式,最後再與整體APP打包成APK檔案

防呆設計

當每種化石之辨識率過低時,系統會顯示辨識結果為「無法辨識」,並不會強制歸類到每種化石。

軟體下載資訊

APK下載網址(最終版本為:1.5.0) https://drive.google.com/file/d/1fqMF3ZCLrw5j5dzSWBU76fwUUotmaIuH/view?usp=sharing ※僅限Android 4.0或以上系統裝置下載※

綜合問題

在舊版本經過反覆使用過後使用,我們綜合出了一些問題:

使用者介面複雜 在考古現場,使用者通常需要迅速且直觀地使用工具。如果使用者介面(UI)過於複雜,可能會導致時間浪費和操作錯誤。為了改進這個問題,我們在新版本中簡化UI,減少不必要的按鈕、採用更直觀的圖標和重點式的介面,優化操作流程來提高效率。

辨識率過低 辨識率是指APP識別化石的準確度。在舊版本中,我們發現APP對化石的識別率較低,經實驗後我們發現可能是演算法的問題,因此我們在新版本軟體更新了影像訓練時的演算法,藉此訓練出辨識率較高的影像辨識模型。

基本資訊不完整 一個的化石辨識APP應該要提供該化石的相關基本資訊,但在舊版本中,我們只有顯示辨識出的化石種類,為了解決這個問題,我們在新版本中加入了化石的地質年代、地層、產地、特徵等資訊,讓使用者對該化石能有初步了解及研判。

APP模型更新方式複雜 模型更新對於提升APP辨識性能至關重要,特別是在科學和技術不斷進步的領域。因為Personal Image Classifier產生之影像模型需嵌入在APP之中,更新時需要上傳檔案並重新安裝APP,為了優化這一過程,我們在新版APP中採用了線上影像辨識,因此更新模型時只需更新網址即可,大量減少操作負擔。

軟體APK過大 在舊版APP中,由於需要將辨識模型直接包含在APP的APK檔中,隨著辨識種類的增加,模型的大小也隨之增大,導致整體APP過於龐大。為了克服這一問題,新版本的APP採用了線上影像辨識模型,將訓練好的模型存放在雲端平台,不需隨著APP一起下載,從而大幅減少了APP的大小。

AI化石通(新版)

為了改善舊版產生的諸多問題,我們研發了新版的軟體,並命名為「AI化石通」APP。在新版本軟體中,我們針對在舊版本的問題進行了改善,我們花了許多時間簡化UI(使用者介面)、並且改為使用Teachable Machine訓練出更精確的影像辨識模型,使APP辨識率有效提高,並且將模型放置於雲端平台,大幅減少了APP的大小並使更新更為容易,並且我們也參閱了許多化石圖鑑綜合出各類化石的基本資訊,讓使用者對化石能有初步了解。

使用者介面&操作說明

將欲辨識之化石對準中間「圖像框」,按下「開始辨識」按鈕進行化石辨識,「辨識結果」會顯示辨識出的化石種類、「基本資訊」會顯示化石的基本資訊,再按下「停止辨識」按鈕停止辨識,過程中將持續辨識,不須一直按拍照來辨識。

「開始辨識」按鈕── 開始進行辨識。

「辨識結果」── 顯示辨識出的化石種類。

「基本資訊」── 顯示該類化石的基本資訊,包含地質年代、地層、產地、特徵。  中間「圖像框」── 顯示攝影機鏡頭畫面。

Teachable Machine

Teachable Machine是一個由Google Creative Lab開發的機器學習訓練工具,操作上非常方便,還可以導入到MIT App Inventor上使用,因此我們採用這項服務進行影像辨識模型之訓練,並且透過網址導入APP,讓模型不需下載並連同APP安裝到手機內,藉此提升辨識效能。

軟體下載資訊

APK下載網址及QRcode(最新版本為:2.0.0) ※僅限Android 4.0或以上系統裝置下載※

新版APP製作上遇到的問題

螢幕尺寸問題 因為在製作舊版時是使用Samsung S7 進行測試,為當時較普遍的Android機型,當時的手機大多是屬於非異形螢幕,螢幕大部分都含有上方的實體麥克風及底下的實體按鍵,而當時螢幕比例大多還是16:9且實體大小差距甚小,因此我們當初在UI設計時採用的方式是將APP中的物件尺寸寫死(單位使用pixel),但在這幾年手機螢幕大多都改成異形螢幕(攝影機隱藏於螢幕中),螢幕的比例、實體尺寸變化也較多元,Samsung甚至出了Galaxy Z摺疊機系列,讓舊版程式無法適應各種螢幕尺寸的Android手機,安裝後甚至會發生錯誤或是整體物件縮小導致介面一大部分都是空白的情況,因此在新版UI設計中,我們將App Inventor網站改為英文版本進行製作(中文版不支援),並夠透過百分比(%)設計物件大小,並使APP隨安裝機型調整物件大小。

APP Inventor設計界面手機尺寸問題 APP Inventor的UI設計界面跟上個提到的問題相同,在網站上提供的三個軟體介面模式(手機、平板、筆電)中的手機模式仍然採用舊版Android手機螢幕16:9比例(非異形螢幕),因此在設計軟體時畫面會被壓縮得較為嚴重,而針對這點,我也寫信至MIT請APP Inventor團隊進行改善,希望能得到改善,讓其他創作者在製作時較為方便。

程式編輯邏輯 在撰寫程式時,因為新版APP的運作邏輯與舊版大相逕庭,因此我花了許多時間上網查詢資料及理解整體架構,透過模擬機及實機不斷測試及改良,才成功撰寫出程式,而且基本上重寫了大概90%的程式及原始參數,整體差異可見一斑。

尚待解決的問題

在新版中,雖然大部分問題都獲得改善,但仍然有下面幾點問題還會努力改進:

背景影響辨識率 在新模型中,雖然我們有用AI替換訓練樣本之背景、光線及色澤等等,有成功提高化石辨識率,但似乎APP在較為複雜之背景辨識辨識率還是較低,沒有單色背景來的好

訓練樣本數 雖然我們有蒐集更多得樣本進行訓練,但相較於其他軟體,樣本及種類還是太少

基本資訊受地區限制 APP中提供的化石基本資料雖然都是經過蒐集多本知名化石圖鑑而來,但都源自於台灣書籍,因此該基本資料僅在台灣或是附近國家中試用,在其他國家中,相同化石出土之地質年代仍然會有差距,因此我們未來會加上定位系統,並隨系統定位會顯示當地地質及當地化石資訊。

只能確認大略物種 因目前訓練時仍無法把細節做到淋漓盡致,各品種之間的特徵差別可能太不明顯,因此還是只能確認大略物種,無法把辨識出詳細品種,因此我們還在尋找更進階的演算法,加上定位系統輔助,希望有朝一日能成功辨識出詳細的品種

專利申請

在經過一段時間的搜尋及討論後,我決定將這款APP申請中華民國新型專利,詳細的申請過程及資訊請見這篇

目前專利案件狀態為「核准」,詳細說明書及專利公報內容請參考

中華民國專利資訊檢索系統頁面

專利名稱:智慧 化石 辨識系統 專利公告號:M650895 公告日期:2024/01/21 申請人:曾緯淳 發明人:曾緯淳 代理人:高宏銘

結語及感想

化石辨識APP的創新不僅侷限於技術層面,更在於它如何連接科學與社會,為考古學和教育帶來新的可能性。期待這款APP能成為探索過去世界的重要工具,並激發更多人們對於古生物學的熱情。

而這兩次創作的機會也讓我在資訊的專長首次觸碰到了軟體的領域,採用App Inventor作為開發平台,也讓我踏上了軟體設計學習和創造的道路。開發過程中遇到的挑戰,如用戶介面的簡化、影像處理方法的選擇,以及如何提升APP辨識準確度等問題,都促使我不斷學習和優化。透過這一過程,我不僅開發了兩個版本的化石辨識應用程序,還從一位對於軟體一無所知的菜鳥成長到為能夠獨立解決複雜問題的軟體開發者。

特別的是,AI技術在這個APP中的應用,令我感到非常驚奇。從採用附屬的Personal Image Classifier技術的第一版化石辨識APP到結合Google的Teachable Machine訓練影像辨識模型的新版「AI化石通」,AI的進步不僅提高了辨識準確度,也大大簡化了更新和維護過程。這些技術的應用,不僅提升了用戶體驗,也使APP在實際使用中變得更加高效和方便,令我深切感受到了AI技術進步對於解決生活問題的重大意義。

最後,我想強調,這款「AI化石通」APP不只是一個創新的軟體,它也是對於考古學與現代科技連結的一個開端。AI技術的進步,使我們創造出更多有意義的解決方案,解決曾經難以克服的問題,這也讓我對人工智慧未來的發展充滿了期待。我體會到,隨著技術的不斷進步,我們有應該要不斷學習和適應,以充分利用這些技術為社會帶來更大的好處。我期待將這種創新精神延續下去,並希望能激勵更多人加入創新的行列,共同努力為創建一個更美好的未來。透過這次開發經歷,我也對AI技術的潛力及可能性有了更深的認識。

希望這些文章能給各位讀者大大幫助,歡迎幫我按個拍手、順便按個follow,您就能收到新文章的通知、留個言給我鼓勵或把本文分享給您的親朋好友,讓更多人知道喔!

By 那個成天泡在電腦裡的梅森 on February 7, 2024.

Canonical link