YOLO-RD (Retriever-Dictionary) は、物体検出の分野で定番となっているYOLO(You Only Look Once)シリーズの最新研究です. 今回は、ICLR2025で発表されたYOLO-RD(https://arxiv.org/abs/2410.15346)について解説します.
外部知識を活用して効率的に性能向上を達成したYOLO-RD
YOLO-RD (Retriever-Dictionary) は、物体検出の分野で定番となっているYOLO(You Only Look Once)シリーズの最新研究です. 今回は、ICLR2025で発表されたYOLO-RD(https://arxiv.org/abs/2410.15346)について解説します.
Label StudioのAPIを利用するとき用のメモになります.下記で出てくる例は物体検出を例にしています.
import os
import requests
LABEL_STUDIO_HOST = os.environ["LABEL_STUDIO_HOST"]
LABEL_STUDIO_PROJECT_ID = os.environ["LABEL_STUDIO_PROJECT_ID"]
LABEL_STUDIO_TOKEN = os.environ["LABEL_STUDIO_TOKEN"]
# page_sizeとpageによって取得できるタスクの範囲が変わるため、必要に応じて変更.
tasks = requests.get(
f"{LABEL_STUDIO_HOST}/api/tasks/?project={LABEL_STUDIO_PROJECT_ID}&page_size=1000&page=1",
headers={"Authorization": f"Token {LABEL_STUDIO_TOKEN}"},
).json()
task_info = requests.post(
f"{LABEL_STUDIO_HOST}/api/tasks/?project={LABEL_STUDIO_PROJECT_ID}",
headers={"Authorization": f"Token {LABEL_STUDIO_TOKEN}"},
json={
"data": {"image": str(storage_file_path)}, # storage_file_pathはlocalならlocalのパス、Cloud上ならばCloud上のパス.
"project": LABEL_STUDIO_PROJECT_ID,
"file_upload": 1, # sync済みのdata source上のデータを読み込む場合は1
},
).json()
案件によっては、既存のモデルやシステムからラフなアノテーションが得られるときがあります.このときにはPre-Annotationを利用すると良いでしょう.
回転しているBounding Box向けの微分可能なIoUの計算というのは簡単ではありません.既存手法としてGWDやKLDがありますが、問題ごとにハイパーパラメータの調整が必要になります.これを解決してより扱いやすく性能が高い手法になったのがKFIoUになります.