PIC Vietnam

Go Back   PIC Vietnam > Robotics > Xử lý ảnh

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Xử lý ảnh Các thuật toán xử lý ảnh dùng trong robot

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 12-04-2006, 06:28 PM   #1
imaging
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 6
:
Em có vấn đề như thế này: có một vật thể hình dạng bất kỳ trong ảnh (đã phân ngưỡng thành nhị phân, vật là 1 nền là 0) muốn tính diện tích của nó. Kính mong bác chỉ giáo
imaging vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-04-2006, 08:57 PM   #2
imaging
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 6
:
Trích:
Nguyên văn bởi chungtanlam
còn về giải thuật tìm toạ độ các điểm thuộc vật thể đã được Threshold thì không có vấn đề gì phải không.
Cám ơn bác nhiều. Xin bác chỉ giáo về thuật toán này. Cái calib tính sau vì camera cố định và cảnh cũng tương đối cố định.
imaging vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-04-2006, 09:42 PM   #3
equation
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 3
:
Smile bạn có thể dùng thuật toán Connected Component để giải quyết vấn đề này.

Chào bạn, mình nghe câu hỏi của bạn có vẻ giống câu hỏi hồi mới đầu mình bước chân vào lãnh vực xử lý ảnh. Có phải ý bạn muốn tính diện tích 1 vật có hình dạng bất kỳ trong 1 ảnh nhị phân không, đúng không? Như vậy trước hết mình cần quy ước rõ 1 vật ở đây là 1 tập hơp các pixel kết nối với nhau (connected). Thông thường tùy thuộc vào threshold chọn mà bạn có 1 ảnh " trong sạch" đến mức nào, tức là có nhiều noise hay chỉ 1 vật duy nhất. Nếu threshold của bạn tốt thì trong ảnh nhị fân chỉ còn duy nhất vật mà bạn cần. Nhưng trường hợp thông thường nhất là trong ảnh nhị fân ngoài vật ta cần tính còn có 1 số pixel giá trị 1 đứng riêng biệt. Do vậy ta không thể scan hết ảnh mà đếm pixel giá trị 1 để tính diện tích của vật cần tìm. Vấn đề chủ yếu của ta đặt ra ở đây là tìm những pixel giá trị 1 nào connect với nhau tạo nên vật ta cần tính diện tích. Để giải quyết vấn đề này, bạn hãy dùng thuật toán Connected Component Labelling. Kết quả của thuật toán này là các pixel của cùng 1 vật sẽ mang cùng 1 giá trị label. Như vậy, dựa trên các giá trị label này, bạn có thể biết được có bao nhiêu object trong ảnh nhị fân cũng như những pixel nào tạo nên vật bạn cần tính diện tích. Sau đó, việc sau cùng bạn phải làm chỉ là scan và đếm các pixel có cùng 1 label tạo nên vật mà bạn muốn tính diện tích. Số lượng pixel này chính là diện tích của vật cần tìm. Hy vọng là những suy nghĩ của mình có thể giúp ích cho bạn. Chúc bạn thành công.
Ps: Mình attach sơ đồ tóm tắt cho thuật toán Connected Component dưới đây. Thuật toán này có 2 kiểu: đệ quy và bình thường.
File Kèm Theo
File Type: ppt report_13_october.ppt (86.5 KB, 710 lần tải)
equation vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-04-2006, 12:03 AM   #4
volvo
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 7
:
Theo mình được biết, để giải bài toán này cần phải biết thông số của camera như góc mở, tiêu cự ....
volvo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-04-2006, 01:00 AM   #5
T&T
Nhập môn đệ tử
 
T&T's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 4
:
Exclamation

Thực ra, ngay khi đã biết tất cả các thông số của camera thông qua camera calibration, chúng ta cũng không thể tính toán được "diện tích thực" của vật.

Bởi giữa 2 chiều ngang và dọc của hình.

-Thông số bên ngoài: là sự tương quan giữa tọa độ camera và tọa độ gốc (một tọa độ nào đó mà ta chon trước - quan trọng trong tracking hay mobile robot).

Như vậy, ta có thể thấy, sau khi calibrate camera, từ 1 điểm ảnh nào đó, ta chỉ có thể biết phương hướng của nó so với camera mà thôi, khoảng cách của nó so với camera không thể biết được nếu ta chỉ chụp 1 ảnh ở cùng 1 vị trí. Muốn có được khoảng cách giữa vật và camera, cách duy nhất là phải có 2 camera trở lên (các camera này đều đã được xác định thông số) đặt ở 2 (hoặc nhiều nếu nhiều camera) vị trí khác nhau (cái này gọi là stereo vision - mình đang đau khổ với nó đây ). Các vị trí tương quan của camera phải được xác định Việc xác định vị trí của vật thông qua vị trí tương quan đó và hướng của vật so với camera (thông qua vị trí của nó trên hình). Phần còn lại chỉ là bài toán hình học không gian mà thôi.

Nói tóm lại, nếu bạn muốn tính "diện tích thực tế" của vật, bạn phải làm nhiều công đoạn như vậy. Còn nếu bạn chỉ cần tính diện tích trên hình mà thôi thì có lẽ equation cũng nói khá kỹ rồi. Tuy nhiên, thực tế, những tool về xử lý ảnh đều có hàm này (đơn cử là tool OpenCV - bạn có thể tìm trên mạng - cái này mình đã dùng rồi, khá đơn giản và dễ dùng).

Còn cái phần Computer Vision, có thể em sẽ giúp anh Lâm trình bày cho, cũng có khá nhiều vấn đề hay ho,
__________________
_________________________________________
T&T -> that's me

thay đổi nội dung bởi: falleaf, 26-06-2006 lúc 04:50 PM.
T&T vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-04-2006, 01:08 AM   #6
T&T
Nhập môn đệ tử
 
T&T's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 4
:
Ặc ặc, bị equation chỉnh dữ quá, từ nay em xin chừa ko nói bậy nữa (
__________________
_________________________________________
T&T -> that's me

thay đổi nội dung bởi: T&T, 13-04-2006 lúc 03:45 PM.
T&T vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-04-2006, 01:58 AM   #7
imaging
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 6
:
Trích:
Nguyên văn bởi T&T
Cái này equation hơi nhầm 1 tí. Đây chỉ là trường hợp vật dạng khối đặc mà thôi. Đôi lúc (có lẽ là thường xuyên), sẽ có những lỗ khác giá trị pixel (ví dụ có nhãn mác, màu sắc khác chẳng hạn) cho dù có threshole tốt đến đâu nữa.
Lúc bấy giờ chỉ còn trông đợi vào đường biên mà thôi
Như vậy theo bác T&T thì thuật toán của bác equation không giải quyết triệt để được vấn đề tính diện tích (trong ảnh thôi) của vật thể bị hole?. Vậy bác có thuật toán giải quyết không, xin được chỉ giáo. (Tất nhiên OpenCV tốt rồi nhưng nhiều trường hợp không dùng được và làm nặng hệ thống).
imaging vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-04-2006, 09:48 AM   #8
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
1) Anh Chung Tấn Lâm
2) Cu T củ chuối, spam thiệt... hehehe...

Đùa chút thôi, F đang theo dõi và học các bạn, các anh về xử lý ảnh vì không làm về lĩnh vực này nên không biết gì nhiều

Cho F hỏi chút thôi, nếu camera thay đổi được tiêu cự thì có đo khoảng cách đến vật được không? Khi có một điểm làm gốc chuẩn bên trong camera, thì khi camera focus vào một vật nào đó, thì có thể xác định khoảng cách từ camera đến vật không nếu biết vật chuẩn và tiêu cự của camera.

Nếu được thì đầu tiên mình nên giới hạn thảo luận bài toán bằng webcam!?
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-04-2006, 09:52 AM   #9
sinhluc
Nhập môn đệ tử
 
Tham gia ngày: Apr 2006
Bài gửi: 9
:
neu bai toan nhu chi nhu ban noi: khoảng cách cô dịnh, da dc ma hoa vat la 1, nen là 0, moi pixel chi la mot bit,can tinh dien tich cua vật, neu khong can chinh xac lắm thi rat don gian. bạn chi can dem tong so bit 1 tren toan bo buc anh roi nhan voi dien tich thuc te cua vat the khi khi no bieu dien băng mot pixel, dien tich thuc te nay ban co the thu 1 lan la biet.
vi du mot vat co dien tich la 1 cm2 ban dem dc 100bit 1 thi moi bit mot tuong duong 1mm2, tu do ban nhan so bit mot cua mot dem dc voi 1mm2 se
Tuy nhien do lam the co nghia la minh coi 1 vat the la mot to hop khong lien nhau.
neu bạn mon tinh mot vat the la mot mang lien nhau thi phai phan tich them 1 chut

do la cach don gian nhat , con nhieu cach khac phuc tap doi hoi chinh xac cao, noi chung chi xu li phan mem la co the dat dc ket qua chinh xac den muc chap nhan dc , van de la minh can den do chinh xac nhu the nao, vi cau hoi cua ban chung chung nen minh chi co the tra loi nhu the, hay noi ro hon.
sinhluc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-04-2006, 10:03 AM   #10
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Vấn đề imaging đề ra, đó là chẳng lẽ quét hết, đếm hết từng điểm. Làm như vậy thì đến tết công gô mới xong.

Tuy nhiên, vấn đề của imaging vẫn chưa rõ ở chỗ là diện tích vật thật hay số pixel trên máy nhận được?

F muốn học cái xử lý ảnh này mà xem ra hơi khó hiểu
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-04-2006, 10:09 AM   #11
equation
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 3
:
Wink Mình không nhầm đâu bác T&T à!

Thực ra thuật toán Connected Component mà mình đã dùng để giải quyết vấn đề xác định vị trí 1 object bất kì trong ảnh nhị phân. Cho dù trong vật có lỗ thì nó cũng xác định được cả vật trong lỗ và bản thân vật ấy chứ không phải như T&T nói là chỉ dùng cho vật solid đâu. Mình làm cái face detection cũng phải giải quyết cả vấn đề xác định các object này. Đôi khi trong hốc mắt sau khi skin segmentation thành ảnh nhị phân vẫn còn lại những nhóm pixel giá trị 1=>trường hợp này ta có vật trong vật. Tuy nhiên Connected Component Labelling vẫn giúp ta phân biệt được các vật này với nhau chứ không nhất thiết chỉ dùng cho solid. Đây là ưu điểm của Connected Component so với chỉ dùng histogram để xác định vị trí vật trong ảnh. Bài toán giải quyết vật trong vật là 1 bài tập mà giáo sư mình cho ra khi làm program về Connected Component này. Bạn Imaging có thể yên tâm thử thuật toán này nhé. Nếu bạn cần thì mình có thể share với bạn đoạn code của Connected Conponent.
equation vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-04-2006, 01:43 PM   #12
T&T
Nhập môn đệ tử
 
T&T's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 4
:
ĐÚng là Connected Component Labelling giúp ta phân biệt được vật trong vật, có thể cả nhiều vật lồng nhau. Tuy nhiên, mục đích của bạn imaging chỉ là tính diện tích của vật lớn mà thôi bao gồm cả các vật bên trong nữa). Như vậy, nếu làm theo phương pháp Connected Component Labelling, sau khi labelled các object xong, bạn phải cộng tất cả lại mới có vật lớn. Ví dụ như có 1 vật hình vuông màu trắng, bên trong là hình tròn màu đen. Connected Component Labelling sẽ cho ra 2 vật là hình vuông rỗng và hình tròn, trong khi ta chỉ cần tính diện tính của cả hình vuông lớn bên ngoài (đó mới là object cần tính). Có nghĩa là ta phải cộng cả 2 vật mà Connected Component Labelling xác định được, như vậy hơi tốn chút công sức .

(Đang làm cái assignment Neural network mai nộp - sẽ bàn tiếp )
__________________
_________________________________________
T&T -> that's me

thay đổi nội dung bởi: T&T, 13-04-2006 lúc 01:47 PM.
T&T vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-04-2006, 01:10 PM   #13
imaging
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 6
:
Trích:
Nguyên văn bởi T&T
Muốn có được khoảng cách giữa vật và camera, cách duy nhất là phải có 2 camera trở lên (các camera này đều đã được xác định thông số) đặt ở 2 (hoặc nhiều nếu nhiều camera) vị trí khác nhau (cái này gọi là stereo vision - mình đang đau khổ với nó đây ). Các vị trí tương quan của camera phải được xác định Việc xác định vị trí của vật thông qua vị trí tương quan đó và hướng của vật so với camera (thông qua vị trí của nó trên hình).
Theo em được biết người ta còn sử dụng một camera quay (pan/tilt) và encoder đo góc để xác định khoảng cách từ vật tới camera.
Và để giải quyết một cách chính xác bài toán đo khoảng cách họ thường dùng 1 camera kết hợp với đo xa laser (LMS).
imaging vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-04-2006, 02:34 PM   #14
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Có thể cho mình biết rõ hơn về kỹ thuật này được không? Mình chỉ mới biết 2 kỹ thuật là dùng 2 camera và 1 camera như nói ở trên thôi. Còn kỹ thuật camera quay thì mình chưa biết, vậy bạn có thể giải thích cho mình thêm về kỹ thuật này không? Có hình ảnh mình hoạ thì càng hay.

Chúc vui
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-04-2006, 11:50 PM   #15
imaging
Nhập môn đệ tử
 
Tham gia ngày: Mar 2006
Bài gửi: 6
:
Bác F, cái kỹ thuật này em chưa thử nghiệm và đọc được đã lâu rồi, không nhớ chính xác lắm. Cái này tính toán phức tạp (robot là chính) và với cái đầu óc của "thằng bé" như em thì khó có thể hiểu được. Nhưng em hứa sẽ xem lại nhanh nhất và cài đặt thuật toán thử nghiệm. Em post bài báo lên trước nhé rồi cùng thảo luận xem có khả thi không. Kính mong các bác chỉ giáo.
File Kèm Theo
File Type: rar Single Camera Stereo for Mobile Robot.rar (268.3 KB, 800 lần tải)
imaging vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 10:56 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam