takminの書きっぱなし備忘録 @はてなブログ

主にコンピュータビジョンなど技術について、たまに自分自身のことや思いついたことなど

第58回コンピュータビジョン勉強会@関東「深層学習+3D論文読み会」資料まとめ

本日、コンピュータビジョン勉強会@関東を「深層学習+3D論文読み会」というテーマで、深層学習で三次元を扱うならなんでもありという論文読み会をキャディ株式会社様の会場を借りて、オンラインとのハイブリッドで開催いたしました。 (結果、1件を除きすべてがNeRFがテーマでした。)

というわけで、資料やリンク等をまとめておきます。

登録サイト

kantocv.connpass.com

Togetter

togetter.com

Youtube

www.youtube.com

コンピュータビジョン勉強会@関東

sites.google.com

資料まとめ

発表者 発表内容 資料
dhirooka Instant Neural Graphics Primitives with a Multiresolution Hash Encoding https://speakerdeck.com/daigo0927/introducing-instant-neural-graphics-primitives-with-a-multiresolution-hash-encoding
pacifinapacific Instruct-NeRF2NeRF Editing 3D Scenes with Instructions https://www.docswell.com/s/pacifinapacific/5NR1PG-2023-04-30-224710
shnhrtkyk 点群深層学習に計測の気持ちを入れた研究の紹介 https://speakerdeck.com/shnhrtkyk/dian-qun-shen-ceng-xue-xi-niji-ce-noqi-chi-tiworu-retayan-jiu-noshao-jie
kzykmyzw VoxFormer: Sparse Voxel Transformer for Camera-based 3D Semantic Scene Completion https://speakerdeck.com/kzykmyzw/voxformer-sparse-voxel-transformer-for-camera-based-3d-semantic-scene-completion
inoichan マルチカメラによる自動運転の3D Occupancy Prediction https://speakerdeck.com/inoichan/cvguan-dong-3dmian-qiang-hui-tpvformer-marutikamerawoyong-itazi-dong-yun-zhuan-3d-occupancy-prediction
neka-nat Text-to-Imageを応用したNeRF論文の解説 https://speakerdeck.com/nekanat/zui-jin-qi-ninatuterutext-to-imagewoying-yong-sitanerflun-wen-nojie-shuo
peisuke Mip-NeRF 360: Unbounded Anti-Aliased Neural Radiance Fields https://speakerdeck.com/peisuke/mip-nerf-360-unbounded-anti-aliased-neural-radiance-fields
shade-tree Ego-Body Pose Estimation via Ego-Head Pose Estimation https://speakerdeck.com/forest1988/ego-body-pose-estimation-via-ego-head-pose-estimation
tomoaki_teshima Block-NeRF: Scalable Large Scene Neural View Synthesis (CVPR2022) https://speakerdeck.com/tomoaki0705/block-nerf

FastAPIをOpenCVと連携

FastAPIはPythonで簡単にAPIサーバーが立てられるライブラリです。

fastapi.tiangolo.com

今回これを利用して、HTTP POSTで送られた画像になんらかの認識処理をかけて、結果をjsonで返すようなプログラムを書いたのでメモしておきます。 その際、送られてきた画像はOpenCVで処理してます。

1. 必要なライブラリをインストール

FastAPIはuvicornというASGI(Asynchronous Server Gateway Interface)サーバーを使用しています。ASGIが何かはとりあえず知らなくても良いです。

他に、opencvやnumpyなどもインストールします。

$ pip install fastapi
$ pip install "uvicorn[standard]"
$ pip install python-multipart
$ pip install numpy
$ pip install opencv-python

2. FastAPIのコードを書く

ここでは単純に画像を受け取って、ローカルにpng形式で保存し、そのファイル名と画像サイズをjsonで返すプログラムを書きました。

以下のコードをmain.pyというファイルに記載します。

from fastapi import FastAPI, UploadFile, File, Form
from fastapi.responses import HTMLResponse
import cv2
import numpy as np
import os

# FastAPIのインスタンス生成
app = FastAPI()

# Http Postの処理
# 送付されてきた画像をフォーマットを指定して保存
@app.post("/api")
async def save_img(file:UploadFile = File(...), format:str=Form()):
    try:
        if file:
            #画像をメモリ上へ読み込み
            data = await file.read()

            #バイナリへ変換
            array = np.fromstring(data, np.uint8)

            #画像へ変換(OpenCV)
            img = cv2.imdecode(array, flags=cv2.IMREAD_COLOR)

            # ファイル名の拡張子を指定フォーマットのものへ変更
            basename, _ = os.path.splitext(file.filename)
            savename = basename + "." + format

            # 画像を保存(フォーマットはOpenCVが拡張子で判断)
            cv2.imwrite(savename, img)

            # 応答
            response = {"save filename":savename, "image size": str(img.shape)}
            return response

    except Exception as e:
        print(e)


# Top Page (Http Get)
# Formを表示
@app.get("/")
async def main():
    content = """
<body>
<form action="/api" enctype="multipart/form-data" method="post">
<input name="file" type="file" />
<br/>
<select name="format">
  <option value="jpg">jpg</option>
  <option value="png">png</option>
  <option value="bmp">bmp</option>
</select>
<input type="submit"/>
</form>
</body>
    """
    return HTMLResponse(content=content)

3. サーバーの起動と動作確認

以下のコマンドでサーバーを起動します。

$ uvicorn main:app --reload

main.pyのappというFastAPIオブジェクトが起動されます。

次に

http://localhost:8000

へアクセスすると、以下のようなWebフォームが開きます。

画像ファイル送信フォーム

ここで、ファイルを選択し、保存したいフォーマットを選択して「送信」ボタンを押すと、画像がHTTP Postで送信され、例えば以下のようなjsonを受け取ります。

{"save filename":"query.png","image size":"(1280, 871, 3)"}

FastAPIを起動したディレクトリ上に画像ファイルが指定フォーマットで保存されているのが確認できると思います。

2022/10/22 コンピュータビジョン勉強会@関東「ECCV2022読み会」<PRMU共催>まとめ

本日久しぶりのオンサイトで、コンピュータビジョン勉強会@関東「ECCV2022読み会」を開催いたしました。 今回は恒例となりましたPRMU研究会との共催で、日本科学未来館にて行いました。 このような機会をいただき、大変ありがたいです。

というわけで、発表資料等諸々のリンクをまとめておきます。

登録サイト

kantocv.connpass.com

Togetter

togetter.com

Youtube

www.youtube.com

コンピュータビジョン勉強会@関東

sites.google.com

PRMU研究会

ken.ieice.org

資料まとめ

発表者 発表内容 資料
tomoaki_teshima Particle Video Revisited: Tracking Through Occlusions Using Point Trajectories https://www.slideshare.net/tomoaki0705/particle-video-revisited-tracking-through-occlusions-using-point-trajectories-eccv2022
toni_tiler MultiMAE: Multi-modal Multi-task Masked Autoencoders https://es.slideshare.net/AntonioTejerodePablo/eccv2022-paper-reading-multimae-multimodal-multitask-masked-autoencoders-japan-computer-vision-study-group-20221022-253754477
kano_sawa Generative Multiplane Images Making a 2D GAN 3D-Aware https://speakerdeck.com/kanosawa/generative-multiplane-images-making-a-2d-gan-3d-aware
neka_nat MOTR: End-to-End Multiple-Object Tracking with TRansformer https://speakerdeck.com/nekanat/bytetrack-motr-cvmian-qiang-hui-eccv2022lun-wen-du-mihui-fa-biao-zi-liao
tattaka_san Fuzzy Metaballs: Approximate Differentiable Rendering with Algebraic Surfaces https://speakerdeck.com/tattaka/fuzzy-metaballs-approximate-differentiable-rendering-with-algebraic-surfaces
losnuevetoros Are Vision Transformers Robust to Patch Perturbations? and An Impartial Take to the CNN vs Transformer Robustness Contest https://speakerdeck.com/yushiku/cnn-vs-vit

2022/08/21第11回全日本コンピュータビジョン勉強会「CVPR2022読み会」(後編)資料まとめ

前回に引き続き、関東、名古屋、関西のコンピュータビジョン勉強会合同で開催している全日本コンピュータビジョン勉強会「CVPR2022論文読み会」の後編を行いました。

前編はこちら

登録サイト

kantocv.connpass.com

Togetter

togetter.com

Youtube

youtu.be

発表資料

発表者 論文タイトル 発表資料
tomoaki_teshima Neural Global Shutter: Learn to Restore Video from a Rolling Shutter Camera with Global Reset Feature https://www.slideshare.net/tomoaki0705/neural-global-shutter-learn-to-restore-video-from-a-rolling-shutter-camera-with-global-reset-feature
yo_itz IntentVizor: Towards Generic Query Guided Interactive Video Summarization https://speakerdeck.com/yo_itz/cvpr2022lun-wen-du-mihui-suraido-intentvisor
smygw FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessment https://www.slideshare.net/ssuserda79d5/finediving-a-finegrained-dataset-for-procedureaware-action-quality-assessment-cvpr2022
hasegawa_k35 E-CIR: Event-Enhanced Continuous Intensity Recovery
dhirooka GroupViT: Semantic Segmentation Emerges from Text Supervision https://speakerdeck.com/daigo0927/groupvit-cvpr2022du-mihui-suraido
Godel Event-Aided Direct Sparse Odometry https://speakerdeck.com/godel/lun-wen-du-mihui-event-aided-direct-sparse-odometry
tereka Mobile-Former: Bridging MobileNet and Transformer https://speakerdeck.com/tereka114/mobile-former-bridging-mobilenet-and-transformer
YamatoOkamoto A Self-Supervised Descriptor for Image Copy Detection https://speakerdeck.com/roadroller/di-11hui-quan-ri-ben-konpiyutabiziyonmian-qiang-hui-cvpr2022-a-self-supervised-descriptor-for-image-copy-detection

次回はPRMUとの共催で久しぶりにオンサイトで行う予定です。