반응형

Program 135

Program/딥러닝ObjectDetection - TensorRT

Tensor RTNVIDIA에서 만든 프레임워크NVIDIA GPU 최적화 기술Advantages of Tensor RTC++과 Pyhton을 API레벨에서 지원하므로 CUDA를 잘 모르는 DeepLearning 개발자들도 쉽게 사용할 수 있따.Lantency, ThroughPut을 쉽게 향상다양한 Layer 및 연산에 대해 Customization할 수 있는 방법론을 제공Latency (시간단위)작업을 처리하는데 걸리는 시간Throughput (일단위)단위시간(초)당 처리하는 작업의 수일초당 몇장의 이미지를 처리할 수 있는지 Work FlowOptimizerNVIDIA GPU연산에 적합한 최적화 기법들을 사용해 훈련된 딥러닝 모델을 최적화 하는 역할Engine배포할 NVIDIA GPU에 따라 최적의 연산..

Program/딥러닝 2025.06.17

ObjectDetection - NMS

NMS ( Non - Maximum Suppression )최종 박스 하나를 찾는 것 동작순서검출된 Bounding Box 중, Confidence_threshold보다 작으면 제거Confidence Score를 기준으로 내림차순 정렬모든 박스 순차적으로 실행가장 높은 Confidence Score의 Bounding Box와 동일한 Class면서 iou_threshold이상인 Bounding Box는 제거남은 Bounding Box 선택 위와같이 class1(새)과 겹치는 부분이 많은데 같은 클래스라면 삭제한다.즉, 가장 확률이 높은 박스 하나만 남기고 제거한다.threshold가 너무 낮으면 조금만 겹쳐도 같은 클래스에 비슷한 위치라고 판단되어 박스가 모두 삭제되며 검출이 누락될 수 있고 너무 높으면..

Program/딥러닝 2025.06.11

Object Detection 알고리즘 정의 및 종류와 성능지표

Object Detection이미지내의 모든 object에 대해 classification과 Localization을 수행활용도로 cctv, 제품의 공정불량, 백화점 cctv종류1.원스테이지 - 백본에서 한번에 물체의 위치와 종류를 분류 - YOLO, SSD..2. 투스테이지 - 백본에서 물체의 위치를 판단하고 무엇인지 분류 - RCNN, FastRCNN, RFCN, MaskRCNN..주요 용어 정리1. Bounding Box - 이미지내에서 물체 전체를 가득차게 그린 가장 작은 직사각형을 의미2. Confidence Score - 이미지 내에서 찾은 Bounding Box안에 물체가 있을 확률3. Sliding Window - 이미지 내에서 적당한 영역을 정하여, 영역을 이동시키면서 알고리즘을 적용하는..

Program/딥러닝 2025.06.10

주니어 개발자와의 협업에 대한 생각

어떻게하면 주니어 개발자를 효과적으로 매니징하면서 프로젝트의 품질과 팀의 생산성을 높일 수 있을까?를 고민하며작성한 글로 다른 분들께도 도움이 되었으면 합니다. 1. 관리직이 직면한 현실적 고민저는 Vision과 Motor 구조 설계에 4~5년 경험이 있는 개발자였습니다. 그런데 올해 사업을 준비하면서 제 주요 업무는 투자 유치와 관련된 비개발 업무로 이동했습니다.이 과정에서 개발의 주요 부분을 2년차 주니어 개발자에게 위임해야 하는 상황에 놓였고, 곧 몇 가지 현실적인 문제에 직면하게 되었습니다.주요 문제:주니어 개발자가 구상된 기능을 제대로 구현하기 어려운 경우가 발생함.필요한 기능만 구두로 전달하고 "알아서 해봐"라는 방식의 위임은 시간을 벌 수 있지만 오히려 혼란과 비효율을 초래할 수 있음.기술 ..

Program/생각 2025.01.14

C# 프로젝트 Error 정리

프로젝트를 베이스부터 만들던 도중 나오는 에러들에 대해서 해당 글에 정리한다. 1. OpencvSharp 로드 에러System.TypeInitializationException: 'The type initializer for 'OpenCvSharp.Internal.NativeMethods' threw an exception.'DllNotFoundException: Unable to load DLL 'OpenCvSharpExtern' or one of its dependencies: 지정된 모듈을 찾을 수 없습니다. (0x8007007E)  현재 위와같은 에러가 발생하였는데 구글 서칭과 클러드에게 물어보니 아래와같은 답변이 돌아왔다.Any CPU는 프로그램이 32비트(x86)와 64비트(x64) 환경 모두..

Program/C# 2025.01.08

장비/설비 모듈 설계 (1)

FA(Factory Automation) 장비와 설비 개발에서는 모듈 구성과 설계 방식이 작업 효율성과 유지보수성에 중요한 영향을 미칩니다.이번 글에서는 제가 경험한 설계 방법과 더 나아가 이를 개선하기 위한 아이디어를 공유하려 합니다.특히, 많은 장비 개발자들이 사용하는 시퀀스 기반 설계와 이를 더욱 유연하고 확장 가능한 방식으로 발전시키는 방법에 대해 작성해 보겠습니다. 1. FA 장비의 모듈 구성FA 장비는 기본적으로 다양한 기능별로 구분된 모듈로 구성됩니다.제가 경험한 대부분의 설비들은 아래와 같은 주요 모듈로 나뉘었습니다.VISION 모듈: 카메라와 검사 라이브러리 및 딥러닝등을 이용해 제품이나 공정을 검사.MOTOR 모듈: 모터 제어 (이동, 보간, 축 상태 수집) 등의 작업 수행.DIO 모듈..

Program/Design 2024.12.21

C# netDxf 라이브러리 (1)

오늘은 C#의 Nuget 패키지 중 하나인 netDxf 라이브러리에 대해 알아보려 합니다.기존 프로젝트에서 dwg 도면을 읽어와야하는게 메인이기 때문에 가장 많이 사용하는 라이브러리 중 하나이기도 합니다. 우선 netDxf 라이브러리에 대한 목차입니다.netDxf 라이브러리 시작하기netDxf란?라이브러리 소개주요 특징기본 사용법NuGet 패키지 설치DXF 파일 생성하기DXF 파일 읽기실전 활용기존 도면에 도형 추가하기 (선, 원, 폴리라인)레이어 관리기존 도면에 도형 추가하기  텍스트 추가하기   netDxf란?netDxf는 AutoCAD DXF 파일을 읽고 쓸 수 있게 해주는 오픈소스 .NET 라이브러리입니다. 이 라이브러리를 사용하면 복잡한 DXF 파일 포맷을 이해하지 않아도 손쉽게 CAD 파일을 ..

Program/C# 2024.12.16

C# 유닛(단위)테스트(2)

기존 프로젝트에서 유닛 테스트 추가하기앞서 유닛(단위)테스트(1)에서는 유닛 테스트 작성 방법에 대해 알아보았습니다.https://opencv-master.tistory.com/190 C# 유닛(단위)테스트(1)오늘은 C#에서의 유닛(단위) 테스트에 대해 알아보려 합니다. C#에서 유닛(단위) 테스트란?유닛 테스트(Unit Test)는 프로그램의 작은 조각(주로 클래스나 메서드)이 올바르게 작동하는지 검증하는opencv-master.tistory.com 이번에는 이미 존재하는 프로젝트에 유닛 테스트를 추가하는 방법을 단계별로 살펴보겠습니다.기존 프로젝트에서 유닛 테스트를 작성하려면 테스트 프로젝트를 새로 생성하여 기존 프로젝트를 참조하는 방식으로 진행하는 것이 가장 좋은 방법입니다.왜 테스트 프로젝트를 ..

Program/C# 2024.12.09

C# 유닛(단위)테스트(1)

오늘은 C#에서의 유닛(단위) 테스트에 대해 알아보려 합니다. C#에서 유닛(단위) 테스트란?유닛 테스트(Unit Test)는 프로그램의 작은 조각(주로 클래스나 메서드)이 올바르게 작동하는지 검증하는 과정입니다. "유닛(Unit)"은 프로그램의 가장 작은 독립 실행 단위를 의미합니다.쉽게 말해, 코드가 우리가 기대한 대로 동작하는지 자동으로 확인하는 테스트입니다.  유닛 테스트의 종류수동 테스트사람이 직접 입력 값을 넣고 결과를 확인하는 방식.단점: 반복 작업이 많아 시간이 오래 걸림.자동화 테스트테스트 코드를 작성하여 자동으로 테스트를 수행.장점: 반복적으로 실행 가능하고, 실수 확률이 적음.  C#에서 유닛 테스트의 방식C#에서는 주로 다음과 같은 유닛 테스트 프레임워크를 사용합니다.MSTestMi..

Program/C# 2024.12.09

C# 디스크I/O

오늘은 언어에 국한되는 특별한 기능은 아니지만 디스크 I/O에 대해서 구체적으로 알아보고자 합니다. 디스크 I/O란?디스크 I/O (Input / Output)은 컴퓨터 시스템에서 가장 기본적이면서도 중요한 개념입니다.간단히 설명하자면 컴퓨터의 메인 메모리(RAM)와 보조 저장장치 (하드디스크, SSD 등) 사이에서 데이터를 읽고(read)쓰는 (write) 모든 작업 (물리적 동작)을 의미합니다.주요 예시를 살펴보자면1. 하드디스크의 경우 - 실제로 원판(플래터)이 분당 7200번 정도 회전합니다 - 디스크 헤드가 물리적으로 움직여서 데이터가 있는 위치로 이동합니다. - 헤드가 디스크 표면을 읽어서 전기 신호로 변환합니다.2. SSD의 경우 - 전기 신호를 통해 NAND 플래시 메모리 셀에 접근합니다...

Program/C# 2024.12.07
반응형