์ฐ์ ์ฉ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ์ ๋ง๋ค๊ณ , ๋ผ๋ฒจ๋งํ๊ณ , ์ฌ๋ฌ ๋ชจ๋ธ๋ก ํ์ตยท๊ฒ์ฆยท๋น๊ตํ๋ Windows ๋ฐ์คํฌํฑ ์์ ๋์ ๋๋ค.
์ต์ Windows EXE๋ฅผ ์ง์ ์กฐ์ํด ๋ นํํ ์ฝ 6.5์ด ํ๋ฉด์ ๋๋ค. ์ค์ ํจ๋ ์ ํ๊ณผ ํ๋ณด ๊ฒํ ์ค์๋ ๋ทฐ์ด์ ์ด๋ฏธ์ง ์์น์ ๋ฐฐ์จ์ด ์ ์ง๋๋ฉฐ, ๊ฒฐํจ ๋ฐ์ค ์ ๋ ฅ๋ถํฐ MobileSAM ํ๋ณด ํ์ธ, ๋ช ์์ ํ์ ๊ณผ ์ ์ฅ๊น์ง ๋ณด์ฌ ์ค๋๋ค. ์ค์ EXE ์ ์ง ์ด๋ฏธ์ง ๋ณด๊ธฐ
์ ํ๋ฉด์ ๊ฒฐํจ์ด ์๋ ์ด๋ฏธ์ง์ ์์ ๋ํ์ ๊ทธ๋ฆฐ ์๊ฐ ์๋๋๋ค. ๋์ ๋ณด์ด๋ ๋๊ฐ์ scratch_crack ๊ฒฐํจ์ ์๋ณธ ์ ๋ต ์ขํ๋๋ก ๋ฐ์ค๋ก ๋ค์ ์ฐ ํ๋ฉด์
๋๋ค.
OpenVisionLab Labeling Studio๋ ๋ผ๋ฒจ๋ง ๊ทธ๋ฆฌ๋ ๋๊ตฌ๊ฐ ์๋๋๋ค. ํ ๋ ์ํผ์์ ์ด๋ฏธ์ง, ํด๋์ค, ์ ๋ต ๋ผ๋ฒจ, ๋ฐ์ดํฐ ๋ถํ ๊ณผ ๊ฒ์ฆ ๊ทผ๊ฑฐ๋ฅผ ๊ด๋ฆฌํ๊ณ , ์ ํํ ๋ชจ๋ธ ์ด๋ํฐ๊ฐ ๊ฐ์ ์ ๋ต ๋ฐ์ดํฐ๋ฅผ ๊ฐ ํ์ต ํ์์ผ๋ก ๋ณํํฉ๋๋ค.
- ๊ฐ์ฒดํ์ง: ๋์ ์์น๋ฅผ ๋ฐ์ค๋ก ํ์ํฉ๋๋ค.
- ์ธ๊ทธ๋ฉํ ์ด์ : ๋์ ๊ฒฝ๊ณ๋ฅผ ํด๋ฆฌ๊ณค์ด๋ ํฝ์ ๋ง์คํฌ๋ก ํ์ํฉ๋๋ค.
- ์ด์ํ์ง: ์ด๋ฏธ์ง ์ ์ฒด๋ฅผ ์ ์(OK) ๋๋ ์ด์(NG)์ผ๋ก ํ์ ํฉ๋๋ค.
- ํ์ตยท๊ฒ์ฌ: ํ์ต ๊ฒฐ๊ณผ๋ฅผ ํ๋ณด ๋ชจ๋ธ๋ก ๋ฑ๋กํ๊ณ ๊ฒ์ฆํ ๋ค ํ์ฌ ๊ฒ์ฌ ๋ชจ๋ธ๋ก ์ฑํํฉ๋๋ค.
- ๋ชจ๋ธ ๋น๊ต: ๊ฐ์ ๋ฐ์ดํฐ์ ์กฐ๊ฑด์ ์ฌ์ฉํ ์คํ๋ง ๋น๊ตํ๊ณ , ์กฐ๊ฑด์ด ๋ค๋ฅด๋ฉด ์ฐ์ด ๋์ ์ฐจ์ด๋ฅผ ํ์ํฉ๋๋ค.
ํต์ฌ ์์น์ ๋ผ๋ฒจ๋ง ๋ฐ์ดํฐ ํ๋๋ฅผ ๋ชจ๋ธ๋ง๋ค ๋ค์ ๋ง๋ค์ง ์๋ ๊ฒ์ ๋๋ค. ๋ ์ํผ์ ์ ๋ต ๋ฐ์ดํฐ๋ ๊ทธ๋๋ก ๋๊ณ YOLOv5, YOLOv8, YOLO11, U-Net ๋ฑ ์ฐ๊ฒฐ๋ ์ด๋ํฐ๊ฐ ํ์ํ ์ ๋ ฅ ํ์์ ๋ง๋ญ๋๋ค.
1 ๋ฐ์ดํฐ์ ์์ ์ ๋ฐ์ดํฐ์ ์ ๋ง๋ค๊ณ ๋ชฉ์ ์ ์ ํํฉ๋๋ค.- ์๋ณธ
์ด๋ฏธ์ง ํด๋์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ์ ์ฅ ํด๋๋ฅผ ๊ฐ๊ฐ ์ง์ ํฉ๋๋ค. 2 ๋ผ๋ฒจ๋ง์์ ๋ชฉ์ ์ ๋ง๊ฒ ๋ฐ์ค, ๋ง์คํฌ ๋๋ OK/NG ํ์ ์ ์ ์ฅํฉ๋๋ค.4 ํ์ต/๋ชจ๋ธ์์ ๋ฐ์ดํฐ์ ์ ๊ฒ์ ํต๊ณผํ ๋ค ๋ชจ๋ธ๊ณผ ํ์ต ์ค์ ์ ์ ํํฉ๋๋ค.- ํ์ต๋ ๋ชจ๋ธ์ ๋ฐ๋ก ๊ต์ฒดํ์ง ๋ง๊ณ ํ๋ณด ๊ฒ์ฆ๊ณผ ๋น๊ต๋ฅผ ๊ฑฐ์ณ
ํ์ฌ ๊ฒ์ฌ ๋ชจ๋ธ๋ก ์ ์ฅํฉ๋๋ค.
์ฒ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋จ๊ณ๋ณ ์ฌ์ฉ ๊ฐ์ด๋๋ฅผ ๋จผ์ ๋ณด์ธ์.
๋์์ ์์น์ ์ข
๋ฅ๊ฐ ํ์ํ ๋ ์ฌ์ฉํฉ๋๋ค. ์บ๋ฒ์ค์์ ์ค์ ๊ฒฐํจ์ด ๋ค์ด๊ฐ๋ ์ต์ ์์ญ์ ๋ฐ์ค๋ก ๊ทธ๋ฆฌ๊ณ ํด๋์ค๋ฅผ ์ง์ ํ ๋ค ๋ผ๋ฒจ ์ ์ฅ์ ๋๋ฆ
๋๋ค. ์๋ ์์๋ ๋์ ๋ณด์ด๋ ๋๊ฐ์ ์คํฌ๋์น ํ๋์๋ง scratch_crack ๋ฐ์ค๋ฅผ ํ์ํฉ๋๋ค. ๋์์ด ์๋ ์ด๋ฏธ์ง๋ ๊ฐ์ฒด ์์์ผ๋ก ๋ช
์ํฉ๋๋ค.
๊ฒฐํจ์ด๋ ๋ถํ์ ์ค์ ๊ฒฝ๊ณ๊ฐ ํ์ํ ๋ ์ฌ์ฉํฉ๋๋ค. ํด๋ฆฌ๊ณค, ๋ธ๋ฌ์, ์ง์ฐ๊ฐ๋ก ์์ญ์ ๋ง๋ค๊ณ ๊ฐ์ฒด ๋ชฉ๋ก๊ณผ ์บ๋ฒ์ค์์ ๊ฒฐ๊ณผ๋ฅผ ํจ๊ป ํ์ธํฉ๋๋ค. ์๋ ์์๋ ๊ฐ์ฒดํ์ง ํ๋ฉด๊ณผ ๊ฐ์ ์คํฌ๋์น์ ๊ฐ๋๋ค๋ ๊ฒฝ๊ณ๋ฅผ 10์ ํด๋ฆฌ๊ณค์ผ๋ก ๋ฐ๋ผ๊ฐ ๊ฒฐ๊ณผ์ ๋๋ค.
๋ฐ๋ณตํด์ ์๋ ๊ฒฝ๊ณ๋ฅผ ๋ง๋ค๋ ค๋ฉด ์ธ๊ทธ๋ฉํ
์ด์
Recipe์ ๋ผ๋ฒจ๋ง ์ต์
์์
์๋ ์ค๊ณฝ์ ํ ๋ฒ ์ผญ๋๋ค. ์ดํ ๊ฒฐํจ์ ์ฌ๊ฐํ์ผ๋ก ๊ฐ์ ๋๋ง๋ค
MobileSAM ํ๋ณด๊ฐ ๋ณ๋ ์์ฑ ๋ฒํผ ์์ด ๋ฐ๋ก ๋ํ๋๋ฉฐ, ์์
ํจ๋์ด
ํผ์ณ์ ธ๋ ๋ทฐ์ด ๋ง์ถค์ ์๋์ผ๋ก ๊ฐฑ์ ๋ฉ๋๋ค. ํ๋ณด๊ฐ ๋ถ์กฑํ๋ฉด ๋ณด์ ์ต์
์์
ํฌํจ์ ๋๋ ์ ์ธ์ ์ ํ ๋ฒ์ ํ๋์ฉ ์ถ๊ฐํ๊ณ ํ๋ณด ๋ค์ ์์ฑ์ ๋๋ฅธ
๋ค ์ด์ ํ๋ณด ๋ณด๊ธฐ์ ํ์ฌ ํ๋ณด ๋ณด๊ธฐ๋ก ๋น๊ตํฉ๋๋ค. ํ๋ณด ์์ฑ๊ณผ
ํ๋ณด ์ ํ๋ง์ผ๋ก๋ ํ์ผ์ด ๋ฐ๋์ง ์์ต๋๋ค. ํ์ ์ค์ธ ํ๋ณด๊ฐ ๋ง์ผ๋ฉด
ํ์ ํ์ฌ ์ ๋ต ํ์ผ์ ์ ์ฅํ๊ณ , ํ๋ฆฌ๋ฉด ์คํตํฉ๋๋ค. Recipe๋ฅผ ๋ค์
์ด๋ฉด ์ต์
์ ๋ณต์๋์ง๋ง ๋ณต์ ์์ฒด๊ฐ ์ถ๋ก ยทํ์ ยท์ ์ฅ์ ์คํํ์ง๋
์์ต๋๋ค. ์ ์ฒด ์์
์์๋ ์๋ ๋จ๊ณ๋ณ ์ฌ์ฉ์ ๋งค๋ด์ผ์์ ํ์ธํ ์ ์์ต๋๋ค.
์ด๋ฏธ์ง ์ ์ฒด๊ฐ ์ ์์ธ์ง ์ด์์ธ์ง ๋จผ์ ๋ถ๋ฅํ ๋ ์ฌ์ฉํฉ๋๋ค. ๋ฐ์ค๋ ๋ง์คํฌ๋ ํ์๊ฐ ์๋๋๋ค. ์ ์(OK) โ ๋ค์ ๋๋ ์ด์(NG) โ ๋ค์์ ๋๋ฅด๋ฉด ํ์ ์ด ์ ์ฅ๋๊ณ ๋ค์ ๋ฏธํ์ ์ด๋ฏธ์ง๋ก ์ด๋ํฉ๋๋ค.
์ด์ํ์ง๋ ๋ ๋ชจ๋ธ ๊ณ์ฝ์ ์ ๊ณตํฉ๋๋ค. YOLOv8/YOLO11 ๋ถ๋ฅ๋ OK์ NG ์์๋ฅผ ๋ชจ๋ ์ฌ์ฉํ๋ 2ํด๋์ค ์ง๋ํ์ต์ด๋ฉฐ ์ด๋ฏธ์ง ์ ์ฒด ํ์ ์ ๋ฐํํฉ๋๋ค. PatchCore bounded pilot์ ๊ฒํ ์๋ฃ ์ ์ ์ด๋ฏธ์ง๋ง ํ์ตํ๊ณ ์ด๋ฏธ์ง ํ์ , ์ด์ ์ ์/์๊ณ๊ฐ, ๋ฏธํ์ ์์น ํ๋ณด์ heatmap์ ๋ฐํํฉ๋๋ค. ํ๋ณด ๊ฒํ ์ ํํธ๋งต ๋ณด๊ธฐ๋ ๋ช
์์ ์ผ๋ก ๋๋ ์ ๋๋ง ์ฝ๊ธฐ ์ ์ฉ ๊ฒํ ์ฐฝ์ ์ด๋ฉฐ ๋ผ๋ฒจยทํ๋ณดยท๋ชจ๋ธ์ ์๋ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค. ์์น ํ๋ณด๋ ์๋ ์ ์ฅ๋์ง ์์ผ๋ฉฐ ์์ฐ ํ์ง์ ๋ณ๋ held-out ๊ฒ์ฆ์ด ํ์ํฉ๋๋ค.
๋ ์ํผ๊ฐ ๊ด๋ฆฌํ๋ ๊ณตํต ๊ทผ๊ฑฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
| ๊ณตํต ๊ทผ๊ฑฐ | ์ญํ |
|---|---|
| ์๋ณธ ์ด๋ฏธ์ง | ๋ชจ๋ ์ด๋ํฐ๊ฐ ๊ณต์ ํ๋ ์ ๋ ฅ |
| ํด๋์ค ๋ชฉ๋ก๊ณผ ์์ | ๋ชจ๋ธ ์ถ๋ ฅ๊ณผ ์ ๋ต์ ์๋ฏธ๋ฅผ ๊ณ ์ |
| ์ ๋ต ๋ผ๋ฒจ | ๋ฐ์ค, ํด๋ฆฌ๊ณค/๋ง์คํฌ ๋๋ ์ด๋ฏธ์ง ๋จ์ OK/NG |
| train/valid/test ๋ถํ | ๋ชจ๋ธ ๊ฐ ๋น๊ต ์กฐ๊ฑด์ ๊ณ ์ |
| provenance์ ์ง๋ฌธ | ์ด๋ค ๋ฐ์ดํฐยท์ค์ ยท๊ฐ์ค์น๋ก ์คํํ๋์ง ์ถ์ |
Recipe๋ฅผ ์ ์ฅํ๊ฑฐ๋ ํ์ต์ ์์ํ๋ฉด ์ด๋ฏธ์งยท๋ผ๋ฒจ์ ์ค์ ๋ด์ฉ, ํด๋์ค
์์์ train/valid/test ์์์ ๋ฌถ์ dsv2-... ๋ฐ์ดํฐ ๋ฒ์ ์ด ์์ฑ๋ฉ๋๋ค.
๊ฐ์ ๋ด์ฉ์ ๊ฐ์ ๋ฒ์ ์ ์ฌ์ฌ์ฉํ๊ณ , ๋ผ๋ฒจ ์ขํ๋ ๋ถํ ์ด ๋ฐ๋๋ฉด ์
๋ฒ์ ์ด ๋ฉ๋๋ค. 4 ํ์ต/๋ชจ๋ธ โ ๋ฐ์ดํฐ โ ํ๋ก์ ํธ์์ ํ์ฌ ๋ฒ์ ๊ณผ
์ฝํ
์ธ SHA-256์ ํ์ธํ ์ ์์ผ๋ฉฐ, ํ์ต ๋ชจ๋ธ ์ด๋ ฅ๋ ์ฌ์ฉํ ๋ฒ์ ์
๊ธฐ๋กํฉ๋๋ค. ์๋ณธ ๋ฐ์ดํฐ ์ ์ฒด๋ฅผ ๋ณต์ฌํ๋ ๊ธฐ๋ฅ์ ์๋๋๋ค.
ํ์ฌ ๋ํ ์ฐ๊ฒฐ ํ๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
| ์์ | ํ์ตยท๋น๊ต ๋์ |
|---|---|
| ๊ฐ์ฒดํ์ง | YOLOv5, YOLOv8, YOLO11 |
| ์ธ๊ทธ๋ฉํ ์ด์ | YOLOv8-seg, YOLO11-seg, U-Net |
| ์ด์ํ์ง | YOLOv8 classification |
๋ชจ๋ธ ํ๋กํ์ ์ ํํ๋ฉด ๋ฑ๋ก๋ ๋ก์ปฌ ์คํ๊ธฐ ๊ธฐ์ค์ผ๋ก Python, ํ๋ก์ ํธ, ์คํ ์คํฌ๋ฆฝํธ๊ฐ ํจ๊ป ์ ํ๋ฉ๋๋ค. ์๋ ํ์์ด ์คํจํ ์ฒซ ์ฐ๊ฒฐ์์๋ง ์คํ๊ธฐ ํด๋๋ฅผ ์ง์ ํฉ๋๋ค. GitHub์ ์์ ๋ชจ๋ธ์ ์ด๋ฆ๋ง์ผ๋ก ์๋ ์ง์ํ์ง๋ ์์ผ๋ฉฐ, ํด๋์คยท๋ถํ ยท์ถ๋ ฅ ๋งคํ๊ณผ focused ๊ฒ์ฆ์ ๊ฐ์ถ ์ด๋ํฐ๋ง ์คํ ๋์์ผ๋ก ๋ ธ์ถํฉ๋๋ค.
flowchart LR
Dataset["๋ฐ์ดํฐ์
๊ณผ ๋ชฉ์ ์ ํ"] --> Label["๋ฐ์คยท๋ง์คํฌยทOK/NG ๋ผ๋ฒจ"]
Label --> Save["์ ๋ต ๋ผ๋ฒจ ์ ์ฅ"]
Save --> Health["๋ฐ์ดํฐ์
์ ๊ฒ"]
Health --> Train["๋ชจ๋ธ๋ณ ์ด๋ํฐ ํ์ต"]
Train --> Candidate["ํ๋ณด ๋ชจ๋ธ ๋ฑ๋ก"]
Candidate --> Compare["๋์ผ ์กฐ๊ฑด ๊ฒ์ฆยท๋น๊ต"]
Compare --> Adopt["ํ์ฌ ๊ฒ์ฌ ๋ชจ๋ธ๋ก ์ฑํ"]
Adopt --> Infer["ํ์ฌ ์ด๋ฏธ์ง/์ผ๊ด ๊ฒ์ฌ"]
Infer --> Review["AI ํ๋ณด ๊ฒํ "]
Review --> Save
ํ๋ฉด์์ ์ ์ฅ ๋ผ๋ฒจ, AI ํ๋ณด, ํ์ต ๋ชจ๋ธ ํ๋ณด, ํ์ฌ ๊ฒ์ฌ ๋ชจ๋ธ์ ์๋ก ๋ค๋ฅธ ์ํ์
๋๋ค. ๋ชจ๋ธ์ด ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์๊ฑฐ๋ ํ์ต์ด ๋๋ฌ๋ค๋ ์ฌ์ค๋ง์ผ๋ก ์ ๋ต ๋ผ๋ฒจ์ด๋ ํ์ฌ ๊ฒ์ฌ ๋ชจ๋ธ์ด ์๋ ๋ณ๊ฒฝ๋์ง๋ ์์ต๋๋ค.
์ ํ ๋ฒ์ ์ ๋จ์ผ ๊ธฐ์ค์ ์ ์ฅ์ ๋ฃจํธ Directory.Build.props์
VersionPrefix์
๋๋ค. ์ด ๊ฐ์์ ์ ํ ๋ฒ์ , ์ด์
๋ธ๋ฆฌ/ํ์ผ ๋ฒ์ , self-contained
ํจํค์ง ํด๋, release manifest, CI artifact ์ด๋ฆ์ ์ผ๊ด๋๊ฒ ์์ฑํ๊ณ ,
์ฌ์ฉ์์๊ฒ ์ํฅ์ ์ฃผ๋ ๋ณ๊ฒฝ์ RELEASE_NOTES.md์ ๊ธฐ๋กํฉ๋๋ค.
- ํ์ฌ ์์ค ๋ฒ์ :
0.2.1ํจ์น ํ๋ณด - ์ด์ Public ๋ฒ์ :
0.2.0 - ์ผ๋ฐ ์ปค๋ฐ์ ๋ฒ์ ์ ์ฌ๋ฆฌ์ง ์์ผ๋ฉฐ, ํธํ ๊ฐ๋ฅํ ๋ฒ๊ทธ ์์ ์ PATCH, ํธํ ๊ฐ๋ฅํ ๊ธฐ๋ฅ ์ถ๊ฐ๋ MINOR, ํธํ์ฑ์ ๊นจ๋ ๋ณ๊ฒฝ์ MAJOR๋ก ๊ด๋ฆฌํฉ๋๋ค.
- ์ด๋ฏธ ๊ณต๊ฐ๋ ๋ฒ์ ์ ๋ด์ฉ์ ์์ ํ์ง ์๊ณ ๋ค์ ๋ฒ์ ์ผ๋ก ๊ธฐ๋กํฉ๋๋ค. GitHub์ ์์ค push, ๋ฒ์ tag, Release publication์ ๊ฐ๊ฐ ๋ณ๋ ๊ฒ์ฆ๊ณผ ์น์ธ ๊ฒฝ๊ณ๋ฅผ ๊ฐ์ง๋๋ค.
ํ์ ์กฐ๊ฑด:
- Windows 10/11 x64
- .NET 8 SDK
- PowerShell
- ํ์ต ๋๋ ์ถ๋ก ์ ์ฌ์ฉํ ๋ชจ๋ธ๋ณ Python ๋ฐํ์๊ณผ ๊ฐ์ค์น
์ ์ฅ์๋ฅผ ๋ณต์ ํ ๋ค ์๋ ์คํ ์ ์ฐจ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฐ์ธ PC์ ๋ชจ๋ธ ๊ฒฝ๋ก๋ ์ ์ฅ์์ ์ปค๋ฐํ์ง ์๊ณ config/labeling-runtime.local.json์์ ๊ด๋ฆฌํฉ๋๋ค.
Debug ์คํ:
dotnet build .\OpenVisionLab.LabelingStudio.sln -c Debug -p:Platform=x64
.\scripts\start-labeling-workbench.ps1 -AppMode DebugRelease publish ์คํ:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\publish-win-x64.ps1 -Configuration Release
.\scripts\start-labeling-workbench.ps1 -AppMode Publish๊ธฐ๋ณธ ๋ฆด๋ฆฌ์ค๋ artifacts\publish\Release\win-x64\0.2.1์ ์์ฑ๋๋
self-contained Windows x64 ๋ฒ๋ค์
๋๋ค. release-manifest.json๊ณผ
publish-manifest.txt์๋ ์์ค ์ปค๋ฐ, ๋น๋ ์๋ณ ์ ๋ณด, ์ ์ฒด payload์
SHA-256์ด ๊ธฐ๋ก๋ฉ๋๋ค. ๊ธฐ์กด ํจํค์ง๋ ๋ค์ ๋ช
๋ น์ผ๋ก ๋ณ๊ฒฝ ์์ด ๋ค์ ๊ฒ์ฆํ ์ ์์ต๋๋ค.
ํ์ฌ ๋ฐฐํฌ ๋จ์๋ ์ด ๊ฒ์ฆ๋ ํด๋๋ฅผ ๊ทธ๋๋ก ๋ด์ portable ZIP์
๋๋ค. ์ค์น
ํ๋ก๊ทธ๋จ์ด๋ ์ฝ๋ ์๋ช
ํจํค์ง๊ฐ ์๋๋ฏ๋ก ZIP์ ์ ํด๋์ ํ๊ณ manifest ๊ฒ์ฆ ํ
OpenVisionLab.LabelingStudio.exe๋ฅผ ์คํํฉ๋๋ค.
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\publish-win-x64.ps1 -Configuration Release -ReleaseVersion 0.2.1 -VerifyOnly| ์์น | ์ฉ๋ |
|---|---|
datasets/object-detection/coco128/coco128/README.txt |
๊ฐ์ฒดํ์ง ์ํ ๋ฐ์ดํฐ ์๋ด |
samples/python_protocol/README.md |
Python TCP ํ๋กํ ์ฝ๊ณผ mock client ์์ |
docs/tutorial/images |
README์ ํํ ๋ฆฌ์ผ ํ๋ฉด ์บก์ฒ |
์๋ณธ ์ด๋ฏธ์ง ํด๋์ ์ ์ฅ ํด๋๋ ๋ถ๋ฆฌํ์ธ์. ๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ๋ค๋ฅธ ๋ชจ๋ธ๋ก ์คํํ ๋๋ ์ ๋ต์ ๋ณต์ฌํด ์์ ํ์ง ๋ง๊ณ , ๊ฐ์ ๋ ์ํผ์ ๋ถํ ์ ๋ชจ๋ธ ์ด๋ํฐ๊ฐ ์ฌ์ฌ์ฉํ๊ฒ ํฉ๋๋ค.
์ ํ ๋น๋:
dotnet build .\OpenVisionLab.LabelingStudio.csproj -c Release์ ํ์ ๊ฒ์ํ ๋ค ์ฝ๊ธฐ ์ ์ฉ ํ๊ฒฝ ์ ๊ฒ์ ์คํํฉ๋๋ค.
powershell.exe -NoProfile -ExecutionPolicy Bypass `
-File .\scripts\publish-win-x64.ps1 -Configuration Release
& .\artifacts\publish\Release\win-x64\0.2.1\OpenVisionLab.LabelingStudio.exe `
--environment-self-test --jsonAutomation can run the read-only environment check without opening WPF:
OpenVisionLab.LabelingStudio.exe --environment-self-test --json
The command emits one JSON document and never saves labels, Recipes, models,
or a support bundle. Because the product is a Windows GUI executable,
PowerShell automation should use Start-Process -Wait with redirected standard
output. Exit code 0 means ready, 2 means the environment needs attention,
64 means invalid arguments, and 70 means the check itself failed.
The public Windows CI workflow builds the product, publishes and verifies the versioned release package, and uploads the verified artifact. Development tests and internal evidence checks run only in the Dev repository. Hosted-run success is claimed only after the corresponding GitHub Actions run is inspected.
GitHub Actions์ .github/workflows/ci.yml์ ๋ค์์ ํ์ธํฉ๋๋ค.
- README ํ์ ์น์
- .NET Release ์ ํ ๋น๋
- versioned self-contained
win-x64publish์ payload ๊ฒ์ฆ openvisionlab-labeling-studio-0.2.1-win-x64artifact ์ ๋ก๋git diff --check
| ๋ฌธ์ | ๋ด์ฉ |
|---|---|
| ๋จ๊ณ๋ณ ์ฌ์ฉ์ ๋งค๋ด์ผ | ๋ฐ์ดํฐ์ ๋ถํฐ ๊ฐ์ฒดํ์งยท์ธ๊ทธ๋ฉํ ์ด์ ยทPatchCoreยท๊ฒ์ยทํ์ตยท๋ณต๊ตฌ๊น์ง ๊ธฐ๋ฅ๋ณ ์ ์ฐจ์ ์๋ฃ ์ ํธ |
| ์นํ ํ๋ฉด ๊ฐ์ด๋ | ๋ชฉ์ฐจ, ํ์ฌ ํ๋ฉด, ๋ฌธ์ ํด๊ฒฐ์ ํฌํจํ ๋ฐ๋ผํ๊ธฐํ ์๊ฐ ๋งค๋ด์ผ |
| ๋จ์ผ ํ์ผ ํ๋ฉด ๊ฐ์ด๋ | ๋ค๋ฅธ PC๋ก ๋ณต์ฌํด๋ ์ด๋ฏธ์ง๊ฐ ํจ๊ป ์ด๋ฆฌ๋ ํด๋ํ HTML |
์ฌ์ฉ์์๊ฒ ์ํฅ์ ์ฃผ๋ ๋ณ๊ฒฝ์ RELEASE_NOTES.md์ ๊ธฐ๋กํฉ๋๋ค.
- ํ์ฌ ์์ค์ ๋น๋ยท260๊ฐ ์ ์ฒด ํ๊ทยทframework-dependent/self-contained Release ๊ฒ์ยท์ฒซ ์คํ ๊ฐ์ฌ๊ฐ ์๋ฃ๋์ต๋๋ค. ๋ก์ปฌ ๊ฒ์ ๊ฐ๋ฅ์ฑ์ ํ์ธ๋์ง๋ง ์์ฉ ๋ฆด๋ฆฌ์ค ์ค๋น ์๋ฃ๋ฅผ ์๋ฏธํ์ง ์์ต๋๋ค.
- SDK
8.0.421, ์ ํ0.2.1ํจ์น ํ๋ณด, ๊ฒฐ์ ์ self-contained ํจํค์ง, ์ ์ฒด payload SHA-256, LICENSEยทNOTICEยท์ 3์ ๊ณ ์ง๋ฅผ ํฌํจํ P0-B1์ ์๋ฃ๋์ต๋๋ค. - P0-B2์ ๋ช ์์ ํ๊ฒฝ self-test, ๊ตฌ์กฐํ๋ ์์ ์ง๋จ, ์ ํ๋ ๋ก๊ทธ ๋ณด์กด, ๊ฐ์ธ์ ๋ณด ์์ support bundle export๋ ์๋ฃ๋์ต๋๋ค.
- ์ด์ ๊ฐ๋ฅํ ํ๋ก์ ํธ ์์นด์ด๋ธ์ ํ ์ด๋ฏธ์ง ์ ํํ ๋น์ ์ ์ข ๋ฃ ๋ณต๊ตฌ ์ ๋์ ๊ตฌํ ์๋ฃ๋์ต๋๋ค. ์น์ธ๋ ๊นจ๋ํ Windows ํ๊ฒฝ๊ณผ ์ค์น/์๋ช ๊ฒฐ์ ์ด ์ ๊ณต๋๋ฉด ์ค์นยท์ ๊ทธ๋ ์ด๋ยท์ ๊ฑฐ๋ฅผ ๊ฒ์ฆํฉ๋๋ค.
- ์น์ธ๋ ์์ฐ ๋ฐ์ดํฐ์ ๋ชฉํ ํ๋์จ์ด๊ฐ ์ ๊ณต๋๋ฉด ์ ํ๋ยท์ฅ๊ธฐ ์์ ์ฑยทtakt time์ ๋ณ๋ ํ์ฅ ์ฑํ ๊ธฐ์ค์ผ๋ก ๊ฒ์ฆํฉ๋๋ค.
- ํ์ฌ ์ค์น ํ๋ก๊ทธ๋จ, ์ฝ๋ ์๋ช , ์ ๊ทธ๋ ์ด๋ยท์ ๊ฑฐ ๊ฒ์ฆ, ๊นจ๋ํ PC ์ค์น ๊ทผ๊ฑฐ๋ ์์ต๋๋ค. ๋ก์ปฌ ๊ฒ์ ๊ฐ์ฌ๋ ์๋ฃ๋์ง๋ง ์ค์น ์๋ช ์ฃผ๊ธฐ ๊ฒ์ฆ๊ณผ๋ ๋ณ๊ฐ์ ๋๋ค.
- P0-B2 ์ง๋จ์ ๋ก์ปฌ ์ฌ์ฉ์ ๊ฒฝ๋ก์ ๋ช ์์ support export๊น์ง ๊ฒ์ฆ๋์ง๋ง ํ ๋ ๋ฉํธ๋ฆฌยทํด๋ผ์ฐ๋ ์ง์ยท์๋ ์ ๋ก๋๋ฅผ ์ ๊ณตํ์ง ์์ต๋๋ค.
์ค์ /๋๊ตฌ -> ํ๋ก์ ํธ ์ด๋์์ ๋ง์ง๋ง์ผ๋ก ์ ์ฅ๋ Recipe์ ์ ์ฒด ๋ฐ์ดํฐ์ ์ SHA-256 ํ๋ก์ ํธ ์์นด์ด๋ธ๋ก ๋ด๋ณด๋ด๊ณ ์ ์์น๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๋ฏธ์ ์ฅ ๋ผ๋ฒจยท๋ฏธํ์ ํ๋ณดยท์งํ ์ค ์์ ์ ์ฐจ๋จํ๋ฉฐ, ๊ธฐ์กด Recipe/๋ฐ์ดํฐ์ ์ ๋ฎ์ด์ฐ๊ฑฐ๋ ์๋ ์ ์ฉํ์ง ์์ต๋๋ค.- ๋น์ ์ ์ข ๋ฃ ์ ํ ์ด๋ฏธ์ง์ ๋ฏธ์ ์ฅ ๋ฐ์คยท์ธ๊ทธ๋ฉํ ์ด์ ยท๊ฒ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ช ์์ ์ผ๋ก ๋ณต๊ตฌํ๊ฑฐ๋ ํ๊ธฐํ ์ ์์ต๋๋ค. ๋ณต๊ตฌ๋ AI ํ๋ณด๋ฅผ ์น์ธํ๊ฑฐ๋ ๋ผ๋ฒจ์ ์๋ ์ ์ฅํ์ง ์์ผ๋ฉฐ, 7์ผ์ด ์ง๋ ์ด์๊ณผ Recipeยท๋ฐ์ดํฐ์ ยท์ด๋ฏธ์ง๊ฐ ๋ฌ๋ผ์ง ์ด์์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
- ํ์ฌ ์ด์ํ์ง๋ OK/NG 2ํด๋์ค ๋ถ๋ฅ์ด๋ฉฐ one-class novelty detection์ด๋ ์์น heatmap ํ์ต์ด ์๋๋๋ค.
- ํฉ์ฑ ๋ฐ์ดํฐ๋ ๊ธฐ๋ฅยท์ด๋ํฐยท์ฌํ์ฑ ์๋ฃ ๊ทผ๊ฑฐ๋ก ์ฌ์ฉํ ์ ์์ง๋ง ์์ฐ ์ ํ๋ ๋ณด์ฅ์ ์๋๋๋ค. ํ์ฅ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด
ํ์ฅ ๊ฒ์ฆ ๋ฏธํ๊ฐ๋ก ๋ถ๋ฆฌํฉ๋๋ค. - MobileSAM์ ํ์ฌ ๊ฐ์ฒด ํ๋๋น ๋จ์ผ ์์ ๋ฐ์ค์ ์ฌ๋ฌ ํฌํจ/์ ์ธ์ ์ ์ง์ํฉ๋๋ค. ๊ณ ์ ํ๊ฐ์์๋ ์ ํํ ๋ฉํ๋ฐ์ดํฐ ๋ฐ์ค์ 20% ํ๋, 10% ์ถ์, 10% ๋๊ฐ์ ์ด๋๊น์ง ๊ฒ์ฆํ์ง๋ง ๋ ํฐ ์ค์ฐจ, ์์ ํ์, ์๋ ๋ค์ค ๊ฐ์ฒด ๋ถ๋ฆฌ์ ํ์ฅ ์ ํ๋๋ ๋ณด์ฅํ์ง ์์ต๋๋ค. ์๋ ํ์ ยท์ ์ฅ, ํ ์คํธยท์์ฑ ํ๋กฌํํธ์ ํ ์คํธ ๊ธฐ๋ฐ ์๋ ๋ผ๋ฒจ๋ง์ ์ง์ํ์ง ์์ต๋๋ค.
- ๋ชจ๋ธ ๋น๊ต๋ ๊ฐ์ ๋ฐ์ดํฐ ์ง๋ฌธ, ํด๋์ค, split๊ณผ ํ๊ฐ ์กฐ๊ฑด์ด ํ์ธ๋ ๋๋ง ์๋ฏธ๊ฐ ์์ต๋๋ค.
- ๋ก์ปฌ Python ๋ชจ๋ธ ๋ฐํ์๊ณผ ์์ ๊ฐ์ค์น๋ ๋ณ๋ ์ค๋น๊ฐ ํ์ํ ์ ์์ผ๋ฉฐ ์น์ธ ์์ด ์๋ ๋ค์ด๋ก๋ํ์ง ์์ต๋๋ค.
- ํด๋ผ์ฐ๋ ๊ณ์ , ํ ํ์ ๊ถํ, ๋ฐฐํฌ ํ์ดํ๋ผ์ธ, ์นด๋ฉ๋ผยทPLC ์ ์ด๋ ํ์ฌ ์ ํ ๋ฒ์๊ฐ ์๋๋๋ค.
์ด ํ๋ก์ ํธ๋ MIT License๋ก ๋ฐฐํฌํฉ๋๋ค. ์ํํธ์จ์ด๋ฅผ ๋ณต์ฌํ๊ฑฐ๋ ๋ฐฐํฌํ ๋ LICENSE์ NOTICE์ ์ ์๊ถยท๋ผ์ด์ ์ค ๊ณ ์ง๋ฅผ ์ ์งํด์ผ ํฉ๋๋ค.
Copyright (c) 2026 ์ต๋ ธ์ (Noah-Choi)



