You can't use canvas for pixel-perfect collision with physics. It doesn't work that way. Physics doesn't do per-pixel.
If you want custom collision masks for objects, use the Custom mask and edit the points on your physics objects.
Either that or use a different method to move your objects other than physics.
But whatever you do, it's not a good idea to use a gigantic canvas like that because it eats VRAM. The entire size of the canvas and all it's contents are stored as a texture in your video card's memory, and that's a huge texture. I suggest you make up your level out of smaller tiles, even if you have to draw 30 kinds of tiles to build the sort of shapes you want... it will run much better in the final game.