在影像標註上訓練檢測和分割模型
在研究自己的框上微調檢測器,把預測的框作為預標籤展示給標註者,用修正後的結果重新訓練,並讓執行適配玻片和細胞。
v2.14.0 新增
本教程在研究自己的邊界框上訓練目標檢測器,並把檢測器的框作為預標籤展示給後續的標註者來修正。本教程面向已有 image_annotation 方案的研究負責人,他們讀過訓練你的第一個模型,或者熟悉管理員的訓練頁面。前半部分用 torchvision-detect 跑完一個完整的迴圈(影像上的框、一次訓練執行、回寫、修正,以及第二次執行),那裡的每一步都在筆記型電腦的 CPU 上執行過。後半部分把這個迴圈適配到 YOLO、輪廓、SAM 精修、整圖類別、全玻片、顯微影像、地圖、細胞、文件頁面和視覺語言模型,每種情形各佔一節。
安裝視覺訓練器
torchvision-detect 微調 torchvision 的 Faster R-CNN 檢測器。該訓練器需要 torch 和 torchvision。Potato 的預設安裝不含這兩個包,因為 torch 的下載有好幾個 GB。請在負責訓練的機器上安裝視覺 extra:
pip install "potato-annotation[train-vision]"同一個 extra 也覆蓋 torchvision-segment、hf-image-classification、sam-finetune、layoutlmv3 和 vlm-sft。缺少所需包的訓練器會在訓練頁面上顯示為“not installed”,並附上安裝這些包的命令。
對於下面這個小項目,GPU 不是必需的。在 Apple silicon 的 Mac 上,torchvision-detect 和 torchvision-segment 在 CPU 上訓練,而不是在 Metal(mps)上,執行日誌會用警告“torchvision-detect does not run on Apple's Metal (mps) with this torch; using the CPU”記錄這次切換。在 Potato 團隊的測量中,預設影像尺寸下一個 Metal 訓練步驟花的時間比一整個 CPU epoch 還長。對於更大的影像或更大的研究,請按遠端訓練的說明在 GPU 伺服器上訓練。
搭建影像項目
項目需要三樣東西:影像、列出這些影像的資料檔案,以及配置。把影像放進項目資料夾內名為 media 的資料夾,因為 Potato 預設把 <task_dir>/media/ 作為 URL 路徑 /media/ 提供。配置用 media_directory 指明資料夾時,也可以用其他資料夾。
shapes/
config.yaml
data/images.jsonl
media/img_001.png
media/img_002.png
...data/images.jsonl 的每一行是一個條目,帶有 id 和影像的 URL 路徑:
{"id": "img_001", "image_url": "/media/img_001.png"}該配置定義一個帶 bbox 工具和兩個標籤的 image_annotation 方案,並開啟帶回寫的模型訓練。該配置能通過 python -m potato.validate_cli --strict:
annotation_task_name: "Shape detection (model training)"
task_dir: "."
data_files:
- "data/images.jsonl"
item_properties:
id_key: "id"
text_key: "image_url"
output_annotation_dir: "annotation_output"
require_password: false
admin_api_key: "demo-admin-key"
num_annotators_per_item: 1
annotation_schemes:
- annotation_type: "image_annotation"
name: "objects"
description: "Draw a box around every circle and every square."
source_field: "image_url"
tools: ["bbox"]
labels:
- name: "circle"
color: "#e6194b"
- name: "square"
color: "#4363d8"
model_training:
enabled: true
writeback:
schemas: ["objects"]
include_unlabeled: true
min_confidence: 0.5四項設定決定了這個迴圈:
source_field: "image_url"告訴影像元件和訓練器,哪個條目欄位存放影像。num_annotators_per_item: 1讓每張影像只有一位標註者,這樣種子標籤覆蓋的影像就儘可能多樣。writeback.include_unlabeled: true讓每次執行在尚無人標註的影像上做預測。沒有該設定時,執行只在留出的 val 和 test 影像上預測,而這些影像已經有人工標註的框。writeback.min_confidence: 0.5在一張影像的框的平均得分低於 0.5 時,扣下該影像的預測。這個下限作用於整張影像,因此標註者不會只看到一張影像裡的一半框。
在項目資料夾內啟動伺服器:
potato start config.yaml -p 8000標註種子集
torchvision-detect 在 train 劃分裡少於 20 張已標註影像時拒絕擬合,而預設劃分把 70% 的已標註影像放進 train。請至少標註 30 張影像,目標物體變化大時標註更多。在 http://localhost:8000 上手工畫框。沒有框的影像會被排除在訓練之外,因為檢測器分不清沒有物體的影像和沒有人標完的影像。提交的影像要畫出其中的每個物體。
在任何人工標註之前,想先試跑這個迴圈的話,使用者模擬器可以根據 gold 檔案畫框。每個 gold 條目給出影像 id 和方案的形狀,座標是歸一化的:
[
{"id": "img_001", "objects": [
{"type": "bbox", "label": "circle",
"coordinates": {"x": 0.158, "y": 0.849, "width": 0.106, "height": 0.146}}
]}
]python -m potato.simulator --server http://localhost:8000 --users 3 \
--strategy gold_standard --competence good=1.0 --max-annotations 20 \
--gold-file data/gold.json --sequential --fast-mode --no-export模擬器會帶幾個畫素的抖動重畫每個 gold 框,在 good 水平上,模擬器還會漏掉或標錯一些物體,就像認真的標註者偶爾也會那樣。在我們對 80 張合成影像的測試中,三位模擬標註者在約一秒內標註了 60 張影像。
訓練 torchvision-detect
開啟 http://localhost:8000/admin,輸入管理員金鑰 demo-admin-key,然後開啟 http://localhost:8000/admin/training。把 objects 選為方案,把 torchvision-detect 選為訓練器,讓 Parameters 留空,然後點選 Train now。同一次執行也可以用指令碼啟動:
curl -X POST -H "X-API-Key: demo-admin-key" -H "Content-Type: application/json" \
http://localhost:8000/admin/training/api/runs \
-d '{"trainer": "torchvision-detect", "schemas": ["objects"]}'執行從 torchvision 的 COCO 權重出發,並按方案的兩個標籤給檢測器換上新的框頭。第一次執行時,torch 會把 COCO 權重下載到 torch 的快取裡。預設值是小型的 fasterrcnn_mobilenet_v3_large_fpn 架構、15 個 epoch、每步 4 張影像,並在連續 4 個 epoch 沒有更好的 val mAP 後提前停止。每種形狀都按其邊界框訓練,因此標註者畫的是多邊形的研究,訓練出來的仍是框檢測器。每張影像有多位標註者時,執行在 model_training.aggregation 為該影像選定的那一份完整答案上訓練,因為兩個人的框很少完全吻合。
在我們使用的 Apple M4 Pro CPU 上,37 張 320 乘 240 畫素的訓練影像約用 106 秒訓練完,執行在 5 個 epoch 後停止。執行的檔案位於 annotation_output/training/runs/<run_id>/,擬合好的檢測器在 artifacts/model/detector.pt。執行的設定和所用裝置記錄在 artifacts/model_card.json 中。
檢視留出得分
每次執行都會在檢測器從未訓練過的影像上給檢測器打分。image_annotation 方案的主得分是 map_50,即 COCO 平均精度均值,預測框與已標註物體的邊界框的 IoU 為 0.5 或更高時算作匹配。執行頁面還會記錄 map_50_95,即 IoU 閾值從 0.5 到 0.95 的平均值。兩位標註者對同一個物體畫的框很少在 IoU 0.9 時重疊,所以更嚴格的閾值有一部分衡量的是人們畫框的一致性。因此 Potato 以 0.5 閾值為主。衡量邊界框上的一致性展示瞭如何直接檢查這種一致性。
檢測器保留 val 得分最好的那個 epoch 的檢查點,因此 test 劃分有影像時,主得分取自 test 劃分。Runs 表在 Held-out score 列顯示主得分。執行頁面列出 n_train、n_boxes、每個劃分的大小和覆蓋率,以及在 val 和 test 上已標註和已預測的物體數。在我們對 80 張彩色圓形和方形合成影像的測試執行中,檢測器在 test 的 map_50 上得到 0.99。合成形狀比真實物體容易找得多,所以請在你自己的影像上判斷得分。
檢查預標籤
一次執行成功之後,Potato 會把檢測器的框寫入每張符合條件的影像的 predictions 欄位。GET /admin/training/api/status 在響應的 writeback 欄位裡報告結果,其中 n_written 是得到預標籤的影像數,另外為每種扣下影像的原因給出一個計數,例如低於 min_confidence 的 n_skipped_low_confidence,以及執行已用於訓練的影像的 n_skipped_train_split。train 劃分的影像永遠不會得到預標籤,因為模型在自己的訓練資料上的置信度說明不了新影像的情況。
用一個新使用者名稱登入 http://localhost:8000。每張通過回寫檢查的未標註影像開啟時,檢測器的框已經畫好。每個框都儲存為 source: ai,並把檢測器的得分存為 confidence。標註者可以移動或調整框的大小、更改標籤、刪除誤檢,並畫出檢測器漏掉的物體。標註者編輯這些框或轉到下一張影像時,這些框就成為標註者的答案。標註者只是檢視影像時,預標籤絕不會被儲存。模型稽核佇列按置信度從低到高提供帶預標籤的影像,稽核者的 correct 判定會讓該影像進入之後每次執行的 train 劃分。
用修正後的框重新訓練
每張被修正的影像都會成為下一次執行的人工標籤。標註者處理完一批帶預標籤的影像之後,從訓練頁面再啟動一次 torchvision-detect 執行。新的執行會替換上一次執行對每張影像的預測,新執行用於訓練的影像上的預標籤會被撤下。
要不用點選就重新訓練,請新增 auto_retrain 塊。這個片段擴充套件上面的 model_training 塊,每新增 25 條標註就啟動一次執行,最多每 10 分鐘一次:
model_training:
enabled: true
auto_retrain:
enabled: true
trainer: torchvision-detect
schemas: [objects]
update_frequency: 25
min_interval_s: 600
writeback:
schemas: [objects]
include_unlabeled: true
min_confidence: 0.5預標籤會把標註者錨定在模型的框上。等留出得分足以支援預標籤之後,再為標註者開啟回寫,另見檢測被不加思考蓋章的預標籤,瞭解檢查標註者是否不看就接受框的方法。
用 Ultralytics YOLO 加快檢測
ultralytics-detect 從 COCO 預訓練檢查點(預設是 yolo11n.pt)出發,在同樣的框上訓練 Ultralytics YOLO 檢測器。YOLO 的訓練和預測都比 torchvision-detect 快,預標籤是同樣可編輯的框。Ultralytics 採用 AGPL-3.0 許可,用 Ultralytics 訓練並分發的模型適用 AGPL 的條款。Ultralytics 另售用於閉源場景的企業許可證。Potato 的 extra 不含 Ultralytics,因此請自行安裝該包:
pip install ultralyticsPotato 會在每次執行之前請你確認許可證。訓練頁面會顯示確認框,API 執行需要在請求體裡寫 "accept_licence": true,自動重新訓練需要 auto_retrain.accept_licence: true。沒有確認時,API 會以 HTTP 400、needs_licence_ack: true 和訊息“ultralytics-detect is licensed AGPL-3.0”拒絕這次執行。下面的請求確認許可證並啟動執行:
curl -X POST -H "X-API-Key: demo-admin-key" -H "Content-Type: application/json" \
http://localhost:8000/admin/training/api/runs \
-d '{"trainer": "ultralytics-detect", "schemas": ["objects"], "accept_licence": true}'執行期間,訓練器會關閉 Ultralytics 的使用分析、Ultralytics HUB、實驗跟蹤器整合和自動安裝包。這些改動只在執行程序的記憶體中生效,你的 Ultralytics 設定檔案保持不變。檢查點下載到 ~/.cache/potato/ultralytics。預設值是 640 畫素下 50 個 epoch,並在 10 個 epoch 後提前停止。
用輪廓代替框
torchvision-segment 在多邊形、橢圓、自由曲線和畫筆掩碼輪廓上訓練 torchvision 的 Mask R-CNN。框會被排除在分割訓練之外,因為框並不說明哪些畫素屬於該物體。請給標註者 polygon 或 brush 之類的輪廓工具。如何標註影像分割掩碼介紹各種工具分別適用於什麼場合。
每個預測的掩碼都會被描成最多 64 個頂點的多邊形,因此標註者逐點修正預標籤。掩碼被分成若干塊時,保留最大的一塊。預設的 score_threshold 是 0.5,而不是檢測器的 0.25。Mask R-CNN 對同一個物體的第二猜測得分在 0.25 到 0.6 之間,每個猜測都會成為標註者還要刪除的一個形狀。留出得分把預測的多邊形與已標註的輪廓作比較。在 Mac 上,torchvision-segment 在 CPU 上訓練。使用 torch 2.8 時,Potato 團隊測得 256 畫素影像的一個訓練步驟在 Metal 上用 57 秒,在 CPU 上用 2.3 秒。真實的研究請使用 GPU 伺服器。ultralytics-segment 是 YOLO 對應的訓練器(yolo11n-seg.pt),同樣是 64 頂點的多邊形,同樣需要確認 AGPL-3.0 許可證。
用 sam-finetune 把框變成輪廓
框畫起來快,輪廓畫起來慢。sam-finetune 微調 Segment Anything(SAM)的掩碼解碼器,把一個框變成你的標註者會畫出的輪廓。影像編碼器保持凍結,每張影像的嵌入只計算一次,因此一個 epoch 的開銷很小。訓練時,用每個已標註輪廓的邊界框作為該輪廓的提示。執行會把每個提示框移動或縮放最多 box_jitter(預設為 5%),讓解碼器從像檢測器給出的框那樣鬆散的框中學習。
sam-finetune 精修框,需要有框作為起點。在同一個方案上的常見順序包含兩次執行:
- 在設定
writeback.include_unlabeled: true的情況下執行torchvision-detect或ultralytics-detect,讓未標註的影像帶上框預標籤。 - 在同一個方案上執行
sam-finetune。每個框預標籤都會變成多邊形預標籤,多邊形取代這些框。
方案需要有供 SAM 學習的輪廓,因此請在 bbox 之外再給標註者一個輪廓工具。在留出的影像上,標註者自己的框就是提示,所以 val_mask_iou 報告框正確時輪廓的平均 IoU。這些留出預測會被打分,但絕不會儲存或釋出,因為這些預測是根據另一位標註者的答案作出的。回寫報告用 n_skipped_heldout_only 統計這些留出預測。預設檢查點是 facebook/sam-vit-base(Apache-2.0)。微調後的解碼器只用於提供預標籤。影像工具的點選分割在瀏覽器中執行另外的 ONNX 權重,sam-finetune 執行不會替換這些權重。
對整張影像分類
對於關於整張影像的問題,例如詢問照片中是哪種動物的 radio 方案,請使用分類器,而不是檢測器。hf-image-classification 微調 Hugging Face 的 AutoModelForImageClassification 能載入的任何模型,例如 ViT、DeiT、BEiT、ConvNeXt、Swin 或 DINOv2。預設模型是 google/vit-base-patch16-224-in21k。該訓練器預設隨機翻轉訓練影像。翻轉會改變標籤時(例如影像中有文字,或涉及左右),請在 Parameters 中把 flip 設為 false。lora: true 訓練 LoRA 介面卡和分類頭,而不是訓練全部權重。
當一個選擇型方案已標註條目中至少 80% 帶有以 .jpg、.jpeg、.png、.bmp、.webp、.tif、.tiff 或 .gif 結尾的影像路徑時,該方案算作影像語料。在這樣的語料上,沒有指定向量化器的 sklearn-text 會在 CLIP 影像嵌入上擬合線性分類器。CLIP 基線不需要 GPU,只需要 pip install "potato-annotation[embeddings]" pillow。
影像路徑和遠端影像
影像訓練器讀取方案的 source_field 所指明的欄位。沒有 source_field 時,訓練器取 image_url、image、image_path、file_name、url、path 以及音訊和影片的對應欄位中,第一個非空的條目欄位。影像必須是項目內的本地檔案:
- 相對路徑相對於
task_dir解析,在task_dir下找不到檔案時,相對於media_directory解析。 - 像
/media/img_001.jpg這樣的 URL 路徑相對於media_directory解析。標註頁面從同一個位置載入影像。 - 經由絕對路徑、
../或符號連結而位於任務目錄和media_directory之外的檔案會被排除,並給出警告。 - 遠端
http(s)影像絕不會被下載。執行會排除每個影像是遠端的或缺失的條目,執行日誌會說明有多少,這些條目得不到預測。
要在遠端影像上訓練,請把它們下載到 media_directory。視覺格式頁面和 potato import介紹如何把現有的影像資料集帶入項目。
全玻片和其他大影像
檢測和分割訓練器會把每張影像縮放到幾百畫素,10 萬畫素的病理玻片或衛星場景上的物體在這種尺寸下就消失了。因此對於 image_annotation、microscopy 或 geo_annotation 方案,Potato 在構建執行的訓練資料時把大影像切成圖塊。玻片格式(.svs、.ndpi、.mrxs、.scn 等)和長邊達到 4,096 畫素或更多的影像會自動分塊。玻片需要 openslide:
pip install "potato-annotation[wsi]"訓練使用包含已標註物體的圖塊,外加一些空圖塊的樣本,每個物體都會被裁剪到所在圖塊內。預測覆蓋組織上方的每個圖塊,每張影像最多 max_predict_tiles 個。每張影像的劃分在影像被切分之前就已決定,因此同一張玻片的圖塊絕不會落入兩個劃分。圖塊預測會被合併回整張影像,兩個重疊圖塊都找到的物體只保留一次。預標籤使用整張影像的座標,與深度縮放檢視器儲存的座標相同。留出得分是在整張影像上計算的。遠端後端下載的是圖塊,而不是玻片。
相關設定位於 model_training.tiling 下。這個片段以 1,024 畫素的圖塊、在 20x 下訓練一張 40x 的玻片:
model_training:
enabled: true
tiling:
tile_size: 1024
overlap: 128
downsample: 2請讓 overlap 至少與物體一樣大,因為較大的物體會被分塊找到,每個圖塊一塊。對於記錄了解析度的玻片,mpp 設定每個圖塊畫素對應的微米數,並覆蓋 downsample。在有些玻片上,有兩項設定需要小心。空的訓練圖塊假定已標註影像上的每個物體都畫過了,因此標註者只畫了玻片的部分割槽域時,請設定 background: 0。組織由玻片縮圖上的 Otsu 閾值檢測,所以沒有空白玻璃的玻片會丟掉顏色較淺的那一半,tissue_threshold: 0 則在每個圖塊上預測。tiling 表列出每個鍵及其預設值。
顯微影像和地圖
microscopy 方案的 ROI 可以訓練 torchvision-detect、ultralytics-detect、torchvision-segment、ultralytics-segment 和 cellpose。每個帶 ROI 的 z 切片和時間點,都按方案的預設通道和對比度渲染,成為單獨的訓練影像。渲染器就是檢視器所用的合成器。尚未畫任何內容的影像,在檢視器開啟時所在的位置預測,即中間的 z 切片和第一個時間點。預測以顯微 ROI 的形式返回,並帶有每個 ROI 的 z 和 t。細胞分類指向的是標籤影像而不是形狀,訓練器會跳過細胞分類。
geo_annotation 方案的要素,在條目的柵格底圖上訓練同樣的檢測和分割訓練器。GeoTIFF 按檔案自身標籤裡的變換和 EPSG 程式碼定位,投影后的則用 pyproj 重投影。帶範圍的普通影像按經度和緯度定位。多邊形、矩形、線和點在柵格上變成形狀,多邊形的洞會被填滿。預測以 EPSG:4326 的 GeoJSON 要素返回,帶有 source: model。地圖把這些要素作為建議提供,只有當標註者編輯或接受其中一個時,這些建議才算作答案。底圖是瓦片伺服器或 GeoJSON 輪廓的地圖沒有可供訓練的柵格,執行會排除這些條目並給出警告。
用 cellpose 處理細胞
cellpose 在 image_annotation 或 microscopy 方案中的細胞或細胞核輪廓上微調 Cellpose。請另行安裝 Cellpose 3 或 4:
pip install cellpose預設的基礎模型是 cyto3。nuclei 和 cyto2 也適用於 Cellpose 3,cpsam 適用於 Cellpose 4。Cellpose 自己的估計不準時,請把 diameter 設為典型細胞直徑(單位為畫素)。Cellpose 的分割不帶類別,因此每個預測的細胞都得到 label 參數的值,未設定 label 時得到方案中最常見的標籤。各類別外觀不同時,請為每個標籤訓練一個模型。每個預測的掩碼都以多邊形返回,細胞的平均機率作為預標籤的置信度。cellpose 在 train 劃分裡只需要 5 張已標註影像,檢測器則需要 20 張。Cellpose 的程式碼是 BSD-3-Clause,權重來自 Cellpose 的作者,適用作者的條款。
聲譜圖
spectrogram_annotation 方案的框,在每段渲染成聲譜圖影像的錄音上訓練 torchvision-detect 和 ultralytics-detect。音訊模型教程從頭到尾介紹聲譜圖檢測,包括渲染設定和訓練器讀取的錄音格式。
用 layoutlmv3 處理文件版面
layoutlmv3 微調 LayoutLMv3,根據頁面上的詞及其位置,找出標註者在頁面影像上畫的區域。區域是任何帶標籤的塊,例如標題、表格或總額。Potato 不執行 OCR,所以每個條目都帶有頁面的詞,框使用頁面影像的畫素座標或 0 到 1 的座標:
{"id": "page_001", "image": "pages/page_001.png",
"words": [{"text": "INVOICE", "bbox": [40, 52, 180, 82]},
{"text": "Total", "bbox": [300, 700, 380, 730]}]}regions 模式下的 PAGE XML 匯入會根據檔案的 Word 元素填寫 words。來自 PDF 文本層或其他 OCR 工具的詞也同樣可用。每個詞按其中心所落入的區域獲得標籤,預測的詞會被合併回區域,每個區域變成圍繞該區域的詞的框預標籤。留出得分是框 mAP。預測的框止於區域內的詞,因此畫得比詞大得多的區域,得分會低於這些框應得的分數。
LayoutLMv3 權重的許可證是 CC BY-NC-SA 4.0,不可商用。與 YOLO 訓練器一樣,訓練頁面會在執行之前請求確認,API 執行需要 accept_licence: true,自動重新訓練需要 auto_retrain.accept_licence: true。
用 vlm-sft 訓練視覺語言模型
vlm-sft 在標註者關於影像的答案上微調視覺語言模型,預設使用 LoRA 介面卡,預設模型是 Qwen/Qwen2.5-VL-3B-Instruct。該訓練器從四種方案學習:
| 方案 | 每個訓練樣本對應 | 模型學習生成什麼 |
|---|---|---|
影像條目上的 text | 條目 | 標註者對方案所提問題的回答 |
region_caption | 帶說明的區域 | 以紅框畫出的區域的說明 |
grounding_eval | 已回答的表達 | 區域(JSON)、一個點,或 {"absent": true} |
gui_trajectory | 被判為 correct 且帶點選的步驟 | 點選,形式為 {"point": [x, y]} |
座標位於影像的 0 到 1,000 網格上,因此任何檢查點都能從樣本中學會這種格式。文本執行把生成的答案作為文本預標籤釋出。定位執行為每個表達釋出一個區域或一個“不存在”,VLM 定位介紹 grounding_eval 方案。GUI 軌跡執行根據模型會點選的位置為每個步驟建議一個判定,評估計算機使用智慧體介紹 GUI 軌跡。說明執行用 token F1 和 BLEU-4 打分,但絕不釋出,因為帶說明的區域是標註者的答案。
真實的檢查點需要 GPU。Potato 團隊在 Mac 的 Metal GPU 上,用 LoRA 在 26 張影像上訓練了兩個 epoch 的 Qwen/Qwen3-VL-2B-Instruct,用時 46 秒。在 Parameters 中寫 {"lora": {"quantize": "4bit"}},會在 4 位基礎權重上訓練 QLoRA 介面卡。請檢查你所選模型的許可證。Qwen2.5-VL-3B 適用 Qwen 研究許可證,7B 模型是 Apache-2.0。LLM 微調教程介紹 LoRA、QLoRA,以及把模型釋出到 Hugging Face Hub。
延伸閱讀
- 模型訓練概覽,介紹迴圈和訓練頁面
- 訓練器,按任務分組列出每個訓練器
- 配置,介紹每個鍵、留出得分、回寫和路由
- 迴圈中的模型標註,介紹稽核、採集和自動重新訓練
- 遠端訓練,介紹 ssh GPU 伺服器、SLURM 和輪詢智慧體
- 影像標註,介紹該方案的工具和選項
- 模型庫和許可證,介紹在瀏覽器和伺服器上執行的視覺模型
- 上游參考:影像條目、全玻片、
torchvision-detect、sam-finetune和vlm-sft,附每個參數列
參考文獻
- Ren, S., He, K., Girshick, R., and Sun, J. (2017). Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 39, 1137–1149. doi:10.1109/TPAMI.2016.2577031
- He, K., Gkioxari, G., Dollár, P., and Girshick, R. (2017). Mask R-CNN. 2017 IEEE International Conference on Computer Vision (ICCV), 2980–2988. doi:10.1109/ICCV.2017.322
- Kirillov, A., Mintun, E., Ravi, N., Mao, H., Rolland, C., Gustafson, L., Xiao, T., Whitehead, S., Berg, A. C., Lo, W.-Y., Dollár, P., and Girshick, R. (2023). Segment Anything. 2023 IEEE/CVF International Conference on Computer Vision (ICCV), 3992–4003. doi:10.1109/ICCV51070.2023.00371
- Stringer, C., Wang, T., Michaelos, M., and Pachitariu, M. (2021). Cellpose: a generalist algorithm for cellular segmentation. Nature Methods, 18, 100–106. doi:10.1038/s41592-020-01018-x
- Huang, Y., Lv, T., Cui, L., Lu, Y., and Wei, F. (2022). LayoutLMv3: Pre-training for Document AI with Unified Text and Image Masking. Proceedings of the 30th ACM International Conference on Multimedia, 4083–4091. doi:10.1145/3503161.3548112