[Hỏi] Object Detection: Xác định,so sánh vị trí các đối tượng

classification
object-detection
computer-vision

#1

Chào mọi người Mình đang làm bài toán về Object Detection và Classification, mọi việc đều ổn mình đã xác định và nhận dạng được đối tượng, tuy nhiên có một vấn đề mình chưa làm được nên nhờ mọi người tư vấn. Sau khi xác định được các đối tượng, tiếp theo mình muốn kiểm tra xem các đối tượng đó có xếp gần nhau không? ví dụ nó được xếp trên một đường thẳng.

Cụ thể: bài toán của mình là xác định các khối, hộp (hộp sữa, chai nước…), mình cần xác định là 2 hộp A,B có xếp gần nhau hay kg?

Mình kg rõ có các hàm xây dựng sẳn từ Python có thể giải quyết vấn đề này không? về mình mình đang nghĩ tới các phương pháp tính tọa độ trên tấm hình nhưng chưa thử vì chưa tin tưởng lắm :).

Không biết trong forum có ai đã từng làm qua chưa, nếu có cho mình xin chút gợi ý hay từ khóa để mình tìm hiểu thêm.

Cảm ơn mọi người.


#2

Định nghĩa xếp gần nhau của bạn là gì? Nếu chỉ đơn giản theo chiều không gian thì tính trọng tâm của bounding box, rồi xem xét khoảng cách giữa các trọng tâm đó.

Ngoài ra nếu 2 vật ở hai chỗ khác nhau theo chiều sâu (depth) thì sẽ khó hơn. Cái này cần thêm 1 cái gọi là depth information. Đơn giản nhất để loại trừ đó là diện tích bounding box (nếu object biết có kích thước tương tự nhau theo tỉ lệ nào đó biết trước), đơn giản hơn và dùng cho nhiều trường hợp hơn thì dùng lý thuyết depth from focus. Vật ở xa thì mờ (blur) ở gần thì sắc nét hơn.


#3

Cảm ơn bạn Trước tiên mình cũng chỉ cần so sánh các đồi tượng trên cùng một mặt phẳng thôi, chưa tính tới độ sâu của từng đối tượng. Mình cũng đã nghĩ tới cách này để mình thử xem thế nào :slight_smile:

Trân trọng


#4

Ngoài ra bạn tính vùng overlap giữa 2 bounding box cũng là một cách. Trong trường hợp 2 bounding box bị đè lên nhau --> đoán là nó gần nhau.

Tuy nhiên cần lưu ý các trường hợp bounding box bị sai --> cần thêm một số bước refinement tùy vào kết quả, điều kiện bài test.


#5

Cảm ơn bạn nhiều Tiện thể cho mình hỏi luôn do bạn có nói tới bounding box, Mình dùng Faster R-CNN, đôi khi bounding box không được như ý, thường thì lệch so với đối tượng mình cũng đang muốn tối ưu cái này, bạn có thể tư vấn cho mình vài gợi ý dc kg? :slight_smile: Mình có thử tăng giảm khoảng cách,size và tỷ lệ các anchor box nhưng kết quả chưa rõ ràng lắm


#6

Cách đầu tiên là kiếm cái detector nào có giá trị Intersection of Union nhỏ (vùng bounding box dự đoán có độ sai lệch nhỏ so với vùng bounding box của nhãn). =))

Cách thứ hai là tăng giá trị weight cho thằng bounding box regression --> ép nó dự đoán chính xác hơn. Tuy nhiên cái này có thể dẫn đến làm giảm độ chính xác chung.

Cách thứ 3. Chạy hết lại với test dataset, show kết quả IOU của từng class, xem trường hợp tệ nhất là gì, lý do nó bị sai là gì. --> thêm một bước hậu xử lý để cải thiện IOU hoặc giả cho mình biết kết quả bounding box là không đáng tin cậy. Có thể xử lý riêng trong trường hợp kiểm tra 2 vật thể có gần nhau ko