16個(gè)上熱搜的黑科技開源項(xiàng)目
大家好,我是Echa。
計(jì)算機(jī)視覺,與語(yǔ)音識(shí)別、自然語(yǔ)言理解,并稱為人工智能的三大主要技術(shù)領(lǐng)域,也是AI技術(shù)落地產(chǎn)業(yè)化最廣泛的領(lǐng)域。
百度 Apollo Scape
隨著科技的發(fā)展,要計(jì)算機(jī)識(shí)別現(xiàn)實(shí)世界中的物體需要借助傳感器硬件設(shè)備(攝像頭、聲納等),就像人類的眼睛幫助我們看到周圍世界并做出反應(yīng)一樣。但計(jì)算機(jī)想要識(shí)別傳感器檢測(cè)到的數(shù)據(jù)到底是什么物體,就需要事先使用一定的視覺算法對(duì)大量的數(shù)據(jù)進(jìn)行訓(xùn)練,才能夠讓計(jì)算機(jī)能夠識(shí)別傳感器數(shù)據(jù)中所包含的物體類別并做出響應(yīng)。
本田 車內(nèi)設(shè)覺
如今,計(jì)算機(jī)視覺在身份核驗(yàn)、工業(yè)、農(nóng)業(yè)、醫(yī)學(xué)、交通、海洋等許多行業(yè)都有廣泛的用途。因此,對(duì)高質(zhì)量計(jì)算機(jī)視覺庫(kù)的需求也相應(yīng)增加。計(jì)算機(jī)視覺庫(kù)是一個(gè)預(yù)先編寫好的算法代碼和一些預(yù)訓(xùn)練好的模型或者數(shù)據(jù)。目前,在開源領(lǐng)域,計(jì)算機(jī)視覺庫(kù)數(shù)量非常多,包括圖像識(shí)別庫(kù)、人臉識(shí)別庫(kù)等。
NEXET
借此機(jī)會(huì),小編今天給大家好物分享16個(gè)上熱搜的黑科技開源項(xiàng)目,希望對(duì)大家所有幫助。你們都了解幾個(gè)呢?接下來小編帶著大家一一介紹。
全文大綱
- OpenCV- 迄今為止最古老也是最受歡迎的開源計(jì)算機(jī)視覺庫(kù)。
- TorchVision - 擁有計(jì)算機(jī)視覺中最常見的圖像轉(zhuǎn)換功能,還包含計(jì)算機(jī)視覺神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集和模型架構(gòu)以及常見數(shù)據(jù)集。
- YOLO - 是最快的計(jì)算機(jī)視覺工具之一,由Joseph雷德蒙和Ali Farhadi于2016年開發(fā),專門用于實(shí)時(shí)圖像對(duì)象檢測(cè)
- MMCV- 是一個(gè)基于PyTorch的圖像/視頻處理和轉(zhuǎn)換器。
- Scikit-Image - 公認(rèn)的最方便的Python視覺庫(kù),它是Scikit-Learn的一個(gè)擴(kuò)展庫(kù)。
- Pillow (PIL Fork) - 是一個(gè)Python編寫的圖像處理庫(kù)。
- TensorFlow - 是由GoogleBrain團(tuán)隊(duì)開發(fā)并于2015年11月發(fā)布的AI框架,旨在促進(jìn)構(gòu)建AI模型的過程。
- MATLAB - 是Matrix Laboratory的縮寫,但它是一個(gè)付費(fèi)編程平臺(tái),適合用于如機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、圖像處理、視頻信號(hào)處理等方面的應(yīng)用。
- Keras - 它允許快速構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,是一個(gè)模塊化的AI工具箱,計(jì)算機(jī)視覺工程師可以利用它來快速組裝應(yīng)用、訓(xùn)練模型。
- NVIDIA CUDA-X - 是一個(gè)GPU加速庫(kù)和工具的集合,可以開始使用新的應(yīng)用程序或GPA加速。它包含數(shù)學(xué)庫(kù)、并行算法庫(kù)、圖像和視頻庫(kù)、通信庫(kù)和深度學(xué)習(xí)庫(kù)。
- NVIDIA Performance Primitives - CUDA(Compute Unified Device Architecture的縮寫)是NVIDIA開發(fā)的并行計(jì)算平臺(tái)和應(yīng)用程序編程接口(API)模型。
- PyTorch - 是一個(gè)Python的開源機(jī)器學(xué)習(xí)框架,主要由Facebook的AI研究小組開發(fā)。
- OpenVINO- 它是一套非常全面的計(jì)算機(jī)視覺工具。
- Caffe - 一個(gè)易于使用的開源深度學(xué)習(xí)和計(jì)算機(jī)視覺框架,由加州大學(xué)伯克利分校開發(fā)。
- SimpleCV - 是一個(gè)開源免費(fèi)的機(jī)器視覺框架。
- Detectron2 - 是由Facebook AI Research(FAIR)開發(fā)的基于PyTorch的模對(duì)象檢測(cè)庫(kù)。
OpenCV- 迄今為止最古老也是最受歡迎的開源計(jì)算機(jī)視覺庫(kù)。
Github:https://github.com/opencv/opencv
OpenCV 官網(wǎng)
OpenCV是迄今為止最古老也是最受歡迎的開源計(jì)算機(jī)視覺庫(kù),旨在為計(jì)算機(jī)視覺應(yīng)用提供通用底層算法。
支持跨平臺(tái)應(yīng)用,支持Windows,Linux,Android和macOS。支持各種主流的開發(fā)語(yǔ)言,例如:Python,Java,C++等。OpenCV有一個(gè)Python Wrapper,支持GPU的CUDA模型。包含一些可以轉(zhuǎn)換為TensorFlow模型的模型。最初由Intel開發(fā),現(xiàn)在可以在開源BSD許可證下免費(fèi)使用。
OpenCV的主要功能包括:
- 2D和3D圖像工具包
- 人臉識(shí)別
- 手勢(shì)識(shí)別
- 運(yùn)動(dòng)檢測(cè)
- 人機(jī)交互
- 對(duì)象檢測(cè)
- 圖像分割和對(duì)象識(shí)別
OpenCV Demo
Github:https://github.com/pytorch/pytorch
PyTorch 官網(wǎng)
TorchVision是PyTorch庫(kù)的一個(gè)擴(kuò)展庫(kù),TorchVision擁有計(jì)算機(jī)視覺中最常見的圖像轉(zhuǎn)換功能,還包含計(jì)算機(jī)視覺神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集和模型架構(gòu)以及常見數(shù)據(jù)集。
TorchVision旨在為方便使用PyTorch模型進(jìn)行計(jì)算機(jī)視覺圖像轉(zhuǎn)換,而無需將圖像轉(zhuǎn)換為NumPy數(shù)組。TorchVision可以用于Python和C++語(yǔ)言開發(fā)環(huán)境??梢酝ㄟ^pip install將TorchVision與PyTorch庫(kù)一起搭配使用。
以下是預(yù)訓(xùn)練分割模型的使用例子。
import torchvision
model = torchvision.models.detection.maskrcnn_resnet50_fpn(pretrained=True)
# set it to evaluation mode, as the model behaves differently
# during training and during evaluation
model.eval()
image = PIL.Image.open('/path/to/an/image.jpg')
image_tensor = torchvision.transforms.functional.to_tensor(image)
# pass a list of (potentially different sized) tensors
# to the model, in 0-1 range. The model will take care of
# batching them together and normalizing
output = model([image_tensor])
# output is a list of dict, containing the postprocessed predictions
Github:https://github.com/ultralytics/ultralytics
YOLO 官網(wǎng)
YOLO是最快的計(jì)算機(jī)視覺工具之一,由Joseph雷德蒙和Ali Farhadi于2016年開發(fā),專門用于實(shí)時(shí)圖像對(duì)象檢測(cè)。YOLO使用將神經(jīng)網(wǎng)絡(luò),將圖像劃分為網(wǎng)格,然后同時(shí)預(yù)測(cè)每個(gè)網(wǎng)格,以提高識(shí)別效率。
目前YOLO已經(jīng)發(fā)布V8。YOLOv8 是一款前沿、最先進(jìn)(SOTA)的模型,基于先前 YOLO 版本的成功并引入了新的功能和改進(jìn),進(jìn)一步提升了性能和靈活性。YOLOv8 的快速、準(zhǔn)確且易于使用,使其成為各種對(duì)象檢測(cè)與跟蹤、實(shí)例分割、圖像分類和姿態(tài)估計(jì)任務(wù)的絕佳選擇。
YOLO 應(yīng)用場(chǎng)景
Github:https://github.com/open-mmlab/mmcv
MMCV 中文版官方
OpenMMLab 團(tuán)隊(duì)于 2022 年 9 月 1 日在世界人工智能大會(huì)發(fā)布了新一代訓(xùn)練引擎 MMEngine,它是一個(gè)用于訓(xùn)練深度學(xué)習(xí)模型的基礎(chǔ)庫(kù)。相比于 MMCV,它提供了更高級(jí)且通用的訓(xùn)練器、接口更加統(tǒng)一的開放架構(gòu)以及可定制化程度更高的訓(xùn)練流程。
MMCV v2.0.0 正式版本于 2023 年 4 月 6 日發(fā)布。在 2.x 版本中,它刪除了和訓(xùn)練流程相關(guān)的組件,并新增了數(shù)據(jù)變換模塊。另外,從 2.x 版本開始,重命名包名 mmcv 為 mmcv-lite 以及 mmcv-full 為 mmcv。
MMCV是一個(gè)基于PyTorch的圖像/視頻處理和轉(zhuǎn)換器。它支持Linux、Windows和macOS等系統(tǒng),是計(jì)算機(jī)視覺研究人員最常用的包之一。支持Python和C++開發(fā)語(yǔ)音。
MMCV 是一個(gè)面向計(jì)算機(jī)視覺的基礎(chǔ)庫(kù),它提供了以下功能:
- 圖像和視頻處理
- 圖像和標(biāo)注結(jié)果可視化
- 圖像變換
- 多種 CNN 網(wǎng)絡(luò)結(jié)構(gòu)
- 高質(zhì)量實(shí)現(xiàn)的常見 CUDA 算子
MMCV 支持多種平臺(tái),包括:
- Linux
- Windows
- macOS
Github:https://github.com/scikit-image/scikit-image
Scikit-Image 官網(wǎng)
Scikit-Image是公認(rèn)的最方便的Python視覺庫(kù),它是Scikit-Learn的一個(gè)擴(kuò)展庫(kù)。是監(jiān)督和無監(jiān)督機(jī)器學(xué)習(xí)最常用的工具之一??梢杂糜趯umPy數(shù)組作為圖像對(duì)象進(jìn)行處理。
以下是使用Scikit-image進(jìn)行硬幣識(shí)別的例子。
import skimage as ski
image = ski.data.coins()
# ... or any other NumPy array!
edges = ski.filters.sobel(image)
ski.io.imshow(edges)
ski.io.show()
Github:https://github.com/python-pillow/Pillow
Pillow (PIL Fork) 官網(wǎng)
Pillow是一個(gè)Python編寫的圖像處理庫(kù)。它支持Windows、Mac OS X和Linux平臺(tái),可以在C和Python語(yǔ)言中使用Pillow庫(kù)。主要用于閱讀和保存不同格式的圖像,Pillow還包括各種基本圖像變換功能,例如:旋轉(zhuǎn)、合并、縮放等。
Github:https://github.com/tensorflow/tensorflow
TensorFlow 官網(wǎng)
TensorFlow是由GoogleBrain團(tuán)隊(duì)開發(fā)并于2015年11月發(fā)布的AI框架,旨在促進(jìn)構(gòu)建AI模型的過程。它有一些擴(kuò)展解決方案,如針對(duì)瀏覽器和Node.js的TensorFlow.js,以及針對(duì)終端設(shè)備的TensorFlow Lite。另外,TensorFlow還提供了一個(gè)更好的框架TensorFlow Hub。這是一個(gè)更易于使用的平臺(tái),可以使用TensorFlow Hub實(shí)現(xiàn)重復(fù)使用BERT和Faster R-CNN訓(xùn)練模型、查找可隨時(shí)部署的模型、托管模型以供他人使用。
TensorFlow允許用戶開發(fā)與計(jì)算機(jī)視覺相關(guān)的機(jī)器學(xué)習(xí)模型,例如:人臉識(shí)別、圖像分類、目標(biāo)檢測(cè)等。與OpenCV一樣,Tensorflow也支持各種語(yǔ)言,如Python、C、C++、Java或JavaScript。
TensorFlow 應(yīng)用場(chǎng)景
傳送門:https://ww2.mathworks.cn/products/matlab.html
MATLAB 官網(wǎng)
MATLAB是Matrix Laboratory的縮寫,但它是一個(gè)付費(fèi)編程平臺(tái),適合用于如機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、圖像處理、視頻信號(hào)處理等方面的應(yīng)用,是一個(gè)受到工程師和科學(xué)家喜歡的編程平臺(tái)。它配備了一個(gè)計(jì)算機(jī)視覺工具箱,包含許多算法能力,如:
- 視頻目標(biāo)檢測(cè)與目標(biāo)跟蹤
- 物體識(shí)別
- 校準(zhǔn)攝像機(jī)
- 處理三維視覺
傳送門:https://keras.io/
Keras是一個(gè)基于Python的開源軟件庫(kù),對(duì)初學(xué)者來說特別易用,它允許快速構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,是一個(gè)模塊化的AI工具箱,計(jì)算機(jī)視覺工程師可以利用它來快速組裝應(yīng)用、訓(xùn)練模型。Keras的底層框架使用TensorFlow,并且擁有強(qiáng)大的社區(qū)支持,因此用戶眾多??梢允褂肒eras實(shí)現(xiàn)的內(nèi)容例如:
- 圖像分割和分類
- 手寫識(shí)別
- 三維圖像分類
- 語(yǔ)義圖像聚類
傳送門:https://developer.nvidia.com/
CUDA是計(jì)算統(tǒng)一設(shè)備架構(gòu)的首字母縮寫,而NVIDIA CUDA-X是CUDA的更新版本。
NVIDIA CUDA-X是一個(gè)GPU加速庫(kù)和工具的集合,可以開始使用新的應(yīng)用程序或GPA加速。它包含數(shù)學(xué)庫(kù)、并行算法庫(kù)、圖像和視頻庫(kù)、通信庫(kù)和深度學(xué)習(xí)庫(kù),可用于各種任務(wù),例如:人臉識(shí)別、圖像處理、3D圖形渲染等。它兼容大多數(shù)操作系統(tǒng),并且支持許多主流AI編程語(yǔ)言,如:C、C++、Python、Fortran、MATLAB等。
傳送門:https://developer.nvidia.com/npp
CUDA(Compute Unified Device Architecture的縮寫)是NVIDIA開發(fā)的并行計(jì)算平臺(tái)和應(yīng)用程序編程接口(API)模型。它允許開發(fā)人員使用GPU(圖形處理單元)的強(qiáng)大功能來加快處理密集型應(yīng)用程序的速度。
該工具包包含NVIDIA Performance Primitives(NPP)庫(kù),可為多個(gè)領(lǐng)域(包括計(jì)算機(jī)視覺)提供GPU加速的圖像、視頻處理和信號(hào)處理功能。此外,CUDA架構(gòu)可用于各種開發(fā)任務(wù),例如:人臉識(shí)別、圖像處理、3D圖形渲染等。它支持各種編程語(yǔ)言,包括C、C++、Python、Fortran或MATLAB,并且還與大多數(shù)操作系統(tǒng)兼容。
Github:https://github.com/pytorch/pytorch
PyTorch 官網(wǎng)
PyTorch是一個(gè)Python的開源機(jī)器學(xué)習(xí)框架,主要由Facebook的AI研究小組開發(fā)。在構(gòu)建復(fù)雜體系結(jié)構(gòu)時(shí)具有很大的靈活性??梢杂糜跈C(jī)器視覺方面開發(fā)圖像評(píng)估模型、圖像分割、圖像分類等。
PyTorch是一個(gè)基于Torch的使用Python編程語(yǔ)言的開源機(jī)器學(xué)習(xí)框架。Torch 是一個(gè)開源的用Lua腳本語(yǔ)言編寫的機(jī)器學(xué)習(xí)庫(kù),用于創(chuàng)建深度神經(jīng)網(wǎng)絡(luò)。
PyTorch 支持多種不同的數(shù)學(xué)運(yùn)算,簡(jiǎn)化了人工神經(jīng)網(wǎng)絡(luò)模型的創(chuàng)建。PyTorch 主要應(yīng)用于數(shù)據(jù)科學(xué)家用于研究和人工智能應(yīng)用,如計(jì)算機(jī)視覺和自然語(yǔ)言處理等應(yīng)用。PyTorch 遵循 modified BSD 許可協(xié)議。
2016年,PyTorch 由 Meta AI Research 首次發(fā)布,現(xiàn)在已成為L(zhǎng)inux基金會(huì)的一部分。許多深度學(xué)習(xí)軟件都是在PyTorch基礎(chǔ)之上構(gòu)建的,包括Tesla 的 Autopilot、Uber 的 Pyro、HuggingFace 的 Transformers、PyTorch Lightning、和 Catalyst。
PyTorch提供了兩個(gè)高級(jí)特性:一是類似于NumPy的張量計(jì)算,可通過GPU實(shí)現(xiàn)強(qiáng)大的加速;二是基于帶自動(dòng)微分系統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)。支持ONNX與其他程序庫(kù)交換模型。
Github:https://github.com/openvinotoolkit/openvino
OpenVINO 官網(wǎng)
OpenVINO是Open Visual Inference and Neural Network Optimization的縮寫。它是一套非常全面的計(jì)算機(jī)視覺工具。它由英特爾開發(fā),是一個(gè)可以免費(fèi)使用的跨平臺(tái)框架,具有多種視覺處理能力,包括:
- 對(duì)象檢測(cè)
- 人臉識(shí)別
- 圖像彩色化
- 運(yùn)動(dòng)識(shí)別
Github:https://github.com/BVLC/caffe
Caffe 官網(wǎng)
CAFFE是Convolutional Architecture for Fast Feature Embedding的縮寫。是一個(gè)易于使用的開源深度學(xué)習(xí)和計(jì)算機(jī)視覺框架,由加州大學(xué)伯克利分校開發(fā)。
它使用C++編寫,支持多種開發(fā)語(yǔ)言,支持多種用于實(shí)現(xiàn)圖像分類和圖像分割的深度學(xué)習(xí)架構(gòu)。Caffe可以用于視覺、語(yǔ)音和多媒體領(lǐng)域的應(yīng)用,支持圖像分割、分類等模型開發(fā)。
SimpleCV 官網(wǎng)
SimpleCV是一個(gè)開源免費(fèi)的機(jī)器視覺框架。通這個(gè)框架,可以輕松訪問OpenCV等幾個(gè)高性能的計(jì)算機(jī)視覺庫(kù),而無需深入了解位深度、顏色空間、緩沖區(qū)管理或文件格式等復(fù)雜概念。
Github:https://github.com/facebookresearch/detectron2
Detectron2 官網(wǎng)
Detecrton 2是由Facebook AI Research(FAIR)開發(fā)的基于PyTorch的模對(duì)象檢測(cè)庫(kù)。
Detectron 2是Detection的升級(jí)版;包括:Faster R-CNN、Mask R-CNN、RetinaNet、DensePose、Cascade R-CNN、Panoptic FPN和TensorMask等模型。Detecrton 2的功能包括:密集位姿預(yù)測(cè)、全景圖像分割、聯(lián)合分割、對(duì)象檢測(cè)等。
Detectron2 應(yīng)用場(chǎng)景
最后
一臺(tái)電腦,一個(gè)鍵盤,盡情揮灑智慧的人生;