์ ์ฒด ๊ธ
-
์์ง ๊ฒ์ถ(2) - Canny edge detectionAI\ML\DL/Computer Vision 2023. 8. 8. 19:15
โฃ Background ์บ๋ ์์ง ๊ฐ์ง๋ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์์ง ๊ฒ์ถ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. John F. Canny๊ฐ 2010๋ ๋์ ๊ฐ๋ฐํ์ผ๋ฉฐ OpenCV ์์ ์บ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ cv.Canny() ํจ์๋ฅผ ์ ๊ณตํ๋ค. Canny edge๋ ๊ทธ๋๋์ธํธ ํฌ๊ธฐ๋ฅผ ๊ตฌํ๊ณ ์๊ณ๊ฐ์ ์ค์ ํด์ค์ ์์ง๋ฅผ ๊ฒ์ถํ๋ฉด ์ค๊ณฝ์ ์ด ๋๋ฌด ๋๊ป๊ฒ ํํ๋๊ธฐ ๋๋ฌธ์, ์ด๋ ๊ฒ ์ก์์ด ๋ง์ ์ํ์์์ ํ ์ ์ ๊ฒฐ์ ํ์ฌ ์์ง์ ๊ตต๊ธฐ(๋๊ป)๋ฅผ ์๊ฒ ํํํ๊ธฐ ์ํด ์ ์ฉ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ข์ ์์ง ๊ฒ์ถ๊ธฐ์ ์กฐ๊ฑด์ โถ ํ๋์ ์์ง๋ฅผ ํ๋์ ์ (ํ ๋๊ป)์ผ๋ก ํํํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๋ํ โท ํฝ์ ์ด ์กฐ๋ช ์ ์ํด ๋ฏธ์ธํ ์ํฅ์ ๋ฐ๊ฒ ๋์ด ์์ง๊ฐ ์๋ ์ ์ ์์ง๋ก ์ฐพ๊ฑฐ๋(false positive) ๋๋ ์์ง์ธ๋ฐ ์์ง๋ก ๊ฒ์ถํ๊ธฐ ๋ชปํ๋(true false) ์ค..
-
์์ง ๊ฒ์ถ(1) - 1์ฐจ·2์ฐจ ๋ฏธ๋ถ, Prewitt, SobelAI\ML\DL/Computer Vision 2023. 8. 6. 21:32
โฃ ์์ง ๊ฒ์ถ(edge detection)์ ์ปดํจํฐ ๋น์ ์ด ์ด์ฐฝ๊ธฐ๋ถํฐ ์ค์ํ๊ฒ ๋ค๋ฃจ์ด์จ ์ฐ๊ตฌ ์ฃผ์ ๋ค. ์์ง๋ ๋ฌผ์ฒด ๊ฒฝ๊ณ์ ์๋ ์ ์ด๋ค. ์์ง๋ฅผ ์๋ฒฝํ๊ฒ ๊ฒ์ถํด ๋ฌผ์ฒด์ ๊ฒฝ๊ณ๋ฅผ ํ๊ณก์ ์ผ๋ก ๋ฐ๋ผ ์ ์๋ค๋ฉด ๋ถํ ๋ฌธ์ ๊ฐ ์ ์ ๋ก ํ๋ฆฐ๋ค. ๋ฐ๋๋ก ์์ญ ๋ถํ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ฒฝํด ๋ฌผ์ฒด๋ฅผ ๋ ๋ฆฝ๋ ์์ญ์ผ๋ก ๋ถํ ํ๋ฉด ์์ง ๊ฒ์ถ ๋ฌธ์ ๊ฐ ์ ์ ๋ก ํ๋ฆฐ๋ค. ๋ฐ๋๋ก ์์ญ ๋ถํ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ฒฝํด ๋ฌผ์ฒด๋ฅผ ๋ ๋ฆฝ๋ ์์ญ์ผ๋ก ๋ถํ ํ๋ฉด ์์ง ๊ฒ์ถ ๋ฌธ์ ๊ฐ ์ ์ ๋ก ํ๋ฆฐ๋ค. ๋ฐ๋ผ์ ๋์ ์๋ ๋ฌธ์ ๋ค. ํ์ง๋ง ๋์ ์์ ํ ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋ฌธ์ ํด๊ฒฐ์ ๋ชจ์ํ๋ค. ์์ง ๊ฒ์ถ์ ํน์ฑ์ด ํฌ๊ฒ ๋ค๋ฅธ ํ์์ ์ง์คํ๋ ๋ฐ๋ฉด ์์ญ ๋ถํ ์ ๋น์ทํ ํ์๋ฅผ ๋ฌถ๋ ๋ฐฉ์์ ์ ํธํ๋ค. ๏นก 1.1. ์์ง ๊ฒ์ถ ์์ง ๊ฒ์ถ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌผ์ฒด ๋ด๋ถ๋ ๋ช ์์ด ์์ํ ๋ณํ๊ณ ๋ฌผ์ฒด ๊ฒฝ๊ณ๋ ๋ช ..
-
ํ์ด์ฌ ๋ด์ฅํจ์Computer Science/Python 2023. 8. 6. 13:41
https://docs.python.org/3/library/functions.html Built-in Functions The Python interpreter has a number of functions and types built into it that are always available. They are listed here in alphabetical order.,,,, Built-in Functions,,, A, abs(), aiter(), all(), a... docs.python.org
-
CNN ๋ชจ๋ธ์ classifier๋จ์์ FC layer์ ์ ๋ ฅ ๋ ธ๋ ๊ฐ์AI\ML\DL/Pytorch 2023. 8. 3. 21:35
๏นก ์ด๋ฏธ์ง ๋ค์ค๋ถ๋ฅ ๋ฌธ์ ์์ CNN์ ์ฌ์ฉํ๋ฉด convolution layer ์ ReLU, Batchnorm2d, MaxPool2d๋ฅผ ๋ฐ๋ณตํ๋ค๊ฐ ๋ง์ง๋ง์๋ fully connected layer๋ฅผ ํต๊ณผํด์ softmax๋ฅผ ์ป์ด ๋ถ๋ฅ๋ฅผ ํด์ฃผ์ด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด CIFAR10 ๋ฐ์ดํฐ์ ์ผ๋ก 10๊ฐ์ง๋ฅผ ๋ถ๋ฅํ๋ ๋คํธ์ํฌ๋ฅผ ๋ง๋ ๋ค๊ณ ํ์. ํต์์ ์ธ ๋คํธ์์์๋ CNN ๋ ์ด์ด๋ฅผ ํต๊ณผํด์ ๋ค์ํ ํน์ง๋งต์ ๋ฝ์๋ด๊ณ ํ๋ง์ ํด์ ์ฌ์ด์ฆ๋ฅผ ๋ฐ์ผ๋ก ์ค์ธ๋ค. (Maxpooling์ ํ๋ค๊ณ ํด์ ์ฑ๋์๊ฐ ์ค์ง๋ ์๋๋ค. ์ฑ๋๋ณ๋ก ๊ฐ๊ฐ ํ๋งํด์ฃผ๋ ๊ฑฐ๋๊น) ์ถฉ๋ถํ ํน์ง๋งต์ ์ป์๋ค๋ฉด nn.Linear( )๋ฅผ ํ์ฉํด์ ์ต์ข ์ ์ธ ์ถ๋ ฅ ๋ ธ๋๋ฅผ 10๊ฐ๋ก ์ค์ฌ์ค์ผ ํ ๊ฒ์ด๋ค. ์ด๋ nn.Linear(?, 10)์ ? ๋ถ๋ถ์ ์ด๋ค๊ฒ์ ์จ์ผ..
-
ํ์ด์ฌ - Call by assignmentComputer Science/Python 2023. 8. 3. 20:01
ํ์ด์ฌ์ ํจ์์ ์ธ์๋ฅผ ์ ๋ฌํ ๋, ์ด๋ call by assignment ๋ผ๋ ๋ฐฉ์์ผ๋ก ์ ๋ฌ๋๋ค. ์ด๋ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌ๋ฐ๋ ๊ฐ์ฒด์ ๋ฐ๋ผ ๊ฐ์ฒด์ ์ฐธ์กฐ๋ฐฉ์์ด ๊ฒฐ์ ๋๋ค๋ ์๋ฏธ๋ก, ๊ณต์ ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด Mutual ๊ฐ์ฒด๋ call by reference ํํ๋ก ์ฐธ์กฐํ์ผ๋ก ๋ณ์๋ฅผ ๋ค๋ฃจ๋ฉฐ immutable ๊ฐ์ฒด๋ call by value์ ํํ๋ก ๋ณ์๋ฅผ ํธ๋ค๋งํ๋ค. - Mutable object: list, dict, set ๋ฑ์ ๋ณ๊ฒฝ๊ฐ๋ฅํ ๊ฐ์ฒด - Immutable object: str, int, tuple ๋ฑ์ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฐ์ฒด ๊ฐ๋ น ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ ์ ๋ฌ๋๋ ๊ฐ์ฒด์ ๋ฐ๋ผ ํ์ด์ฌ์ด ๋ณ์๋ฅผ ์ด๋ป๊ฒ ํธ๋ค๋งํ๋์ง๋ฅผ ๋ณด์ฌ์ค๋ค. ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์ฒซ๋ฒ์งธ ์ฝ๋์์๋ ํจ์๋ฅผ ํธ์ถํ ๋ ์ซ์๋ฅผ ์ธ์๋ก ์ ๋ฌ๋ฐ๊ธฐ ๋๋ฌธ์ ca..
-
PyTorch์ Numpy์์์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ ํฌ๋งท ์ฐจ์ดAI\ML\DL/Pytorch 2023. 8. 1. 21:43
์ผ๋ฐ์ ์ผ๋ก ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ ๋๋น, ๋์ด, ์ฑ๋ ์์๋ก ํํ๋๋ RGB ํฌ๋งท์ ์ฌ์ฉํ๋ค.์๋ฅผ ๋ค์ด, 32x32 ํฌ๊ธฐ์ ์ปฌ๋ฌ ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ (32,32,3) ์ผ๋ก ํํ๋๋ฉฐ, ๊ฐ ์ฐจ์์ ๊ฐ๊ฐ (ํ, ์ด, ์ฑ๋) ์ ๋ํ๋ธ๋ค. ์ด๋ฏธ์ง๋ฅผ (ํ,์ด,์ฑ) ํ์์ผ๋ก ์ฝ๊ณ ์ฒ๋ฆฌํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ๋ค.NumpyOpenCVMatplotlib (์ด๋ฏธ์ง ์ฒ๋ฆฌ๋ ์๋์ง๋ง ๋ฐ์ดํฐ ์๊ฐํ ํ ๋) ์ด๋ฅผ ํ์ธํด๋ณด๊ธฐ ์ํด numpy ๋ก ๋๋คํ ์ ์๋ฅผ ์์ฑํ์ฌ 3์ฑ๋ (RGB) ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ์ฝ๋๋ฅผ ์์ฑํด ๋ณด์๋ค. ์์ฑํ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ shape์ ํ์ธํ๋ฉด (ํ,์ด,์ฑ๋) ์์๋ก ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. import numpy as npimport matplotlib.pyplot as plt# ๊ฐ์์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ ์..
-
[Google Colab] ๋๋ง์ ๋ชจ๋ ๋ง๋ค์ด์ import ํ๊ธฐComputer Science/๊ฐ๋ฐ 2023. 7. 30. 15:50
1. Google colab ์์ ๊ตฌ๊ธ ๋๋ผ์ด๋ธ์ ์ฐ๋ํ๊ธฐ ์ฝ๋ฉ์ ์๋ก ํฌ ๋๋ง๋ค ๊ตฌ๊ธ๋๋ผ์ด๋ธ๊ฐ ์ง์์ง๊ธฐ ๋๋ฌธ์ ์ผค๋๋ง๋ค ๋ง์ดํธ๋ฅผ ํด์ค์ผ ํ๋ค. 2. ํ์ผ - ์๋ ธํธ๋ก ์๋ ธํธ๋ฅผ ๋ง๋ค๊ณ ์ ๋ชฉ์ ๋ฐ๊พผ๋ค. (ํ์ฅ์๋ .py ์ด์ด์ผ ํ๋ค.) ๊ทธ ํ, ๋ฐ๋์ Ctrl+S ๋ก ์ ์ฅ์ ํด์ค๋ค. 3. ๋ค์ ์์ ํ๋ ๋ ธํธ๋ก ๋์์จ๋ค. drive-MyDrive - Colab Notebooks ํด๋์์ ๋ฐฉ๊ธ ๋ง๋ .py ํ์ผ์ ์ฐพ์์ ๋๋ธํด๋ฆญํ๋ค. 4. ์ค๋ฅธ์ชฝ์ .py ํ์ผ์ ๋ค์ด์๋ ์ฝ๋๋ฅผ ๋ชจ๋ ์ง์ฐ๊ณ import ์ํฌ ์ฝ๋๋ฅผ ๋ถ์ฌ๋ฃ๋๋ค. ์ด๋ ์ฝ๋ ํด๋ฆญ์ด ์๋๋ค๋ฉด ์ด๊ฑธ ์ข ์๋ค๊ฐ๋ค ํ๋ฉด.. ์ฝ๋ ํด๋ฆญ์ด ๋๋ค. 5. ์์ ํ๋ ๋ ธํธ์์ .py ํ์ผ์ด ์๋ ๊ฒฝ๋ก๋ฅผ ๋ณต์ฌํ์ฌ path๋ฅผ append ํด์ฃผ๋ฉด import๋ฅผ ํ ์ ..
-
ํ์ด์ฌ ์ฌ๋ผ์ด์ฑ - StrideComputer Science/Python 2023. 7. 29. 12:24
ํ์ด์ฌ์์๋ ๊ธฐ๋ณธ ์ฌ๋ผ์ด์ฑ๋ฟ๋ง ์๋๋ผ anylist[start:end:stride] ์ฒ๋ผ ์ฌ๋ผ์ด์ค์ ์คํธ๋ผ์ด๋ (stride: ๊ฐ๊ฒฉ)๋ฅผ ์ค์ ํ๋ ๋ฌธ๋ฒ๋ ์๋ค. ์ด ๋ฌธ๋ฒ์ ์ด์ฉํ๋ฉด ์ํ์ค๋ฅผ ์ฌ๋ผ์ด์คํ ๋ n ๋ฒ์งธ ์์ดํ ์ ๊ฐ์ ธ์ฌ ์ ์๋ค. ์๋ฅผ ๋ค์ด ์คํธ๋ผ์ด๋๋ฅผ ์ฐ๋ฉด ๋ฆฌ์คํธ์์ ํ์์ ์ง์ ์ธ๋ฑ์ค๋ฅผ ์์ฝ๊ฒ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ ์ ์๋ค. a = ['red', 'orange', 'yellow', 'green', 'blue', 'purple'] odds = a[::2] evens = a[1::2] print(odds) print(evens) ['red', 'yellow', 'blue'] ['orange', 'green', 'purple'] stride๊ฐ 2 ์ด๋๊น 2๋ฒ์งธ ์์ดํ ์ ๊ฐ์ ธ์ฌ ์ ์๋ค. ํํธ stride ..