色振動のページ
紹介
- 埋め込み動画例をローカルにダウンロードして適当な再生アプリで流す。(※GoogleDrive上の再生ではfpsが低く、QRが見えてしまいます。)
- 研究室のGalaxyS8に入っているQRVというアプリを開くとQRコードが見えます。
動画一覧
- https://drive.google.com/file/d/1VZsdv6o8OCJZkWrwP-DSzHjGPtSGr5Hw/view?usp=share_link
- https://drive.google.com/file/d/1Muvg4WzxxJ_s2bim2J6pVcUxfW1LvCKC/view?usp=share_link
- 02:55以降が色振動です。
- https://drive.google.com/drive/folders/1Bva6P4eyLh91C_f0hwHwNM8ajse2j2Dd?usp=drive_link
論文一覧
- 阿部 知史, 荒見 篤郎, 平木 剛史, 福嶋 政期, 苗村 健: "LCDカラー映像に情報 を重畳するための不可 視な色変調方式の基礎検討", VR大会, 21C-02 (2016.9).
- Satoshi Abe, Atsuro Arami, Takafumi Hiraki, Shogo Fukushima, and Takeshi Naemura: "Imperceptible Color Vibration for Embedding Pixel-by-Pixel Data into LCD Images," CHI Conference Extended Abstracts on Human Factors in Computing Systems (CHI EA 17), pp. 1464 -- 1470 (2017.5).
- 阿部 知史, 荒見 篤郎, 平木 剛史, 福嶋 政期, 苗村 健: "不可視の色振動を用いた2次元パターンによるディスプレイ-カメラ間通信の基礎検討", VR大会, 2B2-02 (2017.9).
- 松本 晟, 阿部 知史, 荒見 篤郎, 平木 剛史, 苗村 健: "不可視の色振動を用いたM系列による映像上の位置情報伝送の基礎検討", 信学総大, H-3-5 (2018.3).
- 松本 晟, 阿部 知史, 平木 剛史, 福嶋 政期, 苗村 健: "不可視の色振動を用いたARマーカによるカメラ位置推定の基礎検討", VR大会, 11D-1 (2018.9).
- Satoshi Abe, Takefumi Hiraki, Shogo Fukushima, and Takeshi Naemura: "Screen–Camera Communication via Matrix Barcode Utilizing Imperceptible Color Vibration," In Adjunct Proceedings of the 31st Annual ACM Symposium on User Interface Software & Technology (UIST 2018), pp.166 -- 168 (2018.10).
- 阿部 知史, 平木 剛史, 福嶋 政期, 苗村 健: "不可視の色振動を用いた2次元パターンによるディスプレイ-カメラ間通信", 映像メディア処理シンポジウム (IMPS 2018), P-5-11(2018.11).
- Akira Matsumoto, Satoshi Abe, Takefumi Hiraki, Shogo Fukushima, and Takeshi Naemura: "Imperceptible AR Markers for Near-screen Mobile Interaction," IEEE Access, vol.7, pp.79927 -– 79933 (2019.6).
- Satoshi Abe, Takefumi Hiraki, Shogo Fukushima, and Takeshi Naemura: "Imperceptible Color Vibration for Screen-Camera Communication via 2D Binary Pattern," ITE Transactions on Media Technology and Applications, vol. 8, no. 3, pp. 170 -- 185 (2020.7)
- 阿部 知史, 福嶋 政期, 苗村 健, 平木 剛史: "ディスプレイ映像の色振動を用いた不可視QRコードの研究", 画像ラボ, vol. 32, no. 3, pp. 45 --51 (2021.3)
- 田中 稜太郎, 亀井 郁夫, 高木 健, 韓 燦教, 福嶋 政期, 苗村 健: "映像における色振動方式不可視マーカの読み取り可能距離の拡張", 信学技報, vol. 121, no. 53, MVE2021-1, pp. 1--6 (2021.6).
- 荒木 航太, 田中 稜太郎, 覚井 優希, 韓 燦教, 福嶋 政期, 苗村 健: " 動画像に不可視マーカを埋め込むためのフレーム間差分に頑健な色振動方式の基礎検討", 映像メディア処理シンポジウム (IMPS 2021), P2-21(2021.11).
- 覚井 優希, 荒木 航太, 韓 燦教, 福嶋 政期, 苗村 健: "動画に重畳した不可視マーカの頑健な認識―デュアルカメラによる同時撮影―", 第21回情報科学技術フォーラム(FIT2022), K-020 (2022.9). 【FIT奨励賞受賞 (2022.9.15)】
- Yuki Kakui, Kota Araki, Changyo Han, Shogo Fukushima, and Takeshi Naemura: "Using a Dual-Camera Smartphone to Recognize Imperceptible 2D Barcodes Embedded in Videos", ACM Symp. on User Inteface Software and Technology (UIST 2022), Article No. 87, (2022.10).
- 荒木 航太, 覚井 優希, 田中 稜太郎, 韓 燦教, 福嶋 政期, 苗村 健: "動画像への不可視マーカの埋め込みに向けたフレーム間差分に頑健な色振動方式", 映情学誌, vol. 77, no. 1 , pp. 141 -- 148 (2023.1).
- 荒木 航太, 覚井 優希, 韓 燦教, 苗村 健: "動画像に重畳する不可視マーカの頑健性を向上する直交色振動方式の提案", 信学技報, vol. 123, no. 60, MVE2023-2, pp. 7 -- 12 (2023.5).
- 木林 佑太, 荒木 航太, 韓 燦教, 苗村 健: "直交色振動不可視マーカにおける軟判定復号法の基礎検討", 映像メディア処理シンポジウム (IMPS 2023), P2-07 (2023.11).【ベストポスター賞受賞 (2023.12.1)】
- 金井 瞭真, 木林 佑太, 明石 穏紀, 韓 燦教, 苗村 健: "直交色振動不可視マーカにおける復号率を維持した表示可能輝度範囲の拡張", 映像メディア処理シンポジウム (IMPS 2024), P1-06 (2024.11)【ベストポスター賞 受賞(2024.12.1)】
- Yuta Kibayashi, Kota Araki, Yasunori Akashi, Changyo Han, and Takeshi Naemura: "Quadrature Color Vibration Method for Improving Robustness of Imperceptible Markers Embedded in Video", IEEE Intern. Conf. Visual Commun. Image Process. (VCIP2024), P-ID 182 (2024.12).
- Yuki Kakui, Kota Araki, Changyo Han, Shogo Fukushima, and Takeshi Naemura: "Robust Recognition of Imperceptible QR Codes in Videos with a Dual-Camera Smartphone", ITE Trans. Media Technology and Applications, vol.13, no. 1, pp. 166--178 (2025.1).
ソースコード
- 差し当たりGoogleDrive内の荒木の個人フォルダ内に置いてます。
- 木林が動作確認したところうまく動画の生成ができていなかったので、ソースコードが欲しい場合は木林のgithubに招待しますので声をかけてください
- 一部はGitHubにもあるかもしれない。
埋め込み用
- Windows用、阿部手法です。
- 環境構築は以下を参照。
- コンパイルはmakefile内のパスを自身の環境に合わせて変更後、Visual Studioのx64 Native Tools Command Promptでnmake。
- コマンドは以下の通り。
embed.exe [-h] inputImage inputCode output [r, t] [-e] [-c cmin cmax] [-s size] [-n width height]
- inputImage: 入力画像
- inputCode: 埋め込みたいマーカの白黒画像(白が振動なし、黒が振動あり)
- output: 出力ファイル名、_a.bmpと_b.bmpができる
- r,t: rが振幅、tが振動方向。80,90が良く 使う値
- -e: ヒストグラムの正規化を行う。色域の変調をかける場合これをするとベターな結果になるかもしれない
- -c: 色域を制限する。100 240が良く使う値(黒付近で色ずれが起こる場合があるので、そのときは元の色や振幅なども上手く調整してください)
- -s: inputCodeの辺の長さを指定する(正方形前提のため1変数)
- -n: 出力画像のサイズ指定。入力画像より大きい場合黒で埋める
- Macで作成、動画像への埋め込み。
- Macであれば環境構築必要ないはず...?
- コンパイルは以下を参考に。
clang++ -std=c++11 embed_video.cpp modulate.cpp colorpair.cpp `pkg-config --cflags --libs opencv4` -o embed_video
- コマンドは以下を参考に。
./embed_video football.mp4 QR_720_486.png output -p 25 90 -c 60 200 -cr
- 順に入力画像、マーカ、出力先を指定
- -p: 半径、振動方向
- -c: 色域の制限
- -cr: 直交色振動方式。外すと阿部手法になるはず
読み取り用
- iCVapp内にあります。
- iCV21
- android用です。
- 松本さんのアプリに荒木が追記して使っていたものです。
- 阿部さん、松本さん、荒木あたりのものが入っています。
- iCV23
- android用。
- 直交色振動です。
- ColorVibration
- iPhone用。
- 覚井手法。
- iCV21
その他
- videoplay.cpp
- Windowsで動画再生時にフレームレートを変えられるアプリです。
- 方向キー上と下でフレームレートを変えられる。倍/半分に なっていく。
- iCVembed内にあります。
- コンパイル
- プロジェクトのプロパティで文字セットをマルチバイト文字セットを使用するにしないとエラーが出るかもしれない。
- 使い方
videoplay.exe image1 image2
- play.cpp
- Mac用のフレームレートを変えられるアプリ。
- ChatGPTに作ってもらったので、動作は怪しい。
- コンパイル
- SDL2のインストールが必要
brew install sdl2
clang++ -std=c++11 `pkg-config --cflags --libs sdl2` `pkg-config --cflags --libs opencv4` play.cpp -o play
- 動画のダウンロード元
- QRコード例