MapleStory Finger Point

개발중 47

YOLO 객체 인식 모자이크 적용 [1?]

* 이 글은 YOLOv7 기준으로 작성하였음 이전에 YOLO 모자이크에 관련한 글을 작성했었는데, 더 간단하게 정리함 GitHub - WongKinYiu/yolov7: Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors - GitHub - WongKinYiu/yolov7: Implementation of paper - YOLOv7: Trainable bag-of... git..

Development/YOLO 2023.05.24

Invalid SOS parameters for sequential JPEG 에러 [Python OpenCV]

Invalid SOS parameters for sequential JPEG OpenCV 기반 코드 실행 도중에 SOS 관련 에러가 발생하였다면, 해당 이미지에 대한 속성 문제이다. 아마도 이미지 속성을 들여다 보면 Exif 속성들(카메라 제조업체, 카메라 모델 등등) 이 있을 텐데, 이걸 삭제해야한다. 구글링해보니 카메라 제조업체에 삼성 핸드폰이라고 나오면 해당 에러가 발생한다고 카더라. 따라서 PhotoScape X(무료 사진 편집 프로그램)를 다운받은 뒤, 사진 뷰어 - 모든 사진 드래그 후 우클릭 포맷 바꾸기 - 메타데이터 정보를 보존합니다 클릭 해제 후 저장 저장된 사진들을 붙여넣기하면 끝. 그러면 더이상 Exif 정보들이 모두 삭제되어 SOS 에러가 발생하지 않는다. 만약 이미지 속성 정보들을..

[1] 가상 번호판을 만들어보자

요즘 YOLOv7 기반으로 번호판 인식 모델을 만들고 있는 중이다. 모델을 만들려면 학습할 이미지 데이터가 있어야 하는데 검색해 보면 죄다 외국 번호판 데이터밖에 없다. 개인적인 생각으로 외국 번호판이랑 우리나라 번호판이랑 약간 다르게 생겨서 외국 번호판을 기반으로 학습해도 인식이 잘 될지 미지수였다. 그래서 생각해낸 것이 바로, 외국 번호판 이미지 데이터셋을 보면 이미지 파일과 어노테이션을 진행하여 번호판 좌표가 들어있는 텍스트 파일 또는 json 파일 같은 게 같이 들어있다. 여기 좌표에 대한민국 번호판을 집어여면 되지 않을까 라는 생각이었다. GitHub - Oh-JongJin/Virtual_Number_Plate: 가상 번호판 만들기 가상 번호판 만들기. Contribute to Oh-JongJi..

QSettings 로그인 알고리즘

이 내용은 이전 글과 연관되어 있습니다. 간단한 로그인 알고리즘 중 일정 횟수 비밀번호 에러가 발생하면 해당 계정의 로그인을 일시적으로(필자는 1분으로 설정하였음) 차단하는 기능을 구현해보겠습니다. 우선 크게 필요한 것은 첫 번째로 비밀번호 에러가 발생한 시간, 두 번째는 비밀번호 에러 횟수입니다. 현재 시간과 에러 발생 시간을 비교하여 로그인 성공 유무를 선택하는 알고리즘입니다. 자세한 것은 코드에 주석 처리 해놓았습니다. #!/usr/bin/env python3 # # Authors: # 5jx2oh@gmail.com import sys import time from datetime import datetime from PySide6.QtCore import QSettings from PySide6...

Development/GUI 2023.02.21

그램 노트북 터치패드 우클릭 해제하기

계속 맥북만 사용하다가 최근에 LG 그램 노트북을 구매했는데, 터치패드 우측 아래가 자꾸 인식되어 좌클릭이 아닌 우클릭이 되는 경우가 자주 있었다. 그래서 그냥 우클릭은 손가락 두 개로만 인식하도록 바꿔버렸다. 시작 메뉴 - 터치 패드 설정 - 탭 - '터치 패드의 오른쪽 아래를 눌러 마우스 오른쪽 단추 클릭' 해제 하면 된다. 끝

소소한 팁 2023.01.31

Python으로 ChatGPT 프로그램 만들어보기

요새 핫하디 핫한 ChatGPT를 사용한 네이버 파파고로 번역하는 간단한 프로그램을 만들어 보았다. 먼저 ChatGPT를 사용하기 위해서는 OpenAI api key를 발급 받아야 한다. 그리고 파파고를 사용하기 위해 네이버 개발자에서 api key를 발급 받는다. import json import urllib.request import openai papago_client_id = 'PAPAGO_CLIENT_ID' # 파파고 API ID papago_client_secret = 'PAPAGO_CLIENT_SECRET' # 파파고 API secret 키 openai.api_key = 'OPENAI_API_KEY' # openai API 키 def papago(text: str, current_lang_t..

Development/ChatGPT 2023.01.31

QSettings List of Dictionary

QSettings는 Dictionary, Key 값과 Value 값으로 이루어져 있다. 그러다가 코드 작성 중에 Value 값을 List 형식으로 만들어야 할 작업이 있었다. 작성한 형식은 아래와 같다. from PySide6.QtCore import QSettings class Setting: settings = QSettings('Test', 'Hi') defaults = {'first': 'one', 'second': 'two', 'Hongdae': ['newjeans', 'hype boy']} @classmethod def get(cls, key): return cls.settings.value( key, cls.defaults[key], type(cls.defaults[key]) ) QSetti..

Yolov7 프로젝트 실행 파일 만들기

최근에 사람을 인식하여 모자이크 처리하는 프로그램을 작성하였는데, 실행 파일 만드는 도중 에러가 발생하였다. 진행한 환경은 다음과 같다. - GPU: NVIDIA GeForce RTX 3070 Laptop GPU - CUDA: 11.6 - cuDNN: 8.5.0 ... Process producer: Traceback (most recent call last): File "multiprocessing\process.py", line 315, in _bootstrap File "multiprocessing\process.py", line 108, in run File "detect_ui.py", line 187, in detect File "utils\torch_utils.py", line 65, in s..

Development/YOLO 2023.01.09

YOLO v7 인식된 물체를 모자이크 하기

현재 YOLO중 최신인 v7을 사용하여 물체 인식을 진행해보았다. 기본적으로 물체를 인식하게 되면 랜덤한 색상의 사각형 박스로 표기한다. 만약 사람을 인식한다면 얼굴뿐이 아닌 사람 몸 전체를 인식하여, 사각형 박스 내부에 사람이 들어가 있는 형태이다. 생각보다 인식이 엄청 정확해서 내가 가지고 있는 사진들로도 인식시켜보았다. 그런데 찍은 사진 중에 지나가던 사람도 찍혀 같이 인식되었다. 요즘은 개인정보가 중요시 되므로 만약 사람이라면 모자이크 처리하도록 해보면 어떨까 생각을 하여 진행해보았다. 먼저 YOLO v7을 개발한 WongKinYiu의 Github에 코드가 올라와 있어서 그대로 가져다 쓰면 된다. (YOLO v7은 PyTorch로 개발한다.) 그 다음 순서는 utils 폴더에 있는 plots.py..

Development/YOLO 2022.12.07