Suốt sự kiện ngày hôm qua Google lặp đi lặp lại chữ “computational photography”, ý của họ là việc nhiếp ảnh bây giờ sẽ có sự can thiệp nhiều từ phần mềm chứ không chỉ là về phần cứng, quang học như ngày xưa. Và không chỉ Google, nhiều hãng khác cũng đang đi theo con đường này, từ Apple cho đến BKAV. Trên chiếc Bphone 3 mới ra mắt, bạn thấy là BKAV chỉ sử dụng duy nhất 1 camera mà thôi và vẫn có khả năng chụp chân dung xóa phông tương tự như các máy Pixel. Computational photography đang dần trở thành một xu hướng mới trên thị trường di động.

Ở tâm điểm của Google Pixel hay Bphone 3 là một thuật toán tên DeepLab v3. Đây không phải là thuật toán chụp ảnh, nó rộng hơn thế nhiều. Thuật toán DeepLab v3 là thuật toán phân lớp các đối tượng trong khung hình, áp dụng được cho cả video và ảnh tĩnh. Nó có thể bóc tách từng vật thể ra khỏi ảnh bằng cách quan sát, học hỏi và nhận biết sự thay đổi mật độ và tính chất của các pixel trong tấm hình.

​ Kĩ thuật này được gọi là Semantic Image Segmentation và Google có đưa ra một loạt công cụ để các lập trình viên biến nó thành sản phẩm thực tế (Tensorflow, một thư việc machine learning, deep learning nổi tiếng). Để nhận biết được các chủ thể, DeepLab v3 sử dụng CNN – Convolutional Neural Network – dịch sang tiếng Việt là “mạng tích chập”. Bạn có thể tưởng tượng CNN hoạt động giống như bộ não của chúng ta, nó sẽ xử lý hình ảnh nhiều lần, mỗi lần xử lý một khía cạnh khác nhau trước khi tổng hợp thông tin lại để phân biệt được các vật thể trong ảnh. Bên dưới là sơ đồ xử lý, bạn coi sơ qua thôi chứ cái này giải thích kĩ hơn nữa thì khó lắm :D



Đang tải image2.png…


Kết quả của thuật toán này đó là nó có thể bóc tách rất chính xác chủ thể ra khỏi nền. Sau khi bóc xong thì nền có thể được thay thế bằng nền khác, hoặc lấy nền cũ làm mờ đi cũng được. Còn lớp chủ thể thì vẫn giữ nguyên, sau đó đem đè lên nền là xong. Như trong ảnh dưới bạn có thể thấy được cách mà thuật toán này chạy.



Đang tải 4263668_Phan_loai.png…

​ Thuật toán này hay ở chỗ có thể thay thế được cho camera kép bởi camera kép trên điện thoại hiện nay cũng vận dụng nguyên lý tương tự để chụp chân dung. Thay vì sử dụng thuật toán để tách chủ thể, nó sử dụng thêm camera thứ hai để ghi nhận thông tin chiều sâu (là khoảng cách của chủ thể với nền), sau đó dùng phần mềm để tạo hiệu ứng cho nền đẹp hơn, mờ hơn, bokeh lên ngon hơn. Theo lý thuyết thì đo bằng phần cứng sẽ chính xác hơn so với phần mềm, vậy mà kết quả từ thuật toán của Google có thể tiệm cận được với đo vật lý thì thật sự đáng nể.

Quay trở lại với Google Pixel và Bphone 3, DeepLab v3 đã được Google mở mã nguồn hồi đầu năm nay. DeepLab đang được sử dụng cho chiếc Google Pixel 1, Pixel 2, Pixel 3 và cũng là lý do vì sao Pixel có khả năng chụp chân dung ấn tượng tuy nó chỉ có 1 camera duy nhất.

Việc Google mở mã nguồn của DeepLab có nghĩa là các nhà sản xuất khác cũng có thể xài nó cho các thiết bị của mình. Các lập trình viên bên thứ ba cũng xài được DeepLab cho app của họ mà không phải viết lại từ đầu vì chuyện build ra được một thứ như DeepLab rất phức tạp, cần nhiều thời gian, công sức cũng như hiểu biết về lĩnh vực deep learning nên không phải ai cũng tự làm được. Nhờ Google, BKAV và các hãng điện thoại khác có thể triển khai thuật toán nhận diện, bóc tách chủ thể nhanh chóng hơn, đỡ tốn thời gian hơn và không cần nhiều kĩ sư AI như việc xây mới từ đầu thuật toán của riêng BKAV.



Đang tải chup_anh_bphone_3.jpg…


Đây cũng là những tiến bộ của trí tuệ nhân tạo trong những năm gần đây, nó cho phép nhiều người, nhiều công ty hơn có thể tiếp cận với các kĩ thuật xủ lý bằng AI thay vì tồn tại như một thứ gì đó hàn lâm nhiều năm về trước. Và AI giờ đã ảnh hưởng sâu sắc tới cách bạn chụp ảnh, đến mức nó giả lập được gần giống hiệu ứng xóa phông của camera kép trong khi phần cứng chỉ cần sử dụng 1 camera đơn thì bạn thấy nó khủng khiếp tới cỡ nào.

Computational photography còn thể hiện ở việc sử dụng thuật toán thông minh để điều chỉnh hệ số phơi sáng, màu sắc, cân bằng trắng, độ nét… theo thời gian thực. Để chỉnh các thông số này thì không khó, thị trường camera và điện thoại đã sử dụng các cảm biến cũng như thuật toán để chỉnh tự động từ lâu rồi. Nhưng cái khó là chỉnh sao cho đẹp, đó là cái không phải hãng nào cũng làm được.



Đang tải 20171016-pixel-2-camera-components-01.jpg…


Vậy mà Google có thể làm được. Họ có một dữ liệu hàng triệu tấm ảnh “đẹp” nhờ các dịch vụ như Google Photos hay thông qua con bot đi quét các trang web, họ dạy cho model của Google Pixel biết các bộ thông số “đẹp” là như thế nào, áp dụng cho hoàn cảnh nào, để rồi kết quả là Pixel có thể chụp ra ảnh tốt hơn nhiều.

Computational photography có vai trò quan trọng trong việc giúp cho mọi người đều có thể có được ảnh đẹp, không nhất thiết phải là những người có kiến thức sâu trong ngành nhiếp ảnh. Mục tiêu tối thượng là giơ lên chụp là xong, không cần nghĩ gì thêm và bạn luôn an tâm rằng mình có một tấm ảnh tốt. Đây cũng là ước mơ của tất cả mọi nhà sản xuất điện thoại kể từ khi họ đem máy ảnh lên điện thoại, chỉ là hãng nào có đủ khả năng thực thi mà thôi.

Xu hướng computational photography sẽ tiếp tục nở rộng trong thời gian tới, và không chỉ có Bphone 3 mà cả những điện thoại tầm trung, điện thoại giá rẻ khác cũng có thể xài được những thuật toán kiểu như DeepLab v3 nhờ bộ xử lý di động ngày càng mạnh mẽ hơn. Nói cách khác, bạn sẽ vẫn có ảnh đẹp mà không phải chi quá nhiều tiền cho các máy flagship như trước nữa.