大家好,今天繼續聊聊科技圈發生的那些事。
一、py12306
話說回來,也快到五一了,不知道小夥伴們有沒有出行計劃呢?是選擇回家,還是出去旅遊呢?
出行票的第一輪應該是放完了,我們就來趕趕末班車吧。
py12306 這個專案其實就是一個搶票的工具,或許是臨近出行購票熱潮,這類專案又狠狠火了一把。

工具的使用非常簡單,用 Python 部署即可,也可以透過 Docker 使用。作者在專案主頁給出了比較詳細的教程,大概就是:
-
克隆倉庫,安裝依賴 -
配置工具程式(附程式碼) -
測試執行
我們來看一下作者給出的使用演示圖:

整體看下來,就是隻需要配置好使用環境,剩下的內容交給 py12306 ,靜候佳音即可。專案的特徵功能也很完善,比如多賬號、多工、多執行緒支援,分散式執行,郵件、微信訊息通知等等。
當然,作為一款開源工具,作者提示到,請勿用於商業用途。這種工具,方便一下自己,點到為止即可。還是那句話,你好,我也好,大家好才是真的好。
有需求的小夥伴可以自行部署使用,在這裡提前祝大家假期愉快。
專案地址:
https://github.com/pjialin/py12306
二、DUSt3R
相信我們應該都知道一個成語——管中窺豹。意思是隻看到了事物的一小部分,無法看清全貌。
但是,時代變了。現在我們能不能透過物體的某一部分,就看清它的全貌呢?

答案是,可以。DUSt3R 是一款可以幫助人們輕鬆實現幾何 3D 視覺效果的工具。簡單來說,就是透過提供一些平面 2D 的影像,生成影像中內容的 3D 效果。

我們可以直接看看 demo,透過提供了幾張看起來就是“隨手一拍”的圖片,DUSt3r 就可以生成圖片中鸚鵡、建築物的 3D 重建。


對於傳統的多立體視角重建 MVS (Multi-view stereo reconstruction) 來說,攝像機內在、外在引數的獲取通常較為麻煩。而 DUSt3r 將兩兩重建問題轉換為點對映的迴歸,放鬆了通常投影相機模型的硬約束,很好的優化了這個問題。
是不是感覺有點聽不懂?大概的意思就是,傳統的 MVS 需要提供相機的姿勢、校準等資訊,或是對它們進行估計。而 DUSt3r 透過點對映的迴歸簡化了這個核心步驟,使整個流程變得簡單。

對於一個無約束影像集,即一組具有未知相機姿勢和內在特徵的照片,DUSt3R輸出一組相應的點陣圖,並從中直接恢復通常難以一次性估計的各種幾何量,如相機引數、畫素對應關係、深度圖。

專案已經開源,部署可以在虛擬環境中完成。感興趣的小夥伴可以自行體驗一下。
專案地址:
https://github.com/naver/dust3r
三、Magic Clothing
前一段時間,我們介紹過一個專案 OOTDiffusion,大家還記得嗎?
今天要介紹的 Magic Clothing 是 OOTDiffusion 的一個“分支版本”,主要側重於可控服裝驅動的影像合成。

可以看到,Magic Clothing 和 OOTDiffusion 還是略有不同的。OOTDiffusion 是把衣服“貼”到人的身上,可以是它提供的模特,也可以是你自己的照片。而 Magic Clothing 則注重於將一件衣服“穿”在生成的人物身上。
比如說,你想看看自己喜歡的一件衣服,穿在別人身上,或是動漫人物身上是什麼樣子:

那麼,Magic Clothing 是怎麼實現這件事的呢?專案的核心,是根據不同的文字提示生成穿著目標服裝的定製角色。於是,基於潛在擴散模型(LDM),作者團隊用到了以下幾個方法:
-
引入服裝提取器捕捉服裝的細節特徵,並採用自注意融合將其納入預訓練的 LDM 中,確保人物的服裝細節保持不變。 -
利用無分類器聯合指導,平衡服裝特徵和文字提示對生成結果的控制。 -
提出的服裝外掛模組適用於各種微調的 LDM,可與其他擴充套件模組相結合,使用非常靈活。 -
設計匹配點-LPIPS用於評估目標影像與源服裝一致性。

而且,在最近的專案更新中,Magic Clothing 可以支援 AnimateDiff 生成 gif 影像。

專案還在不斷更新,目前線上體驗的網址還沒有開放。感興趣的小夥伴可以跟進一下後續發展。
專案地址:
https://github.com/shinehen1024/magicclothing
四、Reflex
Reflex 是一個使用 Python 建立網頁應用程式的專案,在更名前,它叫 Pynecone。
Reflex 的介紹中有一句很醒目的話:
Deploy in seconds.(幾秒內即可部署)
只要你的電腦上有 3.8 版本及以上的 Python 環境,你就可以很輕鬆的上手 Reflex。用到這樣一行
pip
命令就可以安裝 Reflex:
pip install reflex
那麼,Reflex 的表現怎麼樣呢?作者團隊展示了一個使用 DALL·E 進行影像生成的網頁應用示例,用到了 OpenAI 的 API ,生成的效果大概是這樣的:

設計簡潔大方,而這樣的網頁僅僅只用了一個 Python 檔案。非常鑽牛角尖的數了一下,僅僅用到了四十多行程式碼。讓我們來看看 Reflex 是怎麼實現的:
-
用 State 來渲染 UI -
在 State 中定義稱為事件處理器(event handlers)的函式,用於改變狀態變數,事件處理器可以作為對使用者操作的響應而被呼叫 -
定義應用程式 -
新增從應用程式根目錄到 index 元件的路由,新增標題
好了,就是這麼簡單的四個步驟,透過程式碼復現出來是這樣:

所以說,只要你能找到這種很方便就能呼叫的 API ,你完全可以透過 Reflex 實現一個能實現相同功能,且屬於自己的網頁。而且,在 Reflex 的網站上,也已經分享了許多成品網頁供大家體驗,比如 NBA 資料分析,或是簡單的 AI 聊天。

體驗網站地址:
https://reflex.dev/docs/gallery
專案地址:
https://github.com/reflex-dev/reflex
好了,本期的內容就是這麼多,我們下期再見!