Youtube ライブ配信動画で物体検出

記念すべきパクリ10発目!
ちなみにアイキャッチ画像は画像生成AIの「Stable Diffusion」を利用したサービスで「shibuya crossing」で生成した画像。通りも人も109もすくねぇよ!とのツッコミが出てもおかしくない。
パクリ元
内容
YOLOX を用いて物体検出を行う。colabでやっていたがプログラムに組み込みたいので Docker を用いて環境を整える。
FROM python:3.7
USER root
RUN apt update
RUN apt -y install locales && \
localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
ENV TZ JST-9
ENV TERM xterm
RUN apt install -y vim less
RUN apt install -y python-dev default-libmysqlclient-dev
RUN apt install -y python3-dev
RUN pip install --upgrade pip setuptools
RUN apt install -y git cmake libprotobuf-dev protobuf-compiler libgl1-mesa-dev
RUN cd root && git clone https://github.com/Megvii-BaseDetection/YOLOX
RUN cd root/YOLOX && pip install -U pip && pip install -r requirements.txt --no-cache-dir \
&& pip3 install -v -e . \
&& pip3 install cython; pip3 install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI' \
&& pip install numpy --upgrade --ignore-installed \
&& wget https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_tiny.pth
いつものようにいろいろ拾ってきたものをつなぎ合わせてDockerfileを作り上げて物体検出を行った。
誰でも使えちゃうなんてすごいライブラリ(と言っていいの?)ができたものだ。
応用
マシン性能の問題もありとてもリアルタイムで検出なんてできない。モデルを yolox_tiny で妥協したり、推論候補をかなり間引いた上に推論結果を結構重ねて映像時間を稼いだり、、等いろいろ大変。なのでリアルタイムでは全くないがチョイ時間の経った渋谷スクランブル交差点の推論動画を試してみた。読み込みがうまくいかなくなったら止まる仕組み。人間も動けなくなったら止まる、仕組みは全く同じ。検出結果の計算だとかトラッキングだとかはまた後で。
実際WEBに載せようとしたらコーデックの話とかvideoタグがカクつく話とか周辺事項のめんどうがいろいろあったり、円安でEC2いい性能にできねぇとかいろいろあるなー
ディスカッション
コメント一覧
まだ、コメントがありません