科技改變生活 · 科技引領未來
傳說中有一種電腦高手可以在一臺電腦上按下Ctrl+C,在另一臺電腦上按下Ctrl+V就能進行跨設備粘貼復制。
雖然只是傳說,但有無數的電腦極客為這個目標而努力。而現在利用機器學習+AR技術攻克了這個難題。
利用這個技術只用一部手機就能將書上的圖片直接復制到電腦上,全程用不到10秒鐘。
手寫框架圖自然也不在話下~
這個項目是一位自稱藝術家的法國人創造,據在reddit提供的github地址,發現作者名為Cyril Diagne,此外其還是一家AI公司的聯合創始人。
項目地址:https://github.com/cyrildiagne/ar-cutpaste
雖然目前僅能用于Photoshop,但作者相信未來可以處理更加不同類型的輸出。從粘貼到復制,完成整個過程需要三個模塊:移動APP、本地服務器、背景移除。
其中,移動APP使用了Expo這個通用的React應用架構和平臺搭建,本地服務器使用了ScreenPoint超早攝像頭在屏幕上所指向的位置,背景移除使用的技術是基于被Pattern Recognition 2020 收錄的論文《U^2-Net: Going Deeper with Nested U-Structure for Salient Object Detection》。目前此論文尚找到下載版本,不過論文代碼已經放出。
代碼地址:
https://github.com/NathanUA/U-2-Net
部署步驟
根據作者Github,整個部署可以分為四步:Photoshop配置、設置外部顯著對象檢測服務器、配置和運行本地服務、配置和運行移動APP。
Photoshop配置:1.進入“Preferences>Plug-ins”,啟用“遠程連接”,并設置稍后需要的密碼。2.確保PS文檔設置與server/src/ps.py中的設置匹配,否則會粘貼空白。3.確保文檔有背景,如果背景空白SIFT可能無法進行正確的匹配。
設置外部顯著對象檢測服務器:1.需要使用 BASNet-HTTP作為外部HTTP服務部署BASNet模型;2.將需要部署的服務URL來配置本地服務器。3.如果在與本地服務相同的計算機上運行Basnet,請務必配置不同的端口。
配置并運行本地服務器的時候,按照上面的代碼和說明。
配置和運行APP則需要按照上面的設置。
另外,作者也提到直接在APP中使用像DeepLap此類的技術可能會簡單的多,但是作者還沒有嘗試。
技術細節
該工具使用U2-Net (Qin et Al, Pattern Recognition 2020) 執行顯著目標檢測和背景移除。
然后,利用 OpenCV SIFT 找出手機在電腦屏幕上對準的位置。只需要一張手機照片和截圖,就可以得到準確的 x, y 屏幕坐標系。
據論文作者介紹,U^2-Net與當前20余種SOTA方法進行對比實驗后,無論是在模型尺寸還是結構測度等指標都獲得了比較不錯的成績。
U^2-Net工作是對其BASNet (Qin et al, CVPR 2019)工作的更新,論文暫時未放出,不過根據BASNet,我們可以知道在邊界的顯著性檢測方面,其對損失函數的設計進行了創新,使其不再像以前那樣只關注區域精度。
上面是檢測技術,而定位技術是使用的SIFT算法,全稱是Scale-invariant feature transform,翻譯過來是:尺度不變特征轉換。是一種不隨圖像尺度旋轉變化而變化的特征,因此SIFT特征不會隨著圖像的放大縮小,或者旋轉而改變,同時由于在提取特征時做的一些特殊處理,使得SIFT特征對于光照變化也有比較強的適應性。
SIFT算法由加拿大英屬哥倫比亞大學教授David Lowe 于 1999 年發表于會議ICCV ,原論文Object recognition from local scale-invariant features ,David Lowe 是唯一作者。
廣為人知的被引用更多的是2004年發表于期刊IJCV的完善版 Distinctive image features from scale-invariant keypoints。2020年3月6日專利到期,可以免費試用,OpenCV里就有。 算法流程一般為:構建尺度空間、尋找極值點、篩選極值點、計算特征點的主方向、變換特征點維度。
該工具使用 OpenCV SIFT 找出手機在電腦屏幕上對準的位置
作者:不會寫程序的設計師不是好藝術家
前面也提到,這項工具的發明者是Cyril Diagne,其自稱是藝術家、設計師、程序員,現居住在法國。2008年畢業于法國巴黎的Les Gobelins學院,這所學校不僅僅是動畫制作專業全球排名第一,還有圖像專業和交互設計專業同樣在國際上表現不俗。
畢業之后,他和其他五位學生共同創立了 LAB212公司,并且其本人是谷歌文化學院實驗室駐場藝術家,也是CAL(瑞士洛桑)的媒體和交互設計負責人。
他的工作重點是將數字技術與非常規技術融合在一起,從而創造詩意版的互動體驗。
他還曾經研究出一種人臉涂鴉工具,借助 Tensorflow.js、FaceMesh 和 Three.js 即可在網頁瀏覽器上使用 AR 對臉部進行涂鴉。
還有一款可在 Instagram 個人主頁圖像上添加 3D 效果的 chrome 擴展程序,效果生成類似于 Facebook 3D 照片功能,讓 2D 照片也能呈現多角度的景象。
王俊