라즈베리파이 공식 홈페이지에 2021년 11월 17일자 David Plowman에 의해 게시된 글입니다. 원문은 아래 링크입니다. https://www.raspberrypi.com/news/bullseye-camera-system/ 번역기 번역이니 감안하고 봐주세요. #######################################################
지난주 데비안 불스아이를 기반으로한 첫번째 라즈베리파이 OS를 출시했을때 우리는 라즈베리파이로 카메라를 사용하는 코드를 작성한 사람들에게 매우 중요한 변화를 얘기했습니다. 그것은 라즈베리파이가 카메라 모듈에 액세스하는데 사용하는 드라이버가 libcamera로 대체되었다는 것입니다. 이러한 매우 중요한 변경은 비공개 소스코드가 줄어들고 라즈베리파이 외부의 사람들이 새로운 카메라 하드웨어 및 소프트웨어를 더 쉽게 개발할 수 있음을 의미합니다. 그러나 이는 새로운 Raspberry Pi OS 릴리스가 더이상 친숙한 raspicam 앱과 Picamera Python 라이브러리를 지원하지 않는다는 것을 의미합니다.
이 오래된 카메라 시스템 대신 V4L2(Linux용 비디오) 및 libcamera와 같은 표준 Linux 프레임워크를 기반으로 하는 완전히 새로운 오픈소스 카메라 스택이 있습니다. 우리의 커널 드라이버도 한동안 이 방향으로 움직이고 있으며 최근에 선호하는 새로운 미디어 컨트롤러 아키텍처로 더 큰 진전을 이루었습니다. bcm2835-unicam 및 Media Controller API : https://forums.raspberrypi.com/viewtopic.php?f=43&t=322076
그러나 사용자가 주목할 가장 큰 차이점은 불스아이 이후의 OS 릴리스는 더이상 이전 카메라 시스템 및 어플리케이션을 지원하지 않으며 대신 라즈베리파이의 libcamera-apps가 빌드되고 사전 설치된다는 것입니다. Bullseye를 사용할 준비가 되지 않은 경우에는 이전 버전인 Raspberry Pi OS Buster를 계속 다운로드할 수 있습니다. 라즈베리파이와 함께 카메라 어플리케이션을 사용하는 경우 이 시점에서 Bullseye로 이동할지 여부를 고민해 보는 것이 좋습니다. 이 블로그 게시물은 이동해야 하는 이유와 그렇지 않은 이유를 설명합니다. Raspberry Pi OS Buster 다운로드 : https://downloads.raspberrypi.org/raspios_armhf/images/raspios_armhf-2021-05-28/
libcamera-app이란 무엇입니까?
Libcamera-apps는 사용자가 raspistill, raspivid 및 raspiyuv에서 알 수 있는 대부분의 기능을 복사하도록 설계되었습니다. 어쩔수 없는 몇가지 차이점이 있으며 여기에서 자세히 살펴보겠습니다. 새로운 어플리케이션에는 다음이 포함됩니다. - libcamera-hello - 카메라 미리보기 스트림을 시작하고 화면에 표시하는 간단한 "hello world" 응용 프로그램입니다.
- libcamera-jpeg - 미리보기 창을 실행한 다음 고해상도 스틸 이미지를 캡처하는 간단한 응용 프로그램입니다.
- libcamera-still - raspistill의 더 많은 기능을 에뮬레이트하는 더 복잡한 스틸 이미지 캡처 응용 프로그램입니다.
- libcamera-vid - 비디오 캡처 응용 프로그램입니다.
- libcamera-raw - 센서에서 직접 원시(처리되지 않은 Bayer) 프레임을 캡처하기 위한 기본 응용 프로그램입니다.
- libcamera-detect - 이 어플리케이션은 기본적으로 빌드되지 않지만 사용자가 라즈베리파이에 TensorFlow Lite를 설치한 경우 빌드할 수 있습니다. 특정 개체가 감지되면 JPEG 이미지를 캡처합니다.
Libcamera-detect: 고양이, 사과 및 기타 유용하지 않은 물체를 식별합니다. libcamera-apps를 사용해야 하는 이유는 무엇입니까? libcamera-apps는 다음과 같은 다양한 이점을 제공하기 때문에 사용자에게 Bullseye로 전환할 것을 권장합니다. - 사용자가 자신의 취향에 맞게 조정할 수 있는 향상된 이미지 품질을 제공합니다.
- 버그를 수정하고 새로운 기능을 개발할 수 있습니다. 이 모든 것은 독점적인 Broadcom 스택에서는 매우 어려웠습니다. 예를 들어 가까운 장래에 자동 초점 기능을 계획하게 되어 매우 기쁩니다.
- 오픈소스이기 때문에 타사에서도 문제를 수정하고 새로운 기능을 추가할 수 있습니다. Github 리포지토리에서 pull 요청을 고려하게 되어 기쁩니다. (커널이나 libcamera 자체에 대한 기여는 일반적인 방식으로 업스트림해야 합니다.)
- 새 카메라와 타사 카메라에 대한 지원을 추가하는 것이 훨씬 쉽습니다. 이미 많은 카메라가 지원됩니다(Sony imx290, imx327, imx378, Omnivision ov9281 포함). 우리는 공급업체와 협력하기를 열망하며 더 많은 공급업체가 이미 파이프라인에 있습니다.
- 응용 프로그램은 이해하기 쉽게 설계되어 사용자가 자신의 요구 사항에 맞게 사용자 지정할 수 있습니다.
- OpenCV 및 TensorFlow Lite와 같은 강력한 타사 이미지 처리 라이브러리로 카메라 어플리케이션을 어떻게 보강할 수 있는지 보여줍니다.
- 모션 감지, HDR(High Dynamic Range) 이미징, 얼굴 및 물체 감지, 포즈 추정, 이미지 분할의 예를 포함하는 이미지 후처리 프레임워크를 제공합니다. 사용자가 더 많은 기여를 해주시면 감사하겠습니다!
- 64비트 버전의 Raspberry Pi OS에서 완벽하게 지원됩니다.
그럼에도 불구하고 libcamera와 라즈베리파이의 libcamera 앱은 여전히 유용한 작업입니다. 이전 OS 릴리스를 유지하고 레거시 카메라 시스템을 계속 사용하는 이유는 다음과 같습니다.
- 아직 Python 인터페이스가 없습니다. Picamera2라는 이름의 기존 Picamera의 대안이 개발 중입니다. 이것 역시 윈도우 및 그래픽 기능과 같은 것에 접근하기 위해 확립된 파이썬 라이브러리와 훨씬 더 직접적으로 통합될 것입니다. Picamera2는 라즈베리파이에 의해 개발될 것이며(Picamera 자체가 실제로 타사 코드인 것과는 달리) 이는 지원과 지속적인 향후 개발을 용이하게 할 것입니다.
- 현재 libcamera 내에서 스테레오 이미징에 대한 지원은 없지만 향후 개발 계획에 있습니다.
- X Windows를 동시에 사용하려는 저전력 라즈베리파이(예: Zero) 사용자는 레거시 스택을 사용하여 더 나은 카메라 성능을 얻을 수 있습니다. 이는 GPU에서 더 많은 작업을 수행하고 ARM 코어에서는 덜 수행하기 때문입니다(어떤 경우에는 X Windows에서 어려움을 겪을 수 있음 ). libcamera-apps는 X Windows가 실행되지 않거나 라이브 비디오 창이 필요하지 않을 때 이러한 시스템에서 여전히 잘 작동합니다.
- libcamera에는 여전히 몇 가지 알려진 문제가 있습니다.
알려진 문제점 : https://www.raspberrypi.com/documentation/accessories/camera.html#known-issues
위에서 언급한 바와 같이, 이전 Buster 릴리스를 사용하고자 하는 분들을 위해 여전히 다운로드가 가능합니다. https://downloads.raspberrypi.org/raspios_armhf/images/raspios_armhf-2021-05-28/
어떻게 libcamera를 시도합니까?
새로운 Bullseye OS 사용자는 libcamera 앱이 사전 설치되어 더 이상의 개입 없이 작동할 것입니다. 더 이상 "enable the camera"할 필요도 없습니다. 연결만 하면 됩니다. 초기 릴리스에는 몇 가지 알려진 문제가 있습니다.
- X Windows에서 실행할 때 미리 보기(preview)는 라즈베리파이 Zero 또는 라즈베리파이1, 2 또는 3 장치에서 작동하지 않습니다. 라즈베리파이4 사용자 또는 X Windows를 사용하지 않는 사용자는 영향을 받지 않습니다.
- 라즈베리파이 카메라 모듈 2, 라즈베리파이 카메라 모듈 2 NoIR 및 라즈베리파이 HQ 카메라는 아직 새로운 라즈베리파이 Zero 2 W에서 작동하지 않습니다.
이 두 가지 문제는 곧 수정될 것입니다.
한편 최신 버전의 버스터 사용자는 apt 저장소에서 libcamera-apps를 설치할 수 있습니다. https://www.raspberrypi.com/documentation/accessories/camera.html#binary-packages
새 애플리케이션 시작에 대한 자세한 정보는 많은 예제 명령이 있는 공식 문서 페이지에서 찾을 수 있습니다. https://www.raspberrypi.com/documentation/accessories/camera.html#libcamera-hello 감사합니다.
|