DANH MỤC TÀI LIỆU
Giới thiệu giải pháp phần cứng cho bài toán thị giác máy trên nền linux nhúng
Giới thiệu giải pháp phần cứng cho bài toán thị giác máy trên
nền linux nhúng
nm, lamnt
Trung tâm phát triển công nghệ FPT
1 Giới thiệu về thị giác máy – Computer Vision
Thị giác máy là một lĩnh vực đã và đang rất phát triển. Khái niệm thị giác máy –
Computer vision có liên quan tới nhiều ngành học và hướng nghiên cứu khác nhau. Từ
những năm 1970 khi mà năng lực tính toán của máy tính ngày càng trở nên mạnh mẽ
hơn, các máy tính lúc này có thể xử lý được những tập dữ liệu lớn như các hình ảnh, các
đoạn phim thì khái niệm và kỹ thuật về thị giác máy ngày càng được nhắc đến và nghiên
cứu nhiều hơn cho tới ngày nay.
Hiện tại lĩnh vực được các chuyên gia đánh giá là vẫn còn “non nớt” và có rất nhiều
sự thay đổi trong thời gian tới.
1.1 Thế nào là thị giác máy
Thị giác máy bao gồm lý thuyết và các kỹ thuật liên quan nhằm mục đích tạo ra một
hệ thống nhân tạo có thể tiếp nhận thông tin từ các hình ảnh thu được hoặc các tập dữ
liệu đa chiều.
Đối với mỗi con người chúng ta, quá trình nhận thức thế giới bên ngoài là một điều
dễ dàng. Quá trình nhận thức đó được “học” thông qua quá trình sống của mỗi người. Tuy
nhiên với các vật vô tri vô giác như như các máy tính, robot v..v thì điều đó quả thực là
một bước tiến rất gian nan. Các thiết bị ngày nay không chỉ nhận thông tin ở dạng tín hiệu
đơn lẻ mà nay còn có thể có cái “nhìn” thật với thế giới bên ngoài. Cái “nhìn” này qua quá
trình phân tích, kết hợp với các mô hình như máy học, mạng nơron v..v sẽ giúp cho thiết
bị tiến dần tới một hệ thống nhân tạo có khả năng ra quyết định linh hoạt và đúng đắn hơn
rất nhiều.
Lĩnh vực nghiên cứu của thị giác máy rất rộng, và đặc điểm chung là các bài toán
về thị giác máy tính đều không có một đề bài chung và cách giải duy nhất. Mỗi giải pháp
giải quyết vấn đều được một kết quả nhất định cho những trường hợp cụ thể.
Ta có thể thấy sự tương quan giữa Computer vision với các lĩnh vực khác như sau:
Ảnh 1. Quan hệ giữa thị giác máy tính với các lĩnh vực liên quan
1.2 Ứng dụng
Một vài lĩnh vực mà Computer Vision được ứng dụng có thể kể tới như sau:
Điều khiển tiến trình (ví dụ: trong các robot công nghiệp, hay các thiết bị, xe tự
hành)
Phát hiện sự thay đổi (ví dụ: các thiết bị giám sát)
Tổ chức thông tin (ví dụ: chỉ số kho dữ liệu các ảnh hoặc chuỗi ảnh liên tục)
Mô hình hoá đối tượng (ví dụ: quá trình kiểm tra trong môi trường công nghiệp, xử
lý ảnh trong y học)
Tương tác (đóng vai trò làm đầu vào cho thiết bị trong quá trình tương tác giữa
người và máy)
2 Các giải pháp phần cứng khả dụng hiện nay
Để giải bài toán xử lý bằng hình ảnh, ta có rất nhiều giái pháp khác nhau. Từ phần
cứng cho tới các module phần mềm. Ta có thể điểm qua một vài phương pháp hay được
sử dụng và có hiệu quả cao như sau.
2.1 FPGA
Đây là giải pháp về phần cứng mà hay được sử dụng hiện nay. Tận dụng đặc tính
của FPGA là linh hoạt và tốc độ xử lý nhanh (cứng hoá các giải thuật). Ta có thể kết nối
FPGA với các CCD sensor để điều khiển và nhận các frame hình thông qua bus dữ liệu
tốc độ cao.
Ví dụ ta có thể tham khảo mô hình của CCD Sensor MT9T001 của Micron như sau:
Ảnh 2 : CCD Sensor MT9T001 của hãng Micron
Ta có thể thao tác trực tiếp vào các thanh ghi điều khiển của MT9T001 thông qua
bus TWI, và lấy các frame hình qua bus data 10bit. FPGA có tốc độ nhanh sẽ làm nhiệm
vụ điều khiển MT9T001 và lấy dữ liệu liên tục từ data bus sau đó đưa vào bộ nhớ tạm để
xử lý.
2.2 DSP Processor
DSP Processor được giới thiệu đầu tiên vào những năm 1978, 1979 bởi Intel, Bell
Labs. Các bộ xử lý DSP có những đặc tính nổi bật như sau:
Thích hợp cho các quá trình cần xử lý theo thời gian thực
Hiệu năng được tối ưu với dữ liệu dạng luồng
Chương trình và dữ liệu được bố chí riêng biệt (kiến trúc Harvard)
Tích hợp các chỉ thị lệnh đặc biệt SIMD (Single Instruction, Multiple Data)
Không hỗ trợ đa nhiệm
Tương tác trực tiếp với bộ nhớ của thiết bị
Tích hợp sẵn ADC và DAC
Ảnh 3. Mô hình của một DSP Processor
DSP Processor ngày nay đã được tích hợp nhiều thành phần khác nhau, làm tăng
khả năng linh hoạt và tốc độ xử lý. Đặc biệt các DSP Processor rất thích hợp cho những
nhu cầu cần tính toán nhanh, xử lý số thực. Đặc biệt một số còn có sẵn những chỉ thị lệnh
giúp cho việc tính toán ma trận, tích chập hay thậm chí các phép biến đổi DCT trong quá
tình nén ảnh. Với những ưu điểm đó DSP Processor được dùng trong nhiều thiết bị xử
ảnh chuyên nghiệp.
2.3 Mainboard, laptop
Đây là một trong những phương pháp đơn giản nhất. Có thể tận dụng các
mainboard máy tính hay thậm chí các máy tính xách tay với chức năng là một đơn vị xử lý
ảnh, và đưa ra quyết định. Với việc kết nối một camera hay webcam ta hoàn toàn chủ
động trong quá trình nhận/xử lý ảnh. Các giao tiếp ngoại vi phổ biến như UART, Parallel,
USB hay Keyboard.
Việc sử dụng mainboard, laptop sẽ có những ưu/ nhược điểm sau:
Ưu điểm
Có tốc độ xử lý cao
Dễ dàng lập trình, kiểm lỗi
Hệ điều hành quen thuộc (windows/linux)
Các công cụ lập trình/biên dịch phổ biến (MSVC, gcc)
Nhược điểm
Kích thước, khối lượng lớn
Dễ hư hỏng do va đập hay các tác nhân khác
Giá thành rất đắt (>600$)
Có quá nhiều thành phần không sử dụng đến
Chỉ có thể giao tiếp với ngoại vi thông qua các chuẩn phổ biến như UART, USB
2.4 Main công nghiệp, PC 104
Ảnh 4. Mainboard pc-104, kích thước 90.17mm × 95.89mm
Ta có thể sử dụng mainboard PC104 với các chức năng như một máy tính thông
thường. Việc sử dụng PC104 sẽ có những ưu/ nhược điểm sau:
Ưu điểm
Có tốc độ xử lý cao
Dễ dàng lập trình, kiểm lỗi
Hệ điều hành quen thuộc (windows/linux)
Các công cụ lập trình/biên dịch phổ biến (MSVC, gcc)
Nhược điểm
Kích thước lớn
Có quá nhiều thành phần không sử dụng đến
Giá thành đắt (>300$)
Chỉ có thể giao tiếp với ngoại vi thông qua các chuẩn phổ biến như UART, USB
2.5 Single Board Computer(SBC) sử dụng Single on Chip (SoC)
Ảnh 5. SBC uDimm, Kích thước 43.18x68.58 mm.
SBC (Single board computer) có sử dụng các SoC là buớc tiến lớn trong việc xây
dựng thiết bị với khả năng tính toán và xử lý như một máy tính thông thường.Với nhiều ưu
điểm hơn hẳn so với các thiết bị khác như :
Kích cỡ
Giá thành.
Sử dụng các SoC làm bộ xử lý trung tâm có khả năng chuyên biệt về xử lý hình
ảnh hay xử lý trên môi trường mạng rất hữu hiệu.
Do vậy tuỳ và bài toán đặt ra mà ta có thể chọn các SBC cho các SoC phù hợp với
yêu cầu cụ thể. Hiện nay đã có nhiều SoC có khả năng tích hợp các DSP Processor vao
trong nhân nhằm tăng khả năng xử lý (sign processing).
Việc sử dụng mạch SBC sẽ có những ưu/ nhược điểm sau:
Ưu điểm
Kích thước rất nhỏ
Giá thành rẻ (~<100$)
Hỗ trợ SPI, I2C, I2S, MMC, SDCard, UART, USB2.0/1.1 v..v
Có tốc độ xử lý cao
Sử dụng hệ điều hành Linux
Được sự hỗ trợ rất lớn của cộng đồng mã nguồn mở. Từ HĐH, kernel hay rất nhiều
các ứng dụng
Các công cụ biên dịch phổ biến gcc
Các công cụ hỗ trợ lập trình rất nhiều. Eclipse, Vim, Emacs v..v
Nhược điểm
Việc chạy/kiểm thử phải thực hiện giả lập trên máy tính trước khi đưa vào mạch
Am hiểu kiến thức về các giao tiếp ngoại vi, kiến trúc về SBC
3 Đâu là cách tiếp cận dễ dàng và nhanh chóng nhất ?
Theo quan điểm của chúng tôi, cách tiếp cận nhanh chóng nhất với các bạn sinh
viên đó là tận dụng môi trường mã nguồn mở hiện nay. Với mã nguồn mở các bạn có thể
sử dụng lại những thành quả của cộng đồng và phát triển, sáng tạo những cái riêng cho
mình một cách dễ dàng và nhanh chóng nhất.
Chúng ta có thể sử dụng HĐH Linux làm môi trường chính cho thiết bị, với mã
nguồn mở ta có thể chủ động đuợc cấu hình của hệ thống, tăng hiệu năng hay xử lý thô
với các giao tiếp ngoại vi bên ngoài một cách nhanh chóng và thuận tiện nhất. Điều đáng
quan tâm nữa là ta có thể có được sự trợ giúp (miễn phí) rất lớn cộng đồng mã nguồn
mở. Đây là điều mà môi trường mã nguồn đóng như Microsoft chưa có thể có được.
3.1 Phần cứng
Ta có thể tận dụng lợi thế của các SBC có sử dụng SoC để làm phần cứng cho các
thiết bị trong bài toán thị giác máy. Lợi thế của sự chọn lựa này là các mạch SBC giá rẻ và
rất linh hoạt giúp cho nguời thiết kế tập trung hơn vào các module phần mềm.
Ta có thể điểm qua một vài mạch SBC như sau:
Mạch NSLU2
Các thông số kỹ thuật
Hãng sản xuất Linksys
Kiến trúc ARM
Sử dụng bộ VĐK SoC, Intel IXP420. Tốc độ 533MIPs
32MB Bộ nhớ SDRAM , 8MB Flash
Hai cổng USB 2.0 Host
Hai cổng Ethernet
Giao tiếp UART với tốc độ 900Kb/s
16 cổng lập trình được (GPIO)
Giá ~<100$
Mạch AT91RM9200
Các thông số kỹ thuật
thông tin tài liệu
Thị giác máy bao gồm lý thuyết và các kỹ thuật liên quan nhằm mục đích tạo ra một hệ thống nhân tạo có thể tiếp nhận thông tin từ các hình ảnh thu được hoặc các tập dữ liệu đa chiều
Mở rộng để xem thêm
từ khóa liên quan
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×