Review

비전 트랜스포머

비전 트랜스포머

maketext contents are below.

References: 05-maketext contents: Go Click
Other Blog: Blog ArtRobot (Title: 비전 트랜스포머) More …
Publish Date: (2024-06-05|9:06 am), Modified Date: (2024-06-10|4:59 pm)


— Blog Post Contents
주간일기 챌린지 관련 글은 게시하지 않도록 하겠습니다.
네이버 측에서 한시적으로 시행했던 부분인데 종료가 된지 많이 지나버렸습니다. 이것을 제가 임의적으로 사용하지 않겠습니다. 앞으로는 글 작성을 중단하겠습니다. (Publish Date: 2024-05-18)

Vue.js 3 요약
반응성 API 프록시를 이용해 반응성을 관리 reactive, readonly, isProxy, isReactive, isReadonly, toRaw, markRaw swallowReactive, shallowReadonly : 네스팅 객체를 제외한 직계 값에만 리액티브를 부여함 Refs Vue 2 버전의 this.$refs를 대체 ref, unref, toRef, toRefs, isRef, customRef, shallowRef, triggerRef Provide, Inject 부모 컴포넌트에서 데이터를 provide 해주면 자식 컴포넌트에서 해당 데이터를 inject 해 사용할 수 있다. <script setup> 사용 해당 스크립트 내 소스코드들은 setup 함수로 컴파일 된다. defineEmits, defineProps 함수 클래스 선택자 슬롯 computed (Publish Date: 2024-04-29)

jQuery 함수들
제이쿼리는 2010년대 초 중반까지 프론트엔드 라이브러리로 유명했었습니다. 아직도 제이쿼리는 업데이트가 되고 있고 저는 다양한 경우에 주로 생산성의 이유로 사용하곤 합니다. HTML 엘리먼트 선택자 개념이 유용합니다. Vue.js 환경에서는 선택자 개념으로 $refs 오브젝트를 사용하는 문법이 있는데 이것이 Vue의 여러 다양한 기능들과 호환되지 않는 경우들이 간혹 발생합니다. 결국에는 쓰지 못합니다. 예를 들어 동적으로 폼 태그 내의 CSS를 변경해야 하는데 너무 많은 변경이 필요한 경우 제이쿼리를 사용합니다. 제이쿼리 함수 공식 문서를 보며 찜한 변수와 함수들입니다. 차차 공부하면서 정리하도록 하겠습니다. (Publish Date: 2024-03-17)

HTTP Client 오픈소스 Axios 엑시오스를 쓰기 편하게 래핑하기
Axios란? 웹 브라우저 환경에서 주로 사용하는 HTTP Client 라이브러리입니다. Getting Started | Axios Docs (axios-http.com) 제 기억으로는 2017년에 알게 된 오픈소스이고 당시에는 많이 유명했었습니다. 시간이 흘러 fetch 함수를 포함한 몇 가지 대안들이 나와 있습니다. Axios 커스텀 래핑 구조 응답 객체의 구조를 기존 성공 응답시의 응답 객체인 에서 으로 변경합니다. 실제 사용은 이렇게 합니다. 아직 테스트 해보기 전이라 실 시용시 수정이 필요할 수 있습니다. 래핑 구조를 응용한 설탕 함수 설탕 함수를 작성할 수 있습니다. thisVar 변수는 Vue 인스턴스를 의미합니다. (Publish Date: 2024-03-16)

PC의 DB9 시리얼 포트를 바로 이용한 RS485 통신 성공기
PC에서 시리얼 통신을 하는 방법은 하드웨어 포트 규격을 기준으로 2 가지가 있습니다. USB TO 시리얼 변환 방법 먼저 USB 포트를 이용하는 방식은, USB TO 시리얼, USB TO RS232, USB TO RS485 컨버터 또는 젠더를 사용하는 방식입니다. 드라이버만 잘 인식되면 대체로 윈도우나 리눅스 특성을 타지 않고 잘 동작합니다. DB9 하드웨어 단자 규격을 직접 사용하는 방법 이번에는 DB9 규격의 하드웨어 단자에 시리얼 케이블을 직접 연결하는 방법을 해 보았습니다. DB9 규격은 2열 단자로 총 9개의 단자로 구성되어 있습니다. 암, 수 구분이 되어 있으며 RS232 또는 RS422, RS485 통신시에 사용하는 인터페이스 규격입니다. 시리얼 케이블의 종류……. (Publish Date: 2024-03-02)

FA 공장자동화 입문 회고 – PLC와 비전 (PC)간 통신방법 2가지 소개
FA 팩토리 오토메이션 (공장 자동화) 입문 주로 일반적인 웹 개발을 하다 작년 2023년 말부터 FA에 입문하게 되었습니다. 장비 회사가 영업을 하는 듯 했고, 장비회사의 하청을 받아 일을 했습니다. 비전 AI 기술은 개발하기 나름이지만 그에 앞서 기본적인 것들을 먼저 해결해야 했습니다. 그런 기본에 대해 이야기하려고 합니다. 장비 PLC와 비전 간 통신 방법 장비에 PLC가 붙어 있습니다. IO 카드 (GPIO) 를 증설하거나 (메인 PLC 옆에 카드 모듈 하나를 더 붙입니다.), RS232 통신 카드를 증설할 수 있습니다. (마찬가지로 카드 모듈을 옆에 더 붙입니다.) PLC와 비전간 양방향 통신을 하려고 했습니다. 방법은 [ GPIO, RS232 ] 2가지가 있……. (Publish Date: 2024-02-16)

PIL (Pillow) 라이브러리 – 이미지 여러 장을 사진첩 처럼 이어 붙여넣기
이미지 여러 장을 담은 딕셔너리 객체를 파이토리 결과로부터 준비합니다. 이미지 여러 장을 넓은 더미 이미지 객체에 배열하여 PNG 이미지나 JPEG 이미지를 생성합니다. (Publish Date: 2024-02-03)

OMRON_SENTECH 카메라의 이미지 취득 부분에서 ROI Crop과 흑백/칼라 팔레트 설정
오므론 센택 머신비전 카메라 개발 중 예제 소스들을 보면서 상용 소스코드를 만들고 있습니다. 카메라 어플리케이션에서 생성된 이미지 데이터를 BASE64로 인코딩한 후 MQ 트래픽을 타고 DNN 서버로 전송하는데 로컬에서 로컬 전송이지만 이미지 크기가 5M 픽셀만 되어도 페이로드 크기가 커서 지연이 발생하는 것 같았습니다. 카메라 이미지 취득 부에서 ROI Crop라고 하여 관심 영역을 서브 이미지로 잘라내면 이미지 취득 후 전송 페이로드 크기를 많이 줄여서 지연 시간이 많이 줄어듭니다. OpenCV나 PIL (Pillow) 라이브러리로 Crop 하지 않고 머신비전 카메라 사에서 제공하는 API를 이용하면 좀 더 성능 향상이 있습니다. 제조사마다 다……. (Publish Date: 2024-02-03)

pytorch 흑백과 칼라 이미지 모두에 대응하는 Dataset 생성
흑백이면 이미지 차원이 2차원입니다. 그럴 경우 unsqueeze 함수로 차원을 하나 늘려줍니다. t1.unsqueeze(2) 로 코딩하는 경우에는 permute로 차원 순서를 변경해주어야 합니다. 하지만 axis 파라미터를 0으로 주었을 경우에는 permute 함수가 필요하지 않습니다. 최종적으로 차원은 (1, 224, 224)이 되어 Dataset 인스턴스에 주입됩니다. (Publish Date: 2024-02-03)

다후아 (후아레이) 머신비전 카메라의 프레임 속도 설정: 프로그래밍 방식
파이썬 SDK 를 사용한 방식입니다. pFeatureName 필드에는 MV Viewer 뷰어의 설정 화면에 나타난 파라미터 명 그대로 입력하였습니다. 테스트 하지 않아 틀린 내용이 있을 수 있습니다. (Publish Date: 2024-01-19)

다후아 (후아레이) 머신비전 카메라 개발: Grabbing 콜백 함수에 pUser 인자 전달하기
후아레이 머신비전 카메라가 3대 로드되어 있고 콜백 형태로 이미지 데이터를 취득 하려고 합니다. 3대를 각각 구분하기 위하여 콜백 함수에 사용자 정의 변수인 pUser를 추가로 사용합니다. 다음은 예제입니다. camType=0로 0번 카메라라는 것을 콜백 함수에 알려주었습니다. 추가로 Frame 객체에서는 카메라 정보에 접근할 수 없었습니다. Frame 객체에서 카메라 번호를 읽어오는 것은 불가능합니다. 취득 이미지 별 스레딩 처리 데이터가 카메라 단, 케이블 단, PC단 어느 한 곳이라도 적체가 되기 시작하면 하드웨어가 구워질 수 있습니다. 이미지를 취득할 시점에서 스레드를 새로 생성하여 컨텍스트를 분리해 줍니다. 소스코드는 테스……. (Publish Date: 2024-01-19)

심플 시멘틱 세그먼테이션 예제
인공지능 화가, 패션 제품 착장 인공 샷 등 이미지 생성 모델을 활용하고 싶은 곳이 있을 겁니다. 이를 위해서는 기본 인공지능 (딥러닝) 모델이 필요합니다. 원본 입력과 거의 동일하게 출력 이미지를 생성시키는 인공지능이 있습니다. 시멘틱 세그먼테이션이라고 하는 컴퓨터 비전의 세부 분야인데요. 예전에는 이 분야를 수학적 방법론으로 연구했었겠지만 예제로 보여드리는 것은 딥러닝 기반의 알고리즘입니다. 이것 부터 잘 되면 다음 단계로 넘어갑니다. 그래서 기초가 되는 시멘틱 세그먼테이션 모델 설계 예제를 보여드리려고 합니다. 간단하게 만들었지만 생각 외로 돌아는 갑니다. 이번 포스팅과 지난 포스팅에서 사용된 파란 톤의 이……. (Publish Date: 2023-10-22)

10/17 구식 안드로이드 인-앱 결제 v4 방식 종료 예정
올해 2023년 11월 1일부터 v4 결제 API가 구식이 됩니다. 결제 API의 버전은 현재 6 버전 입니다. 버전 6를 적용한 오픈소스는 이미 있었습니다. 아래에서 링크를 안내해 드리구요. 저는 직접 구현하고 싶었습니다. 버전 6를 간단히 알려드리겠습니다. 한마디로 표현하면, 스타트를 날리고 쿼리를 날립니다. 간단히 표현하면, 스타트를 날리고 콜백이 호출되면 쿼리를 날리고 콜백이 호출되면 결과를 확인할 수 있습니다. 두번째 콜백은 파라미터 콜백함수입니다. 자바스크립트에서 프라미스가 나오기 이전의 콜백 처리 방식과 같습니다. 순서도 (플로우 차트)로 보여드리겠습니다. 상세하게 다시 설명드리겠습니다. BillingClient 라는 클래스를……. (Publish Date: 2023-10-17)

타입스크립트 TS의 클래스 구현체 사용
타입스크립트의 인터페이스는 클래스 선언부에 대한 정의였고 간단했습니다. https://blog.naver.com/maketext/223016486637 반면에 클래스는 멤버 함수와 멤버 변수들에 값과 소스코드 블록이 전부 채워진 형태입니다. 구성 멤버 함수와 멤버 변수들로 채워집니다. 클래스 인터페이스와 클래스는 공통점이 있습니다. 공통화된 무언가라는 점에서 비슷합니다. 인터페이스는 규약을 나타내는 공통적인 개념입니다. 클래스를 만들어 놓고 무엇을 할까요? 클래스를 이용해 많은 구현체들을 만들어 비즈니스 로직 (로직)에 이용하는 것입니다. 그런 점에서 클래스도 해당 클래스 구현체들이 지키는 규약입니다. 생성자 생성자가 있을 수 있습니다. 위……. (Publish Date: 2023-10-06)

네이버 지도 API를 예쁘게 꾸며서 홈페이지에 임베딩해보기
네이버지도 API를 회사 홈페이지에 사용해도 될까요? 보통은 구글 맵을 활용하는 것으로 알고 있습니다. 핀치 줌, 디자인 등 모든 것이 그런 대로 쓸만하기 때문인 것 같습니다. 그런데 네이버 지도를 써 보고 싶어졌습니다. 네이버 지도 API를 회사 홈페이지에 사용해 보았습니다. Maps – Application Services – NAVER Cloud Platform 네이버 클라우드 플랫폼 (ncloud.com) 말풍선 기본 디자인 뾰족한 말풍선 형태의 심플한 디자인이고 컴포넌트 내부에 HTML을 커스텀으로 꾸밀 수 있는 점이 좋았습니다. 좋았는데, 기본 UI 디자인을 그대로 사용하기에는 디자인이 많이 부족했습니다. 가장 아우터 (바깥) 기본 말풍선 틀이 생성 HTML이었고, 인……. (Publish Date: 2023-10-05)

Let's Encrypt SSL 인증서 수동 갱신 방법
Amazon Linux 2023 운영체제 환경에서 pip 명령어로 Let's Encrypt 인증서를 설치하였습니다. 설치 시에 www 서브도메인과 메인도메인 둘 중 하나를 무조건 골라야 했습니다. 그렇게 2달 쯤 지나자 Bot 메일이 왔습니다. 메일의 제목은 "Let's Encrypt certification expiration" 으로 시작합니다. 인증서 만료일이 19일 남은 시점에서 인증서를 갱신하라는 내용이었습니다. 인증서 갱신 명령어는 단순합니다. 여기에 sudo 명령어로 권한이 충분한 상태에서 진행하면 잘 되었습니다. 아래는 참고 cmd 명령어들입니다. pip로 인스톨 시에 환경변수에 등록해 놓지 않아 갱신 명령어가 그냥 수행되지 않아 certbot이란 실행파일……. (Publish Date: 2023-09-24)

[시계열 예측 선행 연구 조사] 비닐하우스 온실 (Greenhouse)의 기후제어, 기후예측용 딥러닝 모델
안녕하십니까? 항상 블로그를 찾아주시는 유저분들께 감사의 말씀을 드립니다. 시계열 예측을 딥러닝으로 접근하는 방법에 대해 선행 연구 조사를 하고 싶어졌습니다. 세부 분야는 농장 온실의 기후 예측 모델로 정해 간단한 요약 내용을 공유합니다. 농장에 디지털 트랜스포메이션이 적용되면서 노지재배로는 상품 경쟁력이 없어졌습니다. 비닐하우스를 설치하여 각종 농작물을 재배하는데, 예를 들어 토마토, 쪽파 등을 재배하게 됩니다. 비닐하우스에 스마트팜 소프트웨어/하드웨어 솔루션을 도입하고 있습니다. 그런데 문제가 생겼습니다. 특히 여름에 전기세가 엄청 든다고 합니다. 한달에 100만원 이하 정도가 나온다고 하네요. 이게 1동 기……. (Publish Date: 2023-09-19)

스프링 부트에서 생각해 봐야 할 주제들
서버 프로그래밍에서 다루어야 하는 몇 가지 주제들이 있습니다. 스프링 부트에서도 마찬가지로 주제들이 비슷합니다. 주제들을 나열해 보았습니다. (Publish Date: 2023-09-06)

아이폰, 안드로이드, 데스크탑용 favicon 메타 태그
처음엔 파비콘을 sizes 속성을 주어 여러 형태로 다양하게 적용하려고 노력했지만, 마지막 소스코드는 간단해졌습니다. 파비콘 파비콘은 웹 페이지가 갖는 작은 아이콘입니다. HTML의 head 태그 안에서 메타 태그로 등록합니다. 안드로이드, 데스크탑 파비콘 차세대 이미지 포멧인 SVG를 사용해 안드로이드와 데스크탑에 모두 적용했습니다. 테스트 해 본 결과 안드로이드 핸드폰에서 대체로 잘 반영 되었습니다. 다만 크롬 브라우저를 열어 주소 검색시에 아이콘 모양이 팝업 안에 떠야 하는데 그게 좀 안되었던 것 같았습니다. 그렇지만 기기를 바꾸어 안드로이드 태블릿에서는 정상 동작하였습니다. 옛날 파비콘 스타일 MDN (MDN Web Docs) 에……. (Publish Date: 2023-08-27)

비전 트랜스포머
2020년 초까지 CNN이 계속해서 발전하였고 2021년부터는 자연어 처리에 사용되었던 모델을 비전에 적극적으로 사용하기 시작했습니다. 이 모델을 기초로 하여 주변에 CNN을 배치하고 MLP를 배치하는 등의 변형 모델도 생겨났습니다. 이런 변화가 생겨나면서 이전의 CNN에 비해 몇 가지 기본 아이디어에 차이점이 생겼습니다. 이전에는 컨볼루션 연산이라는 틀에서 리셉티브 필드라는 국소 영역에 알고리즘을 적용했습니다. 그러나 신 모델 기반으로 전환하면서 기존 모델을 차용하려고 했었던 것 같습니다. 구글 연구진은 트랜스포머란 모델을 비전에도 사용하기 시작했습니다. 입력 이미지를 그대로 사용하는 것은 아닙니다. 한번 CNN 레이어를……. (Publish Date: 2023-08-10)

Visited 2 times, 1 visit(s) today
  • if No post, write the comment Please!

Leave a Reply

Your email address will not be published. Required fields are marked *