Articles

Advanced Usage

2026-04-08

Advanced Usage

This article has no title in its frontmatter, so the filename (advanced-topics) will be used as the title by default.

Nested lists

  • Item 1
    • Sub-item A
    • Sub-item B
  • Item 2

Strikethrough

This text is struck through.

ABC 023

2026-05-13

AtCoder ABC 023 D「射撃王」

問題概要

  • (N) 個の風船があり、風船 (i) は初期高度 (H_i)、1秒ごとに (S_i) 上昇する。
  • 競技開始時に1個、その後1秒ごとに1個の風船を割れる(合計 (N) 個のタイミング 0,1,…,N-1 で割る)。
  • 風船を割ったときの高度がその風船のペナルティ。最終的なペナルティは、割ったすべての風船のペナルティの最大値。
  • 割る順番は自由に選べるとき、最終ペナルティの最小値を求めよ。

解法の着想

「最大値の最小化」は二分探索が有効です。

単調性
もしペナルティを (x) 以下にできるなら、(x+1) 以下にも当然できます。
逆に (x) でできないなら、(x-1) でもできません。
よって「ある値 (…

問題解決力を鍛えるアルゴリズムとデータ構造演習問題

2026-05-13

6.1

この問題は「座標圧縮」と呼ばれる典型的な処理です。
各要素が全体で何番目に小さいか(0始まりの順位)を求める問題で、ソートを使うと (O(N \log N)) で実現できます。

アイデア

  1. 値と元の位置をペアにする
    配列 a の各要素に、「値」と「もともとあったインデックス」をセットにしたタプルを作ります。
    例:a = [12, 43, 7, 15, 9][(12,0), (43,1), (7,2), (15,3), (9,4)]

  2. 値でソートする
    タプルのリストを「値」の昇順に並べ替えます。
    ソート後:[(7,2), (9,4), (12,0), (15,3), (43,1)]
    こうすると、先頭から順に「0番目に小さい値、1番目に小さい値…」と…

Getting Started with Mizushi

2026-04-09

Welcome to Mizushi

Mizushi is a lightweight knowledge base engine written in Rust. This is a sample article to demonstrate its features.

Features

  • Markdown support — full CommonMark + GFM
  • Frontmatter — YAML metadata for each article
  • Footnotes as side notes — footnotes appear inline, not at bottom[1]

GLA-CLIP

2026-04-06

GLA-CLIP

要点

GLA-CLIPは、training-freeなOpen-Vocabulary Semantic Segmentation (OVSS)において、高解像度画像をsliding-windowで推論する際に生じるwindow間の不整合を、追加学習なしで軽減する手法です。論文の主張は明快であり、既存手法の精度低下は「モデルが十分に学習されていないから」ではなく、「推論時に参照できる文脈がwindow内に制限されているから」起きるというものです。

この問題に対し、GLA-CLIPはlocal queryを維持したままglobalなkey/valueを参照させ、さらにquery側のwindow…

OVSS 問題設定

2026-04-05

OVSS 論文リストに共通して出てくる問題

  • OVSS の本丸は結局、分類能力よりも dense localization の不足
    • ICCV 2025 の CorrCLIP、DIH-CLIP、Feature Purification Matters、Plug-in Feedback Self-adaptive Attention、CVPR 2026 の [[GLA-CLIP]]、PEARL はいずれも、CLIP の patch 表現や attention、局所相関、ウィンドウ間整合、幾何整合、後段伝播の改善に集中 している

繰り返し解決対象になっている問題点

  1. CLIPは分類には強いが画素・パッチレベルの局在性に欠ける
  2. training-free OV…

OVSS のタスク定義

2026-04-05

基本的なタスク定義

  • 画像 I∈RH×W×CI∈RH×W×C が与えられたとき、任意のテキストで指定されたクラスで各ピクセル ((i,j)) にラベルを割り当てるラベルマッjプ L∈RH×WL∈RH×W を出力する
  • 「Open‑vocabulary」のポイント 学習時になかったクラス名(例:「量子ホール効果の実験装置」など)もテキストで指定でき、そのテキストでセグメンテーションできること。

![[OVSSのタスクを決定する_20260405_182855.png]]

サーベイでの分類

  • Training Free Open-Vocabulary Semantic Segmentation
    • CLIP-Based Approaches
      • P…

Open-Vocabulary Detection 深掘り

2026-04-05

以下の組み合わせからなる

  • 強いVLMの知識
  • 領域レベルへの適応
  • 疑似ラベル生成
  • 大規模弱教師データ

代表論文がしていること

  • ViLD
    事前学習済みのオープン語彙分類モデルを教師にして、その知識を2段階検出器へ蒸留する枠組みです。要するに「分類モデルが持つ言語知識を検出器へ移す」アプローチで、OVDの出発点として非常に重要です(ViLD)。Open-vocabulary Object Detection via Vision and Language Knowledge Distillation
  • RegionCLIP
    CLIPは画像全体と文を対応づけるので、物体領域単位では弱いという問題に対して、領域とテキストを直接そろえる事前…

Open-Vocabulary Segmentation 調査メモ

2026-04-06

Open-vocabulary segmentation 調査メモ

要点

Open-vocabulary segmentation は、学習時に固定されたラベル集合を超えて、自由なテキスト語彙で画像中の領域を切り分けて認識する流れとして発展してきた研究領域です (OVS Survey)。

2022年ごろの初期フェーズでは、CLIP や ALIGN のような vision-language model の語彙能力を、セグメンテーションへどう移すかが中心課題で、OpenSeg は「まず領域をまとめること」が重要だと整理し、画像キャプション由来の supervision でも open-vocabulary segmentation をスケ…

Rust Programming Guide

2026-04-10

Rust Programming Guide

Rust is a systems programming language focused on safety, speed, and concurrency.

Why Rust?

  • Memory safety without garbage collection[1]
  • Zero-cost abstractions — high-level features compile down to efficient machine code
  • Fearless con…

Deploying a Rust/Axum App to Cloudflare Pages

2026-05-13

Deploying a Rust/Axum App to Cloudflare Pages

Mizushi is a knowledge base engine built with Rust + Axum + Askama — it renders Markdown articles into HTML server-side. The goal was to host it on Cloudflare Pages (free tier).

The Problem

Cloudflare Pages' build environment does not have Rust or Cargo installed. Running cargo run in the build command fails imme…

パフォーマンスチューニングハッカソンに参加しようとした

2026-02-15

はじめに

2月14日に、リ○○ート(一応伏せた方がいいらしいので)が主催するフロントエンドパフォーマンスチューニングのハッカソンに参加する予定でした。実際のサイトを題材に、どれだけパフォーマンスを改善できるかを競うという内容です。

ですが、体調を崩してしまい参加できませんでした。

せっかく準備した過程で色々と学べたので、記録として残しておきます。

自分のフロントエンド知識

普段はバックエンドやアルゴリズム寄りのことをやっていて、フロントエンドにはほとんど馴染みがありませんでした。HTMLやCSSは「なんとなく書ける」程度で、ブラウザの内部で何が起きているかについてはほぼ考えたことがなかったです。

ハッカソ…