Computer Vision 是什麼?電腦視覺原理與應用白話解析

一句話說明

電腦視覺(Computer Vision)是一個讓 AI 從圖片和影片中理解視覺資訊的技術領域——從辨認照片中的物件、到自動駕駛中判斷路況、到工廠產線的瑕疵檢測,都屬於電腦視覺的範疇。

核心任務

電腦視覺處理的問題可以分成幾大類,每一類解決的問題層次不同,需要的技術複雜度也不同。理解這些任務的分類,有助於判斷你的應用場景需要用到哪一種技術。

圖片分類(Classification)。判斷一張圖片裡面是什麼。這是最基本的任務,模型的輸出是一個類別標籤。例如:這張照片是貓還是狗?這張 X 光片是正常還是異常?這張衛星圖的地表覆蓋是森林、水體還是都市?分類任務看起來簡單,但在醫療影像這類場景中,分類結果直接影響診斷決策,準確率的要求非常高。

物件偵測(Object Detection)。在圖片中找出物件在哪裡,並用框框(Bounding Box)標出位置和類別。例如:自動駕駛需要偵測路上的行人、車輛、號誌的位置和距離。物件偵測比分類多了「定位」這一步,模型需要同時預測物件的位置和類別。常見的物件偵測演算法包括 YOLO 系列(速度快,適合即時應用)、Faster R-CNN(精度高,適合離線分析)和 DETR(基於 Transformer 的方法)。YOLO 系列從 v1 到 v8 持續演進,目前 YOLOv8 在速度和精度之間的平衡表現很好,台灣很多工廠的瑕疵檢測系統都用 YOLO。

語義分割(Semantic Segmentation)。把圖片中的每一個像素都分類到一個類別。例如:這個像素屬於道路、這個像素屬於人行道、這個像素屬於建築物。語義分割的輸出是一張和原圖大小相同的「分類圖」,每個像素都有對應的標籤。醫療影像中,語義分割用來精確標出腫瘤的邊界,幫助醫師判斷腫瘤的大小和位置。自動駕駛中,語義分割讓車輛理解路面的可行駛區域。台灣的醫學中心已經在肺部 CT 和腦部 MRI 上使用語義分割輔助診斷。

實例分割(Instance Segmentation)。比語義分割更進一步——除了知道「這個像素屬於人」,還能區分「這是第一個人」「這是第二個人」。Mask R-CNN 是實例分割的代表性演算法。在擁擠場景中(例如人群計數、交通流量分析),實例分割比物件偵測更精確,因為它可以處理物件重疊的情況。

OCR(光學字元辨識)。從圖片中辨認文字。從掃描文件到即時翻譯(如 Google Lens 對著招牌翻譯),背後都是 OCR 技術。傳統的 OCR 只能處理印刷體文字,現在的深度學習 OCR 可以辨認手寫字、彎曲文字、模糊文字。在台灣的金融和政府機構中,OCR 大量用於發票辨識、身分證件掃描、公文數位化。中文 OCR 因為字數多、結構複雜,比英文 OCR 更有挑戰性,但目前的模型(如 PaddleOCR)在繁體中文上的表現已經相當不錯。

姿態估計(Pose Estimation)。偵測圖片中人體的骨架和關節位置。應用在運動分析、手勢辨識、AR 濾鏡(如 Instagram 的臉部特效)、復健醫學中的動作評估。Google 的 MediaPipe 提供了免費的姿態估計模型,可以在手機上即時執行。

電腦視覺的處理流程

一個典型的電腦視覺系統從輸入到輸出,會經過幾個階段。理解這個流程有助於判斷問題出在哪一步。

第一步是資料收集。用攝影機、感測器或現有的圖片資料庫收集原始影像。資料的品質(解析度、光線、角度)直接影響後續所有步驟。在工廠環境中,打光方式和攝影機角度的設計往往比模型選擇更重要。

第二步是前處理。調整圖片大小、正規化像素值、做資料增強(旋轉、翻轉、裁切、調整亮度)來增加訓練資料的多樣性。資料增強是讓小資料集也能訓練出好模型的關鍵技巧。例如只有 500 張訓練圖片,透過增強可以擴展到等效的幾千張。

第三步是特徵提取。用 CNN 或 Vision Transformer 從圖片中自動提取有用的特徵表示。深度學習之前,這一步需要人工設計特徵(如 SIFT、HOG),現在模型可以自動學習。

第四步是任務輸出。根據提取的特徵,輸出分類結果、偵測框、分割遮罩、或其他任務需要的結果。

第五步是後處理。對模型輸出做進一步處理,例如非最大值抑制(NMS,合併重疊的偵測框)、閾值過濾(只保留信心度高的結果)、結果的視覺化。

從 CNN 到 Vision Transformer

電腦視覺的技術發展經歷了幾個重要階段,每個階段的突破都帶來了應用場景的大幅擴展。

傳統方法(2012 年前)。使用手工設計的特徵提取器(如 SIFT、HOG),再搭配分類器(如 SVM)。需要人類專家定義「什麼特徵代表什麼」,泛化能力有限。例如要辨認人臉,需要人工定義「眼睛間距」「鼻子寬度」等特徵。這種方法在光線變化、角度變化、遮擋的情況下表現不穩定。

CNN 時代(2012-2020)。2012 年 AlexNet 在 ImageNet 競賽中大幅領先傳統方法,錯誤率從 26% 降到 16%,證明了卷積神經網路(CNN)在圖片辨識上的強大能力。CNN 可以自動學習圖片特徵,不需要人工設計。這是電腦視覺領域的分水嶺。

CNN 的核心概念是「卷積」——用小型的濾波器(例如 3x3 或 5x5)在圖片上滑動,提取局部的特徵模式。淺層的濾波器提取簡單特徵(邊緣、線條、顏色變化),中間層組合成中等複雜度的特徵(紋理、形狀片段),深層組合成高階特徵(眼睛、輪子、文字),最後組合成最終判斷(這是一隻貓、這是一台車)。

代表性的 CNN 架構各有特色。VGG(2014)結構簡單直觀,全部用 3x3 卷積堆疊,證明了「越深越好」的趨勢。ResNet(2015)用殘差連接(skip connection)解決了深層網路的梯度消失問題,讓網路可以到 152 層甚至更深。EfficientNet(2019)用自動搜尋找到精確度和效率之間的最佳平衡。MobileNet 專門為行動裝置設計,用深度可分離卷積減少運算量,可以在手機上即時執行。

Vision Transformer 時代(2020 至今)。Google 在 2020 年提出 ViT(Vision Transformer),把自然語言處理中成功的 Transformer 架構搬到圖片辨識上。做法是把圖片切成 16x16 的小塊(Patch),把每個 Patch 當作一個「token」,用 Transformer 的自注意力機制來處理。自注意力讓每個 Patch 可以直接和圖片中所有其他 Patch 交流,不像 CNN 只看局部區域。

ViT 在大規模預訓練後的效果超越 CNN,而且和文字模型共享相同的架構,讓多模態模型(同時理解圖片和文字,如 GPT-4o、Claude 的視覺能力)變得更自然。目前最新的視覺模型大多基於 Transformer 架構或 CNN 與 Transformer 的混合架構。Swin Transformer 加入了階層式的視窗注意力機制,在物件偵測和語義分割上表現特別好。

比較項目 CNN Vision Transformer
核心機制 卷積(局部特徵提取) 自注意力(全域特徵關聯)
資料需求 中等(幾千張即可) 大量(需要大規模預訓練)
運算效率 較高 較低(但持續改善中)
邊緣部署 成熟(MobileNet 等) 較困難(模型較大)
適合場景 資料有限、即時推論 大規模預訓練、多模態任務

實際應用

電腦視覺的應用範圍非常廣,以下是目前最成熟和最有影響力的幾個領域。

自動駕駛。特斯拉、Waymo、百度 Apollo 等自動駕駛系統大量使用電腦視覺。車載攝影機拍攝路況,AI 即時辨識行人、車輛、車道線、交通號誌、施工路障、路面坑洞,做出行駛決策。自動駕駛是電腦視覺要求最高的應用之一——必須在毫秒級做出準確判斷,錯誤可能致命。除了攝影機之外,多數系統還結合光達(LiDAR)和雷達提供深度資訊。特斯拉堅持純視覺方案,其他公司多數採用多感測器融合。自動駕駛在台灣的發展以特定場域為主,例如高雄輕軌周邊的自動巴士測試。

醫療影像。AI 輔助判讀 X 光、CT 掃描、MRI、眼底攝影、病理切片。已經在皮膚癌篩檢、糖尿病視網膜病變偵測、肺部結節偵測等任務上達到或接近專業醫師的水準。台灣的台大醫院、長庚醫院、北榮等醫學中心已導入 AI 輔助影像判讀,主要用在胸部 X 光的肺炎和肺結核篩檢。值得注意的是,這些 AI 系統在台灣需要通過衛福部的醫療器材審查(第二等級醫療器材),取得許可證才能在臨床使用。AI 的角色是輔助醫師判讀,最終診斷決策仍由醫師做出。

製造業品質控制。在產線上用攝影機拍攝產品,AI 自動檢測瑕疵。台灣的半導體和面板產業已經廣泛使用 AOI(Automated Optical Inspection,自動光學檢測)系統。這些系統可以偵測 PCB 板的焊接不良、面板的亮暗點和色差、晶圓上的微小缺陷。比人工目視檢查更快(每秒可檢查數十個產品)、更一致(不會因為疲勞而漏檢)。台灣在 AOI 領域有多家本土廠商(如由田、牧德),結合深度學習後檢測準確率已經可以達到 99% 以上。

零售與物流。無人商店的商品辨識和結帳系統(如 Amazon Just Walk Out)、倉庫中的包裹分揀和貨架盤點、配送中的包裹狀態辨識。不過無人商店的推廣速度比預期慢,因為準確率在大量商品和人流密集的情況下仍有挑戰。物流方面,台灣的大型電商已經在倉庫中使用電腦視覺輔助揀貨和品質檢查。

農業。無人機空拍農田,AI 辨識作物健康狀況、病蟲害、灌溉需求、雜草分布。透過多光譜影像(除了可見光,還拍攝近紅外線等波段),AI 可以偵測肉眼看不到的作物壓力。台灣的農業部和部分農業技術公司已有試點專案,包括水稻的病蟲害偵測和果園的果實成熟度判斷。

臉部辨識。門禁系統、手機解鎖(如 Face ID)、機場通關(如桃園機場的 e-Gate)、金融服務的身分驗證(如銀行開戶的人臉比對)。這是爭議最大的電腦視覺應用之一,後面會詳細討論隱私和偏見問題。

開發工具與框架

如果你想實際動手做電腦視覺專案,以下是常用的工具和框架。

PyTorch 是目前學術界和產業界最主流的深度學習框架。torchvision 子套件提供了預訓練模型、常用的資料集和影像轉換工具。大部分最新的電腦視覺研究都用 PyTorch 實作。

import torchvision.models as models
import torchvision.transforms as transforms
from PIL import Image

model = models.resnet50(pretrained=True)
model.eval()

transform = transforms.Compose([
    transforms.Resize(256),
    transforms.CenterCrop(224),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406],
                         std=[0.229, 0.224, 0.225]),
])

img = Image.open("test.jpg")
input_tensor = transform(img).unsqueeze(0)
output = model(input_tensor)

OpenCV 是老牌的電腦視覺函式庫,提供影像處理的基礎功能(讀取、裁切、濾波、色彩轉換)以及傳統的電腦視覺演算法。幾乎所有電腦視覺專案都會用到 OpenCV,即使主要用深度學習,前處理和後處理的步驟通常由 OpenCV 處理。

Ultralytics(YOLOv8)提供了用幾行程式碼就能做物件偵測、分割、姿態估計的高階介面。適合快速原型開發和產品部署。

from ultralytics import YOLO

model = YOLO("yolov8n.pt")
results = model("factory_image.jpg")
results[0].show()

雲端 API 方面,Google Cloud Vision API、Azure Computer Vision、AWS Rekognition 都提供即用的電腦視覺 API,包括物件偵測、OCR、臉部偵測、場景辨識。適合沒有深度學習經驗但需要快速整合視覺功能的團隊。

隱私與偏見爭議

電腦視覺的隱私和偏見問題在全球引發了廣泛的討論和立法行動。

臉部辨識的隱私問題。監控攝影機結合臉部辨識可以追蹤個人行蹤,引發嚴重的隱私疑慮。舊金山在 2019 年率先禁止政府機構使用臉部辨識,之後波特蘭、波士頓等城市跟進。歐盟 AI Act 對公共場所的即時臉部辨識做出嚴格限制,只允許在打擊重大犯罪等特定情況下使用。在中國,臉部辨識的使用範圍很廣(從支付到交通管理),但也引發了關於政府監控的國際批評。

辨識準確率的偏見。MIT Media Lab 的研究者 Joy Buolamwini 在 2018 年的研究中發現,三家主流廠商的臉部辨識系統對深膚色女性的錯誤率高達 34.7%,對淺膚色男性的錯誤率僅 0.8%。原因是訓練資料中不同群體的代表性嚴重不均衡。這在執法和門禁場景中可能導致錯誤逮捕或拒絕通行,對特定群體造成系統性的不公平。

台灣的狀況。台灣的個資法將生物特徵(包括臉部影像、指紋)歸類為特種個人資料,蒐集和使用需要符合更嚴格的條件。企業使用臉部辨識前需要取得當事人的書面同意,告知蒐集目的和使用方式,並提供拒絕的選項。台灣在 2023 年開始討論 AI 基本法,其中對生物辨識的規範是重點議題之一。

安全與限制

電腦視覺系統在部署時面臨多種安全威脅和技術限制,在安全關鍵的應用場景中需要特別注意。

對抗樣本攻擊(Adversarial Attack)。在圖片上加入人眼看不到的微小擾動(通常只有幾個像素值的變化),就能讓 AI 做出完全錯誤的判斷。例如在停止標誌上貼一張特製的貼紙,可以讓自動駕駛系統辨認為速限標誌。研究者已經展示了在物理世界中可行的攻擊方式,包括印刷特製的 T 恤讓行人偵測失效、用特製的眼鏡框欺騙臉部辨識系統。這些攻擊在自動駕駛、門禁系統等安全關鍵場景中構成真實的威脅。

資料投毒(Data Poisoning)。攻擊者在訓練資料中注入少量的「有毒」樣本,讓模型在特定的觸發條件下產生錯誤判斷,平時則表現正常。例如在訓練資料的某些停止標誌圖片角落加上一個小貼紙,模型學會了「有貼紙的停止標誌是速限標誌」。這種後門攻擊在正常測試中很難被發現。

邊緣案例(Edge Cases)。電腦視覺系統在遇到不常見的情況時表現會下降。惡劣天氣(大雨、大霧、強烈逆光)、罕見物件(道路上的動物、掉落的貨物)、奇怪的角度(特殊的攝影機位置)都可能讓模型產生錯誤判斷。這在自動駕駛中尤其危險——AI 可能從未「見過」某種特殊狀況,而這些狀況往往是最需要正確判斷的時刻。

資料標註的成本和品質。高品質的標註資料(尤其是醫療影像的像素級標註、三維物件的密集標註)成本高昂。一張醫療影像的像素級標註可能需要專業醫師花費 30 分鐘到數小時。標註品質直接影響模型品質,但大規模標註的品質控制是一個持續的挑戰,不同標註者之間的一致性問題也很普遍。

運算需求。訓練大型視覺模型需要大量 GPU。例如訓練 ViT-Large 需要數百個 GPU 天。即時推論(如自動駕駛要求每秒處理 30 幀以上)需要專用的加速硬體(如 NVIDIA Jetson、Intel Movidius)。邊緣部署(把模型放在攝影機或手機上執行)需要模型壓縮(量化、剪枝、蒸餾)和硬體最佳化。這在台灣的 IoT 和智慧製造場景中是常見的工程挑戰。

模型的可解釋性。深度學習模型本質上是黑盒子,很難解釋為什麼對某張圖片做出特定判斷。在醫療影像中,醫師需要理解 AI 為什麼認為這張影像有異常,才能決定是否採納 AI 的建議。Grad-CAM 等技術可以產生「注意力熱圖」,顯示模型關注圖片的哪些區域,但這只是一種近似的解釋,不代表模型真正的決策邏輯。

常見問題

電腦視覺和圖片生成(如 Stable Diffusion)有什麼關係?

電腦視覺是「看懂」圖片(辨識、偵測、分析),圖片生成是「創造」圖片。兩者使用的底層技術有重疊——CNN 和 Transformer 在兩邊都有應用——但解決的問題方向相反。不過兩者也有交叉:圖片生成可以用來產生訓練資料(合成資料增強),電腦視覺的特徵提取技術也用在圖片生成的判別器中。

AI 看圖片和人類看圖片有什麼不同?

人類的視覺系統有大量的先驗知識(知道物體有物理規律、知道遮擋後面的東西還在),而且能從很少的例子中學會辨認新事物。AI 通常需要大量資料才能學到穩定的辨識能力,而且對上下文的理解遠不如人類。例如 AI 可能辨認出「這是一把刀」,但不知道「刀在廚房裡是正常的,刀在教室裡可能有問題」。另一個關鍵差異是穩健性:人類不會因為圖片旋轉幾度或光線稍微變化就認錯東西,但 AI 可能會。

台灣有哪些電腦視覺的產業應用?

半導體和面板的 AOI(自動光學檢測)是最成熟的應用,台灣在這個領域有完整的產業鏈,從設備製造到軟體開發都有本土廠商。醫療影像方面,台大、長庚、北榮等醫學中心正在快速導入 AI 輔助判讀,主要集中在胸部 X 光和眼底攝影。交通監控和車牌辨識已經普及,高速公路的 eTag 系統也運用了大量的影像辨識技術。農業方面有無人機巡田的試點,用多光譜影像偵測作物健康。零售的人臉辨識應用則因為隱私顧慮推進較慢。

學電腦視覺需要什麼基礎?

入門需要 Python 程式設計能力、基本的線性代數(矩陣運算)和統計知識。進階需要理解深度學習框架(PyTorch 或 TensorFlow)、CNN 和 Transformer 架構的原理、以及常見的訓練技巧(學習率調整、資料增強、遷移學習)。如果只是應用層級(用現成的 API 或預訓練模型),門檻低很多——Google Cloud Vision、Azure Computer Vision 都有即用的 API,用幾行程式碼就能呼叫。Hugging Face 上也有大量預訓練的視覺模型可以直接下載使用。

電腦視覺在隱私保護上有什麼新技術?

聯邦學習(Federated Learning)讓多個機構共同訓練模型,但資料不離開各自的機構,在醫療影像跨院合作中特別有價值。差分隱私(Differential Privacy)在訓練過程中加入數學上精確控制的噪聲,防止模型記住個別資料的細節。同態加密(Homomorphic Encryption)讓模型可以直接在加密的資料上做推論,資料全程不需要解密。邊緣推論(Edge Inference)把模型部署在本地裝置上執行,影像不需要傳送到雲端,從根本上避免了資料傳輸的隱私風險。

小公司沒有 AI 團隊,可以怎麼開始用電腦視覺?

最簡單的方式是使用雲端 API。Google Cloud Vision、Azure Computer Vision、AWS Rekognition 都提供按使用量計費的 API,不需要訓練模型,用 HTTP 請求就能取得辨識結果。如果需要自訂的辨識能力,Google 的 AutoML Vision 和 Azure 的 Custom Vision 可以讓你上傳自己的圖片和標籤,平台自動訓練模型。在台灣,也有一些 AI 解決方案公司提供客製化的電腦視覺服務,適合有特殊需求但沒有技術團隊的中小企業。

相關文章

參考資料

  • Krizhevsky et al., "ImageNet Classification with Deep Convolutional Neural Networks" (AlexNet, 2012)
  • Dosovitskiy et al., "An Image is Worth 16x16 Words" (ViT, 2020)
  • He et al., "Deep Residual Learning for Image Recognition" (ResNet, 2015)
  • Buolamwini & Gebru, "Gender Shades: Intersectional Accuracy Disparities in Commercial Gender Classification" (2018)