發表文章

ImageAI 口罩辨識練習-樣本製作篇

圖片
前情提要,關於口罩配戴辨識練習: https://madeinti.blogspot.com/2020/05/imageai.html 樣本是什麼,我挑了怎樣的樣本 用來給電腦做機器學習的輸入資料,以是否有配戴口罩的辨識應用為例,我選擇了"有戴口罩的臉"和"沒戴口罩的臉".另外也有確保兩種類別都有有無配戴眼鏡的影像. 之所以選擇"有沒有戴口罩的臉"而非選擇"口罩"或是"人臉",主要的原因在於希望避免影像中有出現口罩就會被偵測到的情形. 有戴口罩,有戴眼鏡 沒戴口罩,沒戴眼鏡 有戴口罩,沒戴眼鏡 沒戴口罩,有戴眼鏡 樣本上哪找?要多少張? 如果以這個口罩辨識的練習來說,我的作法是在google上搜尋face, mask...等這類的關鍵字,並選擇搜尋圖片的功能,然後再一張一張下載.如有需要,建議也可以在搜尋圖片中指定圖片的大小.另外要注意的是圖片的格式,基本上jpg,png對於後續進行樣本製作或機器學習都沒太大的問題,但有些格式可能就要注意,例如我曾有幾張webp影像,樣本做得出來,但在學習過程中一直有些問題. 最後關於張數的問題,基本上當然是愈多愈好,但我覺得這跟選擇的圖片內容也有關係,這點我也還在摸索中~~@@.至於這個口罩辨識練習,可以下載我蒐集的樣本圖,總共284張,自行看看張數和內容. https://drive.google.com/file/d/1lvP8jp6I7JcIOxnMJf9v9x7V2-5b7Bou/view?usp=sharing ImageAI YoloV3樣本資料集: 要將樣本用ImageAI 的範例進行object detection的機器學習,需將樣本整理成如下的檔案格式.我們先看"train"資料夾,內含"images"和"annotations"兩個子資料夾.理論上可以將蒐集到的影像全部丟進去.至於"annotations"則是"images"資料夾中每一張影像的標籤檔,基本...

ImageAI-口罩辨識練習

圖片
ImageAI官網有附custom object detection的範例, 相信因該蠻多人都希望可 該範例跑自己想要的物件辨識.最近剛好遇到"covid-19"疫情.就以口罩配戴為例進行練習. 系統架構及概念: ".h5"和"json檔"為依照蒐集到的樣本學習完成後的YoloV3描述檔和設定檔,以我們的應用來說,要學習的目標為 "有戴口罩的臉" 和 "沒戴口罩的臉" .詳細的樣本製作和學習方式,我們會再另外再討論.這邊就以我先訓練好的檔案為例. 程式範例及解說我放在google colab中,大家可以自行在上面測試範例和修改,(順便幫我改改英文和國文~~).裡面也有附已經訓練好的YoloV3檔案. google colab連結: https://colab.research.google.com/drive/1NB-_CHR-LOW7sRJ63DrH5kF1yepMHVjT?usp=sharing 關於樣本的蒐集: https://madeinti.blogspot.com/2020/05/imageai_8.html 參考資料: https://github.com/OlafenwaMoses/ImageAI/blob/master/imageai/Detection/Custom/CUSTOMDETECTION.md

土製體感手套+伺服機

圖片
概念: 透過FlexSensor因彎曲改變類比電壓來判斷人手彎曲的程度, 經過Arduino分析後, 將對應的角度位置命令送往伺服機,使伺服機的轉動角度可以由手套來決定 FlexSensor貼在手套上 系統架構: 原型成品: 測試影片: 一些心得: 1.Flexsensor阻質變化或是人每隻手指的彎曲特性不同,建議每隻手指的FlexSensor最好能獨立校正 2.MG966R Servo, 兩顆以上似乎Arduino的regulator輸出因該就不夠力了,三顆以上可能獨立接4顆AA電池也是無法正常動作. -20200404補充: 使用一6.2V/2A變壓器供電後,接三顆馬達動作就正常了,量測電流曾出現過1.6A 相關資源: FW,腳位定義,系統架構,: https://github.com/NAERSTEAM/EELAB/tree/master/Project_GlovedControlRobot_20200401_0 Servo轉板電路: https://github.com/NAERSTEAM/EELAB/tree/master/Module_20200402_0_ServoAdapter FlexSensor轉板電路: https://github.com/NAERSTEAM/EELAB/tree/master/Module_20200402_1_FlexSensorAdapter

[EAGLE]切換設定語言

預設的狀況下EAGLE會自動判斷作業系統環境選擇適合的語言.以我的繁體中文Windows10來說,EAGLE會自動幫我設定成簡體中文(沒有繁體版?).但為了方便和英文的教學資源對照,所以我是偏好設定成英文顯示. 不過在EAGLE中找了很久都沒發現更換語言的選項.經由官網討論區的文章.找出下列方式 步驟 1.切換到windows的command line. 2.SET LANG=en_GB  3.cd C:\Program fiee\eagie-9.x.x (前往eagie.exe所在目錄,大家的電腦或版本可能都不一樣) 4.start eagle.exe   (記得要start, 不能只跑執行檔喔) 參考: https://forums.autodesk.com/t5/eagle-forum/ui-language-settting/td-p/6894912

[ 實驗記錄 ]分壓電路的電阻變化與輸出電壓間的關係

圖片
實驗目的:   分壓電路的電阻變化與輸出電壓間的關係 改變R1,觀察輸出V2 R1從40K歐姆開始,以1K遞減至0歐姆 V R1 R2 R1+R2 It V2 5 40000 10000 50000 1.00E-04 1.00E+00 5 39000 10000 49000 1.02E-04 1.02E+00 5 38000 10000 48000 1.04E-04 1.04E+00 5 37000 10000 47000 1.06E-04 1.06E+00 5 36000 10000 46000 1.09E-04 1.09E+00 5 35000 10000 45000 1.11E-04 1.11E+00 5 34000 10000 44000 1.14E-04 1.14E+00 5 33000 10000 43000 1.16E-04 1.16E+00 5 32000 10000 42000 1.19E-04 1.19E+00 5 31000 10000 41000 1.22E-04 1.22E+00 5 30000 10000 40000 1.25E-04 1.25E+00 5 29000 10000 39000 1.28E-04 1.28E+00 5 28000 10000 38000 1.32E-04 1.32E+00 5 27000 10000 37000 1.35E-04 1.35E+00 5 26000 10000 36000 1....

Hello PYTHON~ puzzlemaker的答案整理

圖片
動機: 翻了兩天的python教科書,想說需要一些練習,剛好複習英文課單字時用了Discovery 上的puzzlemaker做填字遊戲, 但分享給英文課同學時發現網頁沒有產生答案卡,所以如果需要答案卡,就只能用自己出題時填的文字內容,基本上當然是能用,但有以下不方便的地方 1.出題時的文字內容沒有題號 2.出題的順序和和遊戲畫面上問題的順序沒有直接關係 3.遊戲畫面上問題的順序還會依照"Across"和"Down"分類 基於以上三個問題,對答案是很辛苦事,特別是題目多的時候 http://puzzlemaker.discoveryeducation.com/CrissCrossSetupForm.asp 概要: 所以我想製作一個小程式,讓使用者可以填入 出題時的文字(含答案) 和 遊戲時的問題文字 ,然後自動按照遊戲中的題號排序並加上答案.   tkinter object type description questionInput_text text 輸入遊戲時的問題文字 descripInput_text text 輸入出題時的描述文字 ansSheetOutput_text text 顯示排序過的答案 anssheetGEN_btn button 按下後ansSheetOutput_text 會顯示排序過的答案 實做時的問題: 1.使用text.get()方法擷取文字時,所有的字元都變成單獨的元素    此時可加上"splitlines()",這樣就可以一次將一行的文字視為一組元素(物件)        listget1=quesInput_text.get("1.0", "end-1c").splitlines() 2.  text.get()方法中的參數"1.0", "end-1c"是什麼?     這兩個參數分別為text中要被讀取的起始字元和中止字元,"1.0"代表"第1行第0個...

Arduino ANN溫度控制實驗計畫

圖片
夥伴招募: 1.加熱電路設計及製作.  目前採用12V PTC加熱片/10K熱敏電阻/RF520放大模組    -加熱效率改善 (我其實很想把整個放大模組砍掉重練....)    -溫度感測反應改善 2. PC_APP  目前採用VisualC# 開發,已完成溫度命令傳送, 當前溫度文字顯示,溫度及命令紀錄    - 架構規劃(重構refactoring)    - 功能製作 3. 機器學習  目前使用MATLAB nntool 進行機器學習實驗     -機器學習參數調整及腳本撰寫 (可使用其他工具,如PYTHON, R, Java...等)     -RNN實驗規劃 4. 機構及佈線設計     -外殼或實驗平台機構設計及製作 5. Arduino 控制器設計 6. 支援軟體製作     -MATLAB, PC_APP, Arduino間三者資料轉檔(網路參數,實驗記錄...等) 7. GitHub 分支管理顧問 8. ProjectManager (如三人以上加入團隊時需要) 計畫目的: 1.練習驗證基本神經網路ANN使用方式 2.建立一溫度實驗平台, 並可通用於不同控制演算法之驗證實驗 很重要的一點,這個計畫主要目的是要控制器 模仿人類的溫控行為, 使否為 有效率的精確控制為次要目的       使用流程概念: ANN網路架構 初版網路架構如下 Input: 目標溫度,目前溫度, 溫度變化0,溫度變化1,溫度變化2 (計畫增加過去10次取樣溫度) Output:加熱器開關 計畫增加到4 (關閉,小火,中火,大火) 系統架構: Github Arduino:  https://github.com/firmamentone/TCP_Amber/tree/HeaterTest Github PC APP:  https://github.com/firmament...