你有沒有這樣的經歷?
襪子好不容易洗好了,亂成一團,想好好配對整理時,無論如此都找不到!!!
是不是很心累?
對於那些喜歡積攢襪子並且放在一起洗的人來說,配對襪子簡直就是噩夢!
在這一點上,不分國籍,似乎全世界的人都可能有這樣的煩惱——
這不,這位國外的小哥也深受困擾:
「我現在又要配對大量的洗過的襪子!圖中這還只是其中的一半!上次我花了整整十分鐘,來親手整理這些襪子」
不過,為了改變這種「殘酷的現狀」,這位小哥隨後「化悲憤為力量」,使用機器學習去實現襪子的自動搭配:
「我決定做一件唯一合理的事,用機器學習來匹配襪子。我只給了自己10分鐘的時間來完成專案,所以它不會比親自動手匹配更昂貴。在這個影片中,我會讓機器接管我的家務!」
這則用AI幫自己配對襪子的影片已經上傳到了YouTube,截至目前,已經收穫了千級的觀看量:
「頭腦風暴」全過程記錄:只要找對方法,分分鐘消除煩惱這位小哥記錄了他在十分鐘內完成任務的思考和實踐全過程:
“在這個專案中,我決定使用機器學習來配對我的襪子。我只給自己十分鐘來完成這個專案,因為10分鐘就是我手動整理襪子的時間。
作為一名高階軟體工程師,我應該能夠在十分鐘內使用機器學習自動完成同樣的任務——這才公平。
由於我只有十分鐘的時間來完成整個專案,我不得不走捷徑——
我決定不使用像PyTorch或TensorFlow這樣的機器學習框架,相反,我只是在谷歌上搜索「影象模式匹配」,然後就發現了OpenCV。
OpenCV是一個基於各種預訓練模型和機器學習演算法的計算機視覺庫。正如我所發現的,在影象處理和識別方面,它代表著人工智慧目前的最高水平。
透過使用OpenCV文件,我設法快速開發出了一個可以成功工作的襪子分類應用程式。
在Manjaro Linux上使用OpenCV製作襪子配對應用是一件輕而易舉的事,我只用了八分鐘就完成了整個專案。
我認為使用OpenCV構建一個機器學習移動應用程式也會非常快,我也打算在下次洗完襪子之後嘗試一下,我也會把它記錄下來,並繼續釋出到YouTube上!”
官網程式碼通用性佳,襪子配對效果「驚人」說到具體做法,這位小哥是這麼操作的:
在谷歌上搜索「影象模式匹配」時,他發現了熱門搜尋中的opencv頁面。
接著,他在opencv上發現了「特徵匹配」的文件說明:
然後發現例項中的程式碼正好滿足了他的需求:
下面是官網上的結果例項:
所以,他就直接下載了opencv相關安裝包,並將程式碼直接用到了自己的襪子配對問題上:
在把單隻襪子自身遮擋住之後,他發現,演算法可以很好幫他完成襪子配對的問題:
小哥還改了程式碼中的一行,之後就實現了匹配所有相同襪子對的操作:
是不是很神奇?
而到了這個階段,專案已經算完成了,而從開始構思到最後整個實現,他只花了8分鐘的時間!
下面是他用到的Opencv庫地址:
* https://opencv.org
* https://github.com/opencv/opencv
如果你也想試試看,那麼就可以遵循下面的步驟,即可解決自己的襪子配對問題:
1、開啟
https://docs.opencv.org/master/d5/d6f/tutorial_feature_flann_matcher.html,這個網頁記錄了「特徵匹配」的例項
2、使用包管理器,安裝這些包:opencv, opencv-contrib, cmake, make
3、建立一個叫“Matcher”的目錄
4、將1中的程式碼複製貼上到該目錄中名為Matcher.cpp的檔案中
5、在Matcher目錄下,執行下面命令:cmake . && make && ./Matcher
6、完成,你現在已經有了一個可以工作的影象匹配app
在這裡需要提醒的是,這個例項程式碼用的是尺度不變特徵變換的蠻力匹配法,當然,你也可以試著用OpenCV裡的深度學習模組,這樣,你可以實現更好的效果。
參考連結:
https://www.reddit.com/r/programming/comments/lastj4/ai_socks_matching_app_in_10_minutes/