์๋ ํ์ธ์, ์ ๋ Openvino C++ ๋ฐ๋ชจ๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌํ์ผ๋ฉฐ CPU์์ ์ฝ 15fps๋ฅผ ์คํํฉ๋๋ค. ์ถฉ๋ถํ ๋น ๋ฅด์ง ์์ต๋๋ค.
libtorch C++ ๋ฐ๋ชจ๋ฅผ ์ง์ํ ๊ณํ์ด ์์ต๋๊น? ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ๊ตฌํํ๊ณ ์ถ์ต๋๋ค. ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๊ณง ํ์ ๋ฐ๋๋๋ค.
์๋ ํ์ธ์, ์ ๋ ๊ทธ๋ฐ ๊ณํ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ libtorch C++ ๋ฐ๋ชจ๊ฐ OpenVINO๋ฅผ ์ฌ์ฉํ C++ ๋ฐ๋ชจ๋ณด๋ค ๋ ๋น ๋ฅผ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋คํธ์ํฌ ์ ๋ ฅ ํฌ๊ธฐ๋ ๋ ๋์ ์ฑ๋ฅ์ ์ํด ์กฐ์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๊ฐ์ฅ ์งง์ ์ชฝ์ 192๋ก ์ค์ ํ๊ณ ์ฌ๊ธฐ ์์ ์ํํ ์ ์์ผ๋ฉฐ ๋ง์ง๋ง ๋งค๊ฐ๋ณ์๋ฅผ 192๋ก ์ค์ ํฉ๋๋ค. ํน์ ๊ฒฝ์ฐ์ ์ถฉ๋ถํ ์ ์์ต๋๋ค. ์ง๋ฌธ์ ๋ตํ๊ธฐ:
๊ทธ๋ฆฌ๊ณ PyTorch๋ก C++ ๋ฐ๋ชจ๋ฅผ ํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค๋ฉด ๊ธฐ์ฌํด ์ฃผ์ญ์์ค.
@Daniil-Osokin ๊ทํ์ ๋ต๋ณ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ ๋ ์ด๋ฏธ ํ์ํ ์ฝ๋๋ฅผ openvino์์ libtorch cpp ๋ฐ๋ชจ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ์ต๋๋ค. ์ฑ๊ณต ํ PR์ ๋ณด๋ด๋๋ฆฝ๋๋ค.
libtorch๋ฅผ ์ฌ์ฉํ๋ฉด openvino๋ณด๋ค ๋น ๋ฅด์ง ์์ ์ ์์ง๋ง openvino์์ ์์ฒญ๋ ์ฑ๋ฅ ํฅ์์ ๋ณผ ์๋ ์์ง๋ง libtorch๋ GPU ์ง์์ ์ ํ์ ์ผ๋ก ์ผค ์ ์์ต๋๋ค.
์ด์ ๋ด ์ฃผ๋ณ์ ๋ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํํธ๋งต์ ์ฌ์ฉํ๋ ๋ชจ๋ธ์ Mobilenet์ ๋ฐฑ๋ณธ์ผ๋ก ์ฌ์ฉํ์ฌ ์คํํ๊ธฐ ์ํด ํญ์ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค. ์ด ๋ชจ๋ธ์ ๋ด gtx1080์์ ์ฝ 79fps๋ฅผ ์คํํ์ง๋ง ๋ด 1.7G ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ํฉ๋๋ค. ๊ฑฐ์ ๋จน๋ ๊ธฐ์ต ๊ดด๋ฌผ. ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ ์ถ์ ์ธก๋ฉด์์ ๋ชจ๋ธ ์ต์ ํ๊ฐ ์์ต๋๊น?
OK..... ์ฝ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.......... ํ๋ก๊ทธ๋จ์ด ์คํ๋์ง๋ง ๊ฒฐ๊ณผ๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค.
PyTorch์์ ๋ฉ๋ชจ๋ฆฌ ์๋น๋ฅผ ํ์ธํ๋๋ฐ( demo.py
์คํ) ~800MB๊ฐ ํ์๋ฉ๋๋ค. OpenVINO๋ฅผ ์ฌ์ฉํ๋ฉด ์๋น๋์ด ์ฝ 100MB์
๋๋ค.
ํ์ด์ฌ์ 800M์ด ํ์ํฉ๋๊น? ๋ฐ์คํฌํ ์ฌ์ฉ๋์ ๋นผ์ จ๋์? ๊ฑฐ์ ํ ํฐ 1.2G ์ด์ ์ฑ๊ตด
@Daniil-Osokin ์๋ ํ์ธ์ Danill, openvino C++๊ฐ ์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ์ ๊ทํํ ๊ณณ์ ๋ณด์์ต๋๊น? (minu 128์ด๊ณ 256 ๋๋๊ธฐ) ์ด ์์ ์ ์ํํ๋ ์ฝ๋๋ฅผ ์ฐพ์ง ๋ชปํ์ต๋๋ค. ๋๋ฒ๊น ํ libtorch_cpp ๋ฐ๋ชจ์์ ์ผ๋ถ ์ ์ฒ๋ฆฌ ๋จ๊ณ๋ฅผ ๋์น ๊ฒ ๊ฐ์ต๋๋ค...
์ข์ ์ง๋ฌธ. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๋ชจ๋ธ์ .xml ํ์ผ ๋ด๋ถ์ ๋ฐ์ดํฐ ๋ ์ด์ด ๋ฐ๋ก ๋ค์ ๋ณ๋์ ๋ ์ด์ด๋ก ์ฌ์ ์ฒ๋ฆฌ(ํ์ํ ๊ฒฝ์ฐ)๊ฐ ์์ต๋๋ค. ์:
<layer id="0" name="data" precision="FP32" type="Input">
<output>
<port id="0">
<dim>1</dim>
<dim>3</dim>
<dim>256</dim>
<dim>456</dim>
</port>
</output>
</layer>
<layer id="1" name="Mul_/Fused_Mul_/FusedScaleShift_" precision="FP32" type="ScaleShift">
<input>
<port id="0">
<dim>1</dim>
<dim>3</dim>
<dim>256</dim>
<dim>456</dim>
</port>
</input>
<output>
<port id="3">
<dim>1</dim>
<dim>3</dim>
<dim>256</dim>
<dim>456</dim>
</port>
</output>
<blobs>
<weights offset="0" size="12"/>
<biases offset="12" size="12"/>
</blobs>
</layer>
๋ฐ๋ผ์ ์์์ ์ ๊ทํ๊ฐ ๋์์ด ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค(128 ๋นผ๊ธฐ ๋ฐ 256 ๋๋๊ธฐ).
๊ทธ๋ฆฌ๊ณ ๋ฉ๋ชจ๋ฆฌ ์๋น์ ๊ฒฝ์ฐ ํ์ด์ฌ์ด ์ฐจ์งํ๋ ๋ฉ๋ชจ๋ฆฌ์ผ ๋ฟ์ ๋๋ค.
@Daniil-Osokin ๊ฐ์ฌํฉ๋๋ค Danill. libtorch ๋ฐ๋ชจ์ ์ ์ฒ๋ฆฌ๋ฅผ ์ถ๊ฐํ์ง๋ง ๊ฒฐ๊ณผ๊ฐ ์์ผ๋ฉฐ ๊ฒฐ๊ณผ๊ฐ ์ฌ์ ํ ์ณ์ง ์์ต๋๋ค.
C++์ ์ผ๋ถ ์ ์ฒ๋ฆฌ ๋จ๊ณ๋ฅผ ๊ฒํ ํ๋ ๋ฐ ๋์์ ์ฃผ์๊ฒ ์ต๋๊น? ๋๋ ์ง๊ธ ์ด๋ค ๋จ๊ณ๊ฐ ๋๋ฝ๋์๋์ง ์์๋ด๋ ๋ฐ ๋ฐฉํฅ์ ์์์ต๋๋ค. ๋์์ ๊ตฌํฉ๋๋ค..
openvino์์ ํ์ํ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ libtorch์ ํตํฉํ์ต๋๋ค. ์ฌ๊ธฐ ์์ ๋ณ๋์ ์ ์ฅ์๋ก ์ด๋ํฉ๋๋ค. libtorch ๊ฒฝ๋ก๋ง ํธ์งํ๋ฉด ๋น๋ํ ์ ์์ต๋๋ค. ์ถ์ ๋ C++ pt ๋ชจ๋ธ์ ์ด๋ฏธ ๊ฑฐ๊ธฐ์ ์์ต๋๋ค. ).
์ปดํ์ผํ๊ณ ์คํํ ์ ์์ง๋ง ๋
ผ๋ฆฌ๊ฐ ์ด๋์์ ์๋ชป๋์๋์ง ์ ์ ์์ต๋๋ค ...
๋์์ด ๋์๋ฉด ์๊ฐ๋์ค๋ ํ์ธํ์๋ฉด ๋ฉ๋๋ค.
๋ฌธ์ ๋ OpenCV๊ฐ ์ธํฐ๋ฆฌ๋ธ ํ์(HxWxC)์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์ฝ๊ณ ํ ์๊ฐ ํ๋ฉด ์ ๋ ฅ(CxHxW ์์)์ ์์ํ์ฌ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๋ ๊ฒ์ ๋๋ค.
@jinfagang ๋์์ด ๋์ จ๋์?
@Daniil-Osokin ๊ฐ์ฌํฉ๋๋ค Danill ์ฑ๋ ์์๋ฅผ ํธ์งํ ํ ์๋ํฉ๋๋ค! ์ด ๋ฌธ์ ๋ฅผ ๋ซ๊ณ ์ผ๋ถ ์ฝ๋๋ฅผ ์ ๋ฆฌํ ํ PR์ ๋ณด๋ด๊ฒ ์ต๋๋ค.
@jinfagang ์๋
ํ์ธ์, ๊ทํ์ ์ ์ฅ์(https://github.com/jinfagang/light_human_pose_libtorch)๋ ๋ ์ด์ ๋ฐฉ๋ฌธํ ์ ์์ต๋๋ค.
์ถ์ ๋ C++ pt ๋ชจ๋ธ์ ์ป๋ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์ค ์ ์์ต๋๊น?
์ฃ์กํฉ๋๋ค. ํ์ฌ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ๊ฐ๋ฐ ์ค์ด๋ฉฐ ์ ์ ๋น๊ณต๊ฐ์
๋๋ค.
pytorch ํํ ๋ฆฌ์ผ์์ ๋งํ๋ฏ์ด ์ง์ ์ถ์ ํ ์ ์์ต๋๋ค. ์ฝ๊ฒ ์ถ์ ํ ์ ์์ต๋๋ค
@jinfagang ๊ฐ์ฌํฉ๋๋ค.
์๋
ํ์ธ์ @jinfagang ,
๋น์ ์ ๋น์ ์ libtorch์ ํจ๊ป ํ์ต๋๊น? ๋ชจ๋ ์ฌ๋์ ์ํด ๊ณต์ ํด ์ฃผ์๊ฒ ์ต๋๊น?
์ต๊ณ ์ ์๋ถ!
์๋ ํ์ธ์ @jinfagang ,
๋น์ ์ ๋น์ ์ libtorch์ ํจ๊ป ํ์ต๋๊น? ๋ชจ๋ ์ฌ๋์ ์ํด ๊ณต์ ํด ์ฃผ์๊ฒ ์ต๋๊น?
์ต๊ณ ์ ์๋ถ!
๋๋ libtorch์ opencv๋ฅผ ์ฌ์ฉํ์ฌ C++ ๋ฒ์ ์ ๋ง๋ค ์ ์์ต๋๋ค. ๋น๋ก ์ฝ๋๊ฐ ์ ์๊ฒ ์ํด ์์ง๋ง, ํด๋ผ์ด์ธํธ๋ ์ ๊ฐ ๊ณต๊ฐ์ ์ผ๋ก ๋ฆด๋ฆฌ์คํ๋ ๊ฒ์ ์ํ์ง ์์ ๊ฒ์ ๋๋ค. ์ข์ ์์์ numpy ์์ ์ ๋๋ถ๋ถ์ด libtorch์์ ์ง์๋๋ค๋ ๊ฒ์ ๋๋ค. ์ ์ง์ ์ผ๋ก ๊ตฌํํ ์ ์๊ณ , ํ์ด์ฌ ์คํฌ๋ฆฝํธ์ C++์ ์ถ๋ ฅ์ด ์๋ก ์ผ์นํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. ํ๋ ๋ฐ ๋ช ์๊ฐ์ด ๊ฑธ๋ ธ์ง๋ง ์ด๋ ต์ง๋ ์์์ต๋๋ค.
@stereomatchingkiss ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค. ๋ํ Openvino ์ํ์ ์ธ๊ฐ ํฌ์ฆ ์ถ์ ์ ๋ฐ๋ฅด๋ C++ ๋ฒ์ ๋ ์ฑ๊ณต์ ์ผ๋ก ๋ง๋ค์์ต๋๋ค.
@tucachmo2202 ๊ณต์ ๋ถํ๋๋ ค๋ ๋ ๊น์?)
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@stereomatchingkiss ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค. ๋ํ Openvino ์ํ์ ์ธ๊ฐ ํฌ์ฆ ์ถ์ ์ ๋ฐ๋ฅด๋ C++ ๋ฒ์ ๋ ์ฑ๊ณต์ ์ผ๋ก ๋ง๋ค์์ต๋๋ค.