代碼是小朋友做的,題目是我從小就一直想做的,等了幾十年終於等到可以使喚的小弟了
核心代碼是圖像識別,這個折騰了很久,認輸妥協讓步了無數回,淚流滿面地幾乎要換課題了,最後一刻才找到勉強能用的代碼,並最終得到數據。
老父親性子越來越急,小朋友整個過程被我罵了無數回,居然進化出不亢不卑據理力爭的技能,也是服了。
實驗的結果如視頻最後所示的:每個面出現概率大體相同,但仍有差別,6和1出現概率最大。
為了讓骰子滾動起來更容易些,我用打磨機把骰子的稜角都磨掉了。人工打磨導致骰子外面不再對稱,因此產生系統性識別,整體數據偏移了。
圖像識別的代碼是網上找的,一開始想嘗試多個數字骰子一起扔,因為這樣能更快得到更多數據,但失敗了。
因為由於每個數字方向不同,很難識別出來。我們平常的數字識別,數字都是整整齊齊水平擺放,所以容易識別。
後來嘗試一次只放一個骰子,但仍然錯誤率很高。書上說要使用深入學習的方法,就是做一個樣本庫,自己人工識別出一些圖片,代碼再根據樣本庫進行識別。但樣本庫需要達到10%才能夠,就是一萬張我要自己識別一千張,OMG,放棄。
網上找的代碼又大多看不懂,只得放棄數字識別這條路
理想很豐滿,現實很骨感。
然後異想天開地想用二維碼識別,創意來自平時微信刷二維碼滴的一聲秒開,沒想到人家微信掃二維碼技術是經過多少技術人員多少年努力開發的結果,不是我們隨便百度個代碼就能用的,所以結果仍然是失敗
最後找著了這段圓點識別的代碼,有位前輩開發的,最初的用途似乎是用來檢驗白紙上的汙點數量,正好拿來檢測我的骰子。
圓點識別的好處是不用考慮方向,但對付多個骰子仍然是無能為力。
識別的過程很有趣,黑點周圍畫了一圈標識,我也是第一次在代碼級別看到圖像識別的過程。
最後介紹下用到的硬體,都是淘寶上找的
迷宮探路 2019暑假