목록전체 글 (197)
JAN's History
오늘은 OpenCV를 이용해 간단한 머신비전 검사 Pipeline을 구현해봤다.단순히 이미지를 처리하는 것에서 끝나는 것이 아니라, 이미지에서 물체를 검출하고 크기를 측정한 뒤 정상(OK) / 불량(NG)을 판단하는 과정까지 만들어보는 것이 목표였다. 전체 그림은 아래와 같음[카메라] ↓Camera Frame ↓Gray ↓Binary ↓Contour ↓Object 분석 ↓크기 측정 ↓OK / NG 판정먼저 카메라로 영상을 받아 Grayscale로 변환하고, threshold()를 이용해 밝기 기준으로 이미지를 검정/흰색의 Binary 이미지로 변환했다.threshold(gray, binary, 127, 255, THRESH_BINARY);이후 findCo..
오늘은 OpenCV와 YuNet을 이용해 카메라에서 얼굴의 코 위치를 추적하고, 코의 움직임을 선으로 그리는 프로젝트를 진행했다!(이론 공부하다가 갑자기 루즈해져서 초 미니 플젝을 진행하기로함)1. YuNet 모델 연결face_detection_yunet_2023mar.onnx 모델을 사용하고, OpenCV의 FaceDetectorYN을 통해 얼굴 검출을 수행했다.https://huggingface.co/opencv/face_detection_yunetPtr detector =FaceDetectorYN::create(...); FaceDetectorYN은 YuNet의 출력 형식을 OpenCV에서 처리하기 쉽게 제공하는 API다.2. 얼굴 검출Mat faces;detector->detect(frame, f..
요약 문자 수 기반으로 자르던 걸 의미 기반으로 바꾸고, 또 구조 기반으로 바꾼 과정을 기록한 글입니다. 그 사이에 RDB 전체 문서를 LLM에 통째로 넘기다가 토큰 터지는 것도 경험했고요.. 이 글은 그 삽질의 기록입니다. 최종적으로 마크다운 구조를 보존하면서 표·리스트·문단을 구조 단위로 청킹하고, 청킹된 데이터를 직접 LLM에 전달하는 구조를 도입했습니다.들어가며.. 💭RAG(Retrieval-Augmented Generation) 시스템에서 검색 품질을 결정하는 중요한 요소 중 하나는 Chunking 전략입니다.LLM에 넘겨지는 컨텍스트의 품질은 결국 어떻게, 얼마나 의미있는 단위로 문서를 분할했는지에 달려 있습니다.아마 이 글을 읽으시는 분들도 RAG 청킹전략을 어떻게 가져갈 지 고민끝에 찾아..
요즘 AI/머신러닝에 관심이 생기면서 “내가 직접 데이터를 만들고 모델을 학습시켜볼 수 있을까?”라는 궁금증이 생겼는데요.특히 애니 캐릭터를 보면서 느끼는 퇴폐미 순수미 같은 감성적인 인상을 컴퓨터도 구분할 수 있을까? 라는 생각에서작은 이미지 분류 모델을 만들어보기로 했습니다 목표애니 캐릭터 이미지를 입력하면- 퇴폐미- 순수미중 하나를 예측하는 로컬 AI 모델 만들기접근 방법이미지 분류 문제이므로 CNN 기반 모델을 사용하기로 했습니다.딥러닝 프레임워크는 PyTorch 사용.사전학습된 ResNet18 모델을 가져와 마지막 분류층만 2클래스로 변경하는 전이학습(Transfer Learning) 방식으로 진행!참고로 CNN은 이미지 처리에 특화된 딥러닝 모델입니다. 즉, CNN = 이미지 분류용 신경망 구..
에이전트 자동화를 구조화하는 실행 프로토콜에이전트 기반 개발 환경에서 “Skills”라는 개념이 점점 중요해지고 있습니다.하지만 많은 분들이 이를 단순한 플러그인이나 라이브러리로 오해합니다.Skill은 기능 추가 모듈이 아니라, 에이전트가 복잡한 작업을 일관되고 안전하게 수행하도록 정의한 ‘실행 프로토콜(operational protocol)’입니다.즉, 무엇을 할 수 있는가를 정의하는 Tool이 아니라,어떻게 수행할 것인가를 정의하는 구조화된 작업 명세서입니다.Skill의 본질Skill은 다음과 같은 요소를 명확히 정의합니다.어떤 입력이 필요한지어떤 순서로 실행해야 하는지어떤 산출물을 생성해야 하는지어떤 검증을 통과해야 하는지무엇을 절대 해서는 안 되는지(Guardrails)이러한 구조 덕분에 에이전트..
저의 경우는 aws ses를 사용하고 있으며 애플 비공개 이메일로 메일을 전송하려고 하다가 실패, 성공한 과정을 기록하려고 합니다.애플 비공개 이메일(xxxx@privaterelay.appleid.com)로 메일을 보내려면 Apple이 요구하는 두 가지 조건을 반드시 충족해야 하는데요.1.From 도메인(보이는 발신 도메인)이 Apple에 Email Source로 등록되어 있어야 함2.Return-Path(실제 SPF 검사 대상) 도메인이 SPF PASS 되어야 함이 둘 중 하나라도 실패하면 → 애플이 메일 포워딩을 차단합니다..1. 메일 발송 시 실제 동작 구조 이해하기메일은 눈에 보이는 From: 과 실제 발신 도메인인 Return-Path: 가 다릅니다.From: no-reply@kynapse.ai..
최근 혼자서 사이드 프로젝트를 하고 있는데 SvelteKit를 사용하기로 했다.이유는 SSR를 사용해보고 싶었기 때문인데, 내 프로젝트는 화면도 적고 정~말 단순한 프로젝트라서 CSR를 할 필요가 없다고 느꼈고, SEO가 더 중요했기 때문이다.SvelteKit를 처음 사용해보기도 하고 CSR만 항상 사용해봤던지라 SvelteKit에서 SSR이 어떻게 동작하는지 알아보고자 정리해본다!먼저 SvelteKit을 처음 프로젝트에 시작하면 이렇게 routes에 +layout, +page.svelte가 보인다.SvelteKit의 파일 기반 라우팅SvelteKit은 파일 기반 라우팅과 통합 서버를 통해 SSR을 자동으로 처리한다.위 +layout은 React에 App.svelte처럼 공통 컴포넌트를 렌더링해야할 때 ..
which node---@DESKTOP-TR7M33V MINGW64 /c/Users/sifvg/Documents/learning$ npx sv create my-project┌ Welcome to the Svelte CLI! (v0.9.13)│◇ Which template would you like?│ SvelteKit minimal│◇ Add type checking with TypeScript?│ Yes, using TypeScript syntax│◆ Project created│◇ What would you like to add to your project? (use arrow keys / space bar)│ none│◇ Which package manager do you wan..