J_Log
반응형
article thumbnail
LPR+
IT/C++ 2024. 9. 5. 23:38

전체적인 로직 및 구조 점검당신이 제공한 Python 코드는 차량 번호판 인식(LPR, License Plate Recognition) 시스템을 구현하는 코드입니다. 이 코드는 상당히 복잡한 작업을 수행하며, YOLO 모델을 사용하여 번호판과 문자 인식을 진행하고, 그 결과를 데이터베이스에 저장하는 기능을 포함합니다. 이 코드를 향후 C++로 변환할 계획이 있으므로, 이를 염두에 두고 코드를 점검하고 개선할 수 있는 부분을 제안하겠습니다.1. 클래스 구조의 개선클래스 설계: 현재 LPR 클래스가 너무 많은 책임을 맡고 있습니다. 예를 들어, 데이터베이스 연결, 이미지 처리, 로깅 등이 모두 한 클래스에 포함되어 있습니다. 이를 C++로 옮길 때는 각 기능을 별도의 클래스로 분리하는 것이 좋습니다.예시:D..

CUDA_CHECK를 함수가 아닌 매크로로 만든 이유
IT/C++ 2024. 9. 5. 23:34

CUDA_CHECK를 함수가 아닌 매크로로 만든 이유는 매크로의 고유한 특성을 활용하기 위해서입니다. 주요 이유는 다음과 같습니다:1. 파일명과 라인 번호 (__FILE__ 및 __LINE__):매크로는 호출된 위치의 파일명(__FILE__)과 라인 번호(__LINE__)를 코드에 삽입할 수 있습니다. 이를 통해 오류가 발생한 정확한 위치를 출력할 수 있습니다.함수로 구현할 경우, 호출된 위치가 아닌 함수 내부의 위치가 반환되기 때문에, 파일명과 라인 번호를 정확하게 제공하기 어렵습니다.2. 인라인 성능 최적화:매크로는 단순히 텍스트 대체로 처리되므로, 함수 호출 오버헤드가 없습니다. 작은 코드 블록에서는 성능상의 이점이 있을 수 있습니다.함수 호출 시 발생하는 스택 프레임 설정 및 해제 등의 오버헤드를..

Jetson Nano + yolov8 (ultralytics)
IT/AI 2024. 5. 29. 22:27

outputyolov8 - ultralytics 를 사용가능한 Jetson Nano차량번호 인식 소프트웨어 (LPR) 를 위한 사전 세팅 methodJetpack4.6 설치 : https://github.com/Qengineering/Jetson-Nano-Ubuntu-20-imageubuntu 20.04python 3.8cuda 10.2cudnn 8.2.1opencv 4.8tensorrt 8.0.1.6pytorch 1.13.0Jetpack : 한번에 yolov8 사용가능한 환경 구성이 가능해 용이하다.작성일 기준으로 cuda 10.2 버전과 호환되는 pytorch 버전 범위가 협소하며, Jetson Nano 에서는 cuda 10.2 버전을 허용한다.Jetson Nano 접속 후,pip install ul..

반응형