-
JavaScript H.264 解碼器介紹 – Broadway
Continue Reading…: JavaScript H.264 解碼器介紹 – BroadwayBroadway介紹 Broadway 是一個 JavaScript H.264 解碼器。H.264 是一個廣泛使用的視頻壓縮標準,Broadway 提供了一種在瀏覽器中,特別是不支持該格式的瀏覽器中,直接解碼 H.264 視頻的能力。 主要特點 Live Demo 當首次訪問上述示範頁面時,可能會感覺視頻播放器的速度有點慢,這是因為它需要首先下載整個視頻才能開始播放。但請有耐心,一旦視頻下載完畢,您可以點擊播放器來觀看視頻。 上面的左上角播放器在主線程上運行,而其餘的播放器在背景工作線程上運行。 本機端使用範例 把Player資料夾內的檔案下載下來,放進本地端的node.js專案的Player資料夾內 檔案連結: https://github.com/mbebenita/Broadway/tree/master/Player 接著撰寫node.js程式 接著開啟電腦的http://127.0.0.1:8080/treeDemo.html,就可以在本機運行可動的範例了
-
幾個使用PYAV的簡單範例
Continue Reading…: 幾個使用PYAV的簡單範例使用PYAV的前提 PyAV 是FFmpeg函式庫的 Pythonic 綁定。目標是提供底層庫的所有功能和控制,但盡可能管理細節。 PyAV 可透過容器、串流、封包、編解碼器和影格直接、精確地存取您的媒體。它公開了該資料的一些轉換,並幫助您將資料傳入/傳出其他套件(例如 Numpy 和 Pillow)。 這種權力確實伴隨著一些責任,因為與媒體合作非常複雜,PyAV 無法將其抽象化或為您做出所有最佳決策。如果該ffmpeg命令無需您竭盡全力即可完成工作,那麼 PyAV 可能會成為障礙而不是幫助。 所以如果我們想要在推流前處理串流、或者是拉流後處理串流內容,或者是更改串流編碼的相關資訊等【較難直接使用ffmpeg指令達到的事情時】,才較適合使用PYAV。 用RTMP的方式推流 範例程式碼如下: 輸出透明背景的影片 若要使用 pyav (Python 的 ffmpeg/avconv 綁定) 來輸出具有透明背景的影片,你通常會使用像 ProRes 4444 或者 VP9 (與 WebM 容器一同使用) 這類的編碼器,因為它們支持 alpha 通道 (透明度)。 在串流裡增加自定義的變數 pyav裡面的frame.side_data是一個屬性,它通常包含與該幀(幀)相關的附加資訊。這些資訊可能包括但不限於: 舉個例子,如果你正在解碼一個使用 HEVC(或稱為…
-
pyav介紹
Continue Reading…: pyav介紹甚麼是pyav PyAV是FFmpeg的Python封裝,旨在提供底層庫的全部功能和控制,同時盡可能管理繁瑣的細節。PyAV用於直接和精確地訪問媒體,包括容器、流、封包、編解碼器和幀。它還提供了一些數據轉換功能,並幫助您在其他程序之間傳送數據(例如Numpy和Pillow)。 然而,由於媒體處理非常複雜,PyAV無法完全抽像或為您做出所有最佳決策。 如果FFmpeg命令可以滿足您的需求,那麼PyAV可能會成為阻礙。 但在必要時,PyAV是一項關鍵工具。安裝PyAV可能有一些複雜的依賴關係,但現在可以在PyPI上找到針對Linux、Mac和Windows的二進位安裝套件。 官方網站: https://pyav.org/docs/stable/ GitHub位置: https://github.com/PyAV-Org/PyAV 建議使用場景 pyAV 和 ffmpeg 都是用來處理影音的工具,但它們的使用場景和方法有所不同。以下是對兩者的比較,以及根據不同情境的建議: 結論: 安裝方法 使用以下方式安裝(如果下面的指令失敗的話,請參考此頁面安裝: https://pyav.org/docs/stable/overview/installation.html) 後來我是使用下面這方法安裝成功的(windows) 簡單的拉取RTMP源流的範例 以下的範例會拉取rtmp://127.0.0.1/live/testStream並使用OpenCV的函數顯示影像在視窗裡
-
Segment Anything研究筆記
Continue Reading…: Segment Anything研究筆記Segment Anything介紹 論文網址: https://arxiv.org/pdf/2304.02643.pdf GitHub地址: https://github.com/facebookresearch/segment-anything 這份內容介紹了「Segment Anything」(SA)計畫,它包括了一個新的圖像分割任務、模型和數據集。使用高效的模型,在數據收集過程中建立了迄今為止最大的分割數據集,擁有超過10億個遮罩和1100萬張的圖像。這個模型設計和訓練成可提示,因此它可以進行zero-shot轉移到一系列任務,通過提示工程(prompt)實現。模型的zero-shot性能印象深刻,通常與或優於以前的完全監督結果競爭。他們公開了「Segment Anything Model」(SAM)和相應的數據集(SA-1B),以促進計算機視覺基礎模型的研究。 SAM模型由圖像編碼器、提示編碼器和遮罩解碼器三個組件組成,旨在實現高效運行和實時互動提示。數據引擎包括三個階段,從手動標註到半自動標註,最後實現完全自動生成遮罩。最終數據集SA-1B包括1100萬張高分辨率圖像和10億多個高質量分割遮罩,可供未來計算機視覺基礎模型的研究使用。該數據集的質量經過詳細分析,結果顯示自動生成的遮罩質量很高。 此外,文中還提到了有關模型效能、數據集特性以及公平性考這份內容介紹了「Segment Anything」(SA)計畫,它包括了一個新的圖像分割任務、模型和數據集。使用高效的模型,在數據收集過程中建立了迄今為止最大的分割數據集,擁有超過10億個遮罩和1100萬張許可和隱私尊重的圖像。這個模型設計和訓練成可提示,因此它可以進行零-shot轉移到一系列任務,通過提示工程實現。模型的零-shot性能印象深刻,通常與或優於以前的完全監督結果競爭。他們釋放了「Segment Anything Model」(SAM)和相應的數據集(SA-1B),以促進計算機視覺基礎模型的研究。 此外,文中還提到了有關模型效能、數據集特性以及公平性考慮的討論。該計畫的目標是促進基礎模型的發展,以應對圖像分割等廣泛的計算機視覺問題。整體來說,這個計畫提供了一個重要的資源,用於研究和開發計算機視覺基礎模型。 Segment Anything做了甚麼 1. 啟示來源: 2. 定義分割任務: 3. 預訓練策略: 4. 零樣本轉移: 5. 分割的多面性: 6. 與多任務分割的區別: 7. 深入討論: Segment Anything Model (SAM) 簡介 SAM 是為了可以應對提示的分割而設計的模型。它主要包含三個組件: 解決模糊性:對於模糊的提示,模型可能會輸出多個合理的遮罩。為了解決這一問題,SAM修改模型使其能夠對單一提示預測多個輸出遮罩。SAM發現3個遮罩輸出通常足以應對大多數常見情況。模型還會為每個遮罩預測一個信心分數(即預估的IoU)。…
-
U2Net模型的去背應用
Continue Reading…: U2Net模型的去背應用官方GitHub: https://github.com/danielgatis/rembg/tree/main 安裝方式 CPU support GPU support 首先要去安裝onnxruntime-gpu,接著 使用範例 下面為一個讀取攝影機的簡單去背使用範例 Stable Diffusion WebUI Rembg Stable Diffusion WebUI所使用的去背功能也是這個唷! 相關介紹文章: https://zhuanlan.zhihu.com/p/648234420 可以參考WebUI的參數去尋找相關程式碼可設定的部分,例如Erode size、Foreground threshold、Background threshold 模型去背測試 原始影像如下圖 模型列表 u2net u2netp u2net_human_seg u2net_cloth_seg silueta isnet-general-use isnet-anime
-
影像分割模型介紹
Continue Reading…: 影像分割模型介紹Image Segmentation介紹 影像分割(Image Segmentation)是電腦視覺中的一個基本任務,目的是將數字影像劃分成多個片段(或稱為「超像素」),使得具有相似性質的像素群組成同一片段。影像分割的目的是簡化或改變影像的表示形式,使其更容易被分析。以下是關於影像分割的詳細介紹: 影像分割作為電腦視覺中的一個核心任務,在許多應用中都扮演著重要的角色,且隨著深度學習的發展,其效果和應用領域持續擴展。 使用深度學習做影像分割 深度學習和神經網路在影像去背上已取得了驚人的成果。常見的模型如下: 火紅的模型U-Net介紹 網路的介紹文章: https://ithelp.ithome.com.tw/articles/10240314 去背改良版U2NET 網路相關教學文章: https://blog.csdn.net/xuzz_498100208/article/details/109912302
-
Transformer 模型於機器視覺的應用
Continue Reading…: Transformer 模型於機器視覺的應用論文來源 – CAPABILITIES – Vision 在 2021 年 8 月的一篇論文中,史丹佛大學的研究人員將 Transformer 模型稱為「基礎模型」,他們認為這些模型推動了人工智慧的典範移轉。他們寫道:「在過去幾年,基礎模型之規模和範圍擴大了我們對可能性的想像。」 On the Opportunities and Risks of Foundation Models Transformer 模型帶來的突破 在電腦視覺領域,Transformer模型能將來自多種來源和感測器的原始資料轉化成視覺知識,此知識適用於多種應用場景。這種思路其實是過去十年在該領域漸漸發展起來的。尤其是ImageNet的出現和監督式預訓練的技術,都帶領了電腦視覺朝向深度學習的方向演變。現今的深度學習模型超越了早期的傳統方法,能夠在大量資料上訓練後,再應用於如圖像識別、物件偵測和圖像分割等不同任務,這樣的思維持續為Transformer模型所採納。 Transformer模型的發展背後是先前方法的限制。傳統的監督學習需要昂貴且仔細收集的標籤,這限制了它的穩定性、泛化性和適用性。相對地,自我監督學習的進步為發展Transformer模型提供了新路徑,讓它能從大量的原始資料中獲取對視覺世界的上下文理解。雖然相對於整個領域的廣泛目標,Transformer模型的能力還在初級階段,但已在傳統電腦視覺任務上展現出增強的泛化能力,且預計這種進展會持續。長遠來看,Transformer模型減少對明確標籤的依賴可能會帶來如常識推理等基礎認知技能的進步,這在傳統監督學習中一直難以達成。 過去機器視覺的關鍵功能 這些任務涵蓋了電腦領域的多個方面,包括: 深度學習模型的主要進展源於ImageNet資料集的引入。通常,模型先在像圖像分類這樣的監督訓練任務上進行訓練,然後根據特定的任務和資料集進行調整,以適應該任務或領域的需求。 電腦視覺任務在多種實際應用中,如自動駕駛、影像編輯、機器人和醫學影像分析都起到關鍵作用。深度學習的進步已大大提高了這些任務的效能,使其更符合實際需求。 新的視覺合成和無監督學習領域 這些發展使得視覺合成和無監督學習在電腦視覺領域具有更廣泛的應用前景,有助於提高影像生成、影像處理、場景合成等任務的表現。同時,這些技術也為自動駕駛、虛擬實境、影像增強等領域提供了更多的可能性。 在無需明確標籤或註釋的訓練中,樣本的適應效率提高。視覺合成領域尤其如此,DALL-E就是一明例。但需了解,電腦視覺的基礎模型相比自然語言還在初階。圖像不僅包含物理場景理解、視覺常識、時間事件等,還涉及社會觀點。雖然這些都是目標,但因關注範疇廣,實際應用仍有挑戰。如,視覺問答系統在回答需常識理解的問題時表現不佳,因這類問題通常需外部知識,非單從圖像獲取。 Transformer 模型於機器視覺的可能應用 Transformer 模型的可能挑戰
-
Transformer:自然語言處理的里程碑
Continue Reading…: Transformer:自然語言處理的里程碑深入探討Transformer模型的核心架構和工作原理。本文詳細解析了Transformer的編碼器-解碼器結構、自注意力機制、多頭注意力等關鍵組件,並闡述其在機器翻譯等自然語言處理任務中的應用。適合想要全面了解Transformer技術及其在BERT、GPT等模型中應用的AI研究者和開發者。
-
AI大師論壇:人工智慧如何形塑人類未來
Continue Reading…: AI大師論壇:人工智慧如何形塑人類未來YOUTUBE連結: https://www.youtube.com/watch?v=k7aFffQn5vU 本篇文章所有圖片皆來自於永齡基金會 YouTube 講者介紹 吳恩達(1976-,英文名:Andrew Ng),華裔美國人,是斯坦福大學計算機科學系和電子工程系副教授,人工智能實驗室主任。吳恩達是人工智能和機器學習領域國際上最權威的學者之一。吳恩達也是在線教育平台Coursera的聯合創始人(with Daphne Koller),DeepLearning.AI創始人。 他的其他分享 AI 大神吳恩達降臨──告訴你如何成為創新者 【ChatGPT 之父來台】Sam Altman、吳恩達重磅開講!談 AI 將如何顛覆世界 現在AI應用的狀況 兩個重要的概念 大模型的時代 從2010-2020,進入了GPU加速的大模型的時代。這是因為GPU的支持,讓模型可以學習更多的資料,這也讓生成式AI有機會發展起來 AI的革命 – 生成式AI的發展 CHATGPT利用不停地去預測下一個字來完成文字的生成,可以產生非常長的回應文字。吳恩達認為這樣的生成式模型會很大的改變現有的模型生態 生成式AI如何改變建模的過程 以前的監督式學習需要拿到label資料->建模->部屬現在則只需要指定prompt->部屬 吳恩達在現場分享,不同的 AI 分屬不同領域,包含生成式 AI、監督式學習等。他指出,過去 10 年是生成式 AI 的 10 年,如今生成式 AI 僅處於早期的成功階段,未來潛力仍大,如果要達到真正的通用,至少還要 30,甚至…
-
使用現有模型標記新圖片
Continue Reading…: 使用現有模型標記新圖片Auto Labeling 因為在標記時常會花費很多的時間和力氣,現在市面上有許多auto labeling的工具,例如前一陣子meta有發表一個模型,還引起注目叫做SAM: https://segment-anything.com/ 以下為一個簡單的使用範例 成果如下: Roboflow的智慧圈選工具 在Roboflow也有類似的智慧圈選工具,可以自動為我們圈選目標的形狀,使用方式如下 使用現有模型標記YOLO格式label 但是若我們想要使用既有的模型訓練一些新的圖片,在新的圖片,若要標記一些常見的物品,如汽車、人、機車等…。這些東西因為在YOLO這種模型,預設的偵測狀況就很不錯了,有的時候為了要讓標記更快速,可以使用現有模型把預測的結果轉為標記檔案,再匯入Roboflow等標記軟體檢視標記狀況並修正錯誤的標記,會可以使標記工作更輕鬆。 預測結果轉標記程式碼 這邊是預測的result的相關文件: https://docs.ultralytics.com/reference/engine/results/#ultralytics.engine.results.Results.tojson 我真的覺得yolov8做的很用心的點,在於他的說明超級清楚,尤其是在程式碼本身上面,我們可以單單藉由下面程式碼印出詳細返回的物件結構,然後就可以了解該如何取得我們所需的物件資訊 從API我們可以得知,若我們使用的是yolo-seg,則吐回的座標資訊可參考這個返回值 完整預測結果轉標記的程式範例 設定folder_path到images的資料夾,label會放到相對應的labels資料夾下 把YOLO格式轉為COCO格式 請參考此專案: https://github.com/Taeyoung96/Yolo-to-COCO-format-converter/tree/master
Search
About Me
17年資歷女工程師,專精於動畫、影像辨識以及即時串流程式開發。經常組織活動,邀請優秀的女性分享她們的技術專長,並在眾多場合分享自己的技術知識,也活躍於非營利組織,辦理活動來支持特殊兒及其家庭。期待用技術改變世界。
如果你認同我或想支持我的努力,歡迎請我喝一杯咖啡!讓我更有動力分享知識!