題目:AICA Project - 無聲講電話 === [TOC] ## Preface 題目:無聲講電話 動機:想要解決在吵雜或需要安靜的環境,依然能夠達到清楚語言溝通的特性,且能免除打字的不便利性。 ## Project Overview ### Project Scope - 辨識唇形 - 轉成文字檔傳送 - 文字檔轉成語音檔 - 利用揚聲器或耳機撥放音檔 ### Target Audience - 在吵雜或需要安靜或不方便打字的環境想和他人溝通的人 ### Constraints - 英文 - 會延遲 - 語速緩慢、斷句明顯 - 正面對著鏡頭 - 固定距離 - 有網路的地方 - 限制對話一來一往不可重疊 ## Team members | Name | School ID | Email | | ------------ | --------- | ------------------------- | | 陳慕丞 | E94096097 | e94096097@gs.ncku.edu.tw | | 陳玟樺 | E44081042 | nicole6328@gmail.com | | 黃任廷 | E64064052 | tim506877@gmail.com | | 宋方瑜 | E94094045 | e94094045@gs.ncku.edu.tw | ## Project Decomposition and Planning ( 建立字彙資料庫, 訓練LipNet模型 ) - 如果需要training model的話 - 錄影使用者的唇形 - 模型辨識唇形是哪些字 - 將文字檔傳送到對方的樹莓pi - 對方的樹莓pi自動將音檔從揚聲器或耳機播放出來 ## Literature Survey and Related Work 1. English lipread - LIPNET: END-TO-END SENTENCE-LEVEL LIPREADING https://arxiv.org/pdf/1611.01599.pdf - Hearing Lips: Improving Lip Reading by Distilling Speech Recognizers https://arxiv.org/pdf/1911.11502v1.pdf - LEARN AN EFFECTIVE LIP READING MODEL WITHOUT PAINS https://arxiv.org/pdf/2011.07557.pdf - Paper with code https://paperswithcode.com/task/lipreading/codeless?page=2 https://github.com/rizkiarm/LipNet/blob/master/setup.py 2. Chinese lipread - data set https://www.vipazoo.cn/CMLR.html - VSR、LRW1000 https://arxiv.org/pdf/2003.03206v2.pdf - Chinese lip reads model https://github.com/Fengdalu/Lipreading-DenseNet3D http://jos.org.cn/html/2020/6/5709.htm https://arxiv.org/pdf/1908.04917v2.pdf - A Cascade Sequence-to-Sequence Model for Chinese Mandarin Lip Reading https://arxiv.org/pdf/1908.04917v2.pdf 3. Face recognition https://www.pyimagesearch.com/2017/04/03/facial-landmarks-dlib-opencv-python/ 4. Related work - How To Copy Files With Rsync Over SSH https://www.digitalocean.com/community/tutorials/how-to-copy-files-with-rsync-over-ssh - Convert Text to Speech in Python https://www.geeksforgeeks.org/convert-text-speech-python/ - python播放語音 https://zhangjh.me/2017/07/31/raspberry-autoplay/ ## Project Expectation 1. Project Focus - 能盡量減少延遲問題 - 脣形辨識準確率盡量提高 - 文字檔成功傳送並轉檔次序正確 - 檔案成功轉成音檔並播放 () - 正確implement電路 - LipNet在RPi的implementation (by docker or singularity) 2. What does your application look like? 以按鈕控制Pi-camera並固定在一個位置(**實際操作後會決定固定的位置**),以筆電連線RPi並再使用該功能時能顯示camera的即時影像,RPi需連線到對方的RPi即可開始使用。 3. How are you going to test your application? - 辨識率, 確認唇語符合使用者的語意,辨識正確的字數比例(or CER,WER) - 延遲時間(網路好壞),從說完唇語轉換成語音檔到開始播放語音花的時間 - 觸動機關正確產生input ## Solution Proposals 利用樹莓pi辨識脣形並轉成音檔傳送至對方的樹梅pi並自動撥放(需要兩個耳機、兩個鏡頭) **ALGORITM** - 使用字彙資料庫 LRW - 使用LipNet作為我們的AI辨識 - 查看論文以最佳化LipNet model - A開指撥開關講話(顯示正在錄影)-關閉指撥開關-錄完影片-> 檔案放進LIPNET(顯示正在辨識)->生出文字檔->在A螢幕上顯示辨識出的文字(1.按黑色按鈕同意送出2.再推一次錄影指撥開關再錄一次) -> 文字檔傳到B (顯示已接收到文字檔)->RPI轉成音檔放出來 (當播完時顯示對方已聽完)->B有兩種情況1.講下一句話2.按黑色按鈕表示跳過 (額外情況:1.當大家都按跳過時再按按鈕時顯示我想發言,若都按我想發言則先按的可以啟用功能2.若任一方想結束通話,推指撥開關,於雙方螢幕顯示結束通話並強制結束通話3.若對方斷線則顯示對方已斷線) - Q1: 如何決定AB第一句話 先按按鈕誰先講,按得時候顯示對方正在講話,限制另一個人先不要講(RPi關閉辨識與錄影功能) - Q2: 如何節省RPI記憶體 播完自動刪除音檔 - Q3:A講完話,B收到,若B不想講話,如何知會A 使用2個觸發機關,黑色按鈕(按鍵開關)按不想講話,在雙方螢幕顯示不想講話,藍色(指撥開關)錄影用 - Q4:如何掛電話 任一方推指撥開關。於雙方螢幕顯示結束通話並強制結束通話 - Q5:如何辨識錯誤 於雙方螢幕顯示辨識出來的文字檔,避免辨識錯誤,確認語意辨識正按同意送出按鈕,若按同意送出按紐,在按一次指,撥開關重新錄影 - Q6:如何知會對方斷線 若對方突然斷線,螢幕顯示對方已斷線 *備註(技術方面 1. 利用mobaxterm顯示偵測的情況與接收對方資訊的狀況 - 雙方顯示各種情況:正在錄影 正在辨識 對方已聽完 我不想講話(跳過) 已接收到文字檔 我想發言 結束通話 3. 利用ssh與rsync實現自動傳送檔案 4. 利用python中的gTTS API實現將文字檔轉換成音檔並用mplayer實現自動播放
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up