VisionSketch: Integrated Support for Example-Centric Programming of Image Processing Applications

'13-14 IDE NUI ACM PLDI '13 Student Research Competition Graphics Interface '14

ソースコードがGitHubで公開されています。WindowsとMac両用です。

概要

プログラムの手順を表すのに文字が最善手とは限らない。とくに画像処理のパイプライン処理では、入力と出力は画像および動画であり、アルゴリズムに渡すパラメタは二次元座標系上の領域など画像や動画上で何らかの意味を持っていることが多い。我々は画像処理のプログラミングが持つこれらのビジュアルな特徴に着目し、画像処理のパイプラインを素早く構築して実行できるプロトタイピング目的の言語および開発環境"VisionSketch"を提案する。

VisionSketchのユーザは、まず操作対象となる画像または動画のソースを開き、その上で図形を描いて着目する領域(ROI, region of interest)を指定する。次に、VisionSketchの開発環境がROIに対して適用できる操作を一覧表示する。ユーザがその中から一つを選ぶと、操作の適用結果がインタラクティブに表示される。ユーザは、このようにして望みの操作を探すことができる。さらに、必要であれば、出力として得られた画像または動画を入力として用い、ROIの指定と画像処理の適用を繰り返すことができる。

VisionSketchでは、従来の文字列ベースの言語ではメソッド呼び出しの繰り返しとしてタイピングにより記述していた処理が、図形の描画と必要な操作の選択をGUIの直接操作で繰り返すことにより指示可能となっている。

VisionSketch IDE

VisionSketch IDEの概観

Overview

PLDI '13発表時の初版の概観

Overview (original version)

構築した画像処理パイプラインの例

Example use case #1: counting grinds

発表文献